diff --git a/.gitignore b/.gitignore index 60d85dc4..d236ae74 100644 --- a/.gitignore +++ b/.gitignore @@ -3,139 +3,18 @@ umap/settings/local.py umap/settings/local/* docs/_build umap/remote_static -.idea tmp/* +node_modules/* +umap/static/umap/vendors +site/* +.pytest_cache/ ### Python ### # Byte-compiled / optimized / DLL files __pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so # Distribution / packaging -.Python -env/ build/ -develop-eggs/ dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ *.egg-info/ -.installed.cfg -*.egg -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# IPython Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# dotenv -.env - -# virtualenv -.venv/ -venv/ -ENV/ - -# Spyder project settings -.spyderproject - -# Rope project settings -.ropeproject - - -### macOS ### -*.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 62ce41f2..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "umap/static/darline"] - path = umap/static/darline - url = git://github.com/yohanboniface/Darline.git diff --git a/.travis.yml b/.travis.yml index cca3b66d..2ad23398 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,17 @@ sudo: false language: python +dist: xenial python: -- "2.7" -- "3.4" - "3.5" - "3.6" services: - postgresql +addons: + postgresql: "9.6" + apt: + packages: + - libgdal-dev + - postgresql-9.6-postgis-2.4 env: - UMAP_SETTINGS=umap/tests/settings.py install: diff --git a/.tx/config b/.tx/config index eeb009d1..45e25e76 100644 --- a/.tx/config +++ b/.tx/config @@ -1,10 +1,16 @@ [main] host = https://www.transifex.com -[umap.project] +[umap.backend] file_filter = umap/locale//LC_MESSAGES/django.po source_file = umap/locale/en/LC_MESSAGES/django.po source_lang = en type = PO +[umap.frontend] +file_filter = umap/static/umap/locale/.json +source_file = umap/static/umap/locale/en.json +source_lang = en +type = KEYVALUEJSON + diff --git a/MANIFEST.in b/MANIFEST.in index f9efab73..72725f60 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -3,3 +3,5 @@ include requirements.txt recursive-include umap/static * recursive-include umap/templates * recursive-include umap/locale * +recursive-include ui * +exclude umap/settings/local.py diff --git a/Makefile b/Makefile index 09c76e57..61a540c2 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,54 @@ test: - py.test + py.test -xv umap/tests/ +develop: + python setup.py develop + pip install -r requirements-dev.txt +release: test compilemessages + python setup.py sdist bdist_wheel +test_publish: + twine upload -r testpypi dist/* +publish: + twine upload dist/* + make clean +clean: + rm -f dist/* + rm -rf build/* +compilemessages: + umap compilemessages + umap generate_js_locale +messages: + umap makemessages -l en --ignore node_modules --ignore umap_project.egg-info --ignore __pycache__ --ignore umap/tests + node node_modules/leaflet-i18n/bin/i18n.js --dir_path=umap/static/umap/js/ --dir_path=umap/static/umap/vendors/measurable/ --locale_dir_path=umap/static/umap/locale/ --locale_codes=en --mode=json --clean --default_values +vendors: + mkdir -p umap/static/umap/vendors/leaflet/ && cp -r node_modules/leaflet/dist/** umap/static/umap/vendors/leaflet/ + mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet-editable/src/*.js umap/static/umap/vendors/editable/ + mkdir -p umap/static/umap/vendors/editable/ && cp -r node_modules/leaflet.path.drag/src/*.js umap/static/umap/vendors/editable/ + mkdir -p umap/static/umap/vendors/hash/ && cp -r node_modules/leaflet-hash/*.js umap/static/umap/vendors/hash/ + mkdir -p umap/static/umap/vendors/i18n/ && cp -r node_modules/leaflet-i18n/*.js umap/static/umap/vendors/i18n/ + mkdir -p umap/static/umap/vendors/editinosm/ && cp -r node_modules/leaflet-editinosm/Leaflet.EditInOSM.* umap/static/umap/vendors/editinosm/ + mkdir -p umap/static/umap/vendors/minimap/ && cp -r node_modules/leaflet-minimap/src/** umap/static/umap/vendors/minimap/ + mkdir -p umap/static/umap/vendors/loading/ && cp -r node_modules/leaflet-loading/src/** umap/static/umap/vendors/loading/ + mkdir -p umap/static/umap/vendors/markercluster/ && cp -r node_modules/leaflet.markercluster/dist/** umap/static/umap/vendors/markercluster/ + mkdir -p umap/static/umap/vendors/contextmenu/ && cp -r node_modules/leaflet-contextmenu/dist/** umap/static/umap/vendors/contextmenu/ + mkdir -p umap/static/umap/vendors/heat/ && cp -r node_modules/leaflet.heat/dist/** umap/static/umap/vendors/heat/ + mkdir -p umap/static/umap/vendors/fullscreen/ && cp -r node_modules/leaflet-fullscreen/dist/** umap/static/umap/vendors/fullscreen/ + mkdir -p umap/static/umap/vendors/toolbar/ && cp -r node_modules/leaflet-toolbar/dist/** umap/static/umap/vendors/toolbar/ + mkdir -p umap/static/umap/vendors/formbuilder/ && cp -r node_modules/leaflet-formbuilder/*.js umap/static/umap/vendors/formbuilder/ + mkdir -p umap/static/umap/vendors/measurable/ && cp -r node_modules/leaflet-measurable/Leaflet.Measurable.* umap/static/umap/vendors/measurable/ + mkdir -p umap/static/umap/vendors/photon/ && cp -r node_modules/leaflet.photon/*.js umap/static/umap/vendors/photon/ + mkdir -p umap/static/umap/vendors/csv2geojson/ && cp -r node_modules/csv2geojson/*.js umap/static/umap/vendors/csv2geojson/ + mkdir -p umap/static/umap/vendors/togeojson/ && cp -r node_modules/togeojson/*.js umap/static/umap/vendors/togeojson/ + mkdir -p umap/static/umap/vendors/osmtogeojson/ && cp -r node_modules/osmtogeojson/osmtogeojson.js umap/static/umap/vendors/osmtogeojson/ + mkdir -p umap/static/umap/vendors/georsstogeojson/ && cp -r node_modules/georsstogeojson/GeoRSSToGeoJSON.js umap/static/umap/vendors/georsstogeojson/ + mkdir -p umap/static/umap/vendors/togpx/ && cp -r node_modules/togpx/togpx.js umap/static/umap/vendors/togpx/ + mkdir -p umap/static/umap/vendors/tokml && cp -r node_modules/tokml/tokml.js umap/static/umap/vendors/tokml +installjs: + npm install +testjsfx: + firefox umap/static/umap/test/index.html +testjs: node_modules + @./node_modules/mocha-phantomjs/bin/mocha-phantomjs --view 1024x768 umap/static/umap/test/index.html +tx_push: + tx push -s +tx_pull: + tx pull diff --git a/README.md b/README.md index c65ae66d..a7f637a9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## About uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site. -*Because we think that the more OSM will be used, the more OSM will be ''cured''.* +*Because we think that the more OSM will be used, the more OSM will be improved.* It uses [django-leaflet-storage](https://github.com/umap-project/django-leaflet-storage) and [Leaflet.Storage](https://github.com/umap-project/Leaflet.Storage), built on top of Django and Leaflet. diff --git a/docs/administration.md b/docs/administration.md new file mode 100644 index 00000000..51502752 --- /dev/null +++ b/docs/administration.md @@ -0,0 +1,53 @@ +# Administration + +You can access uMap administration page by navigating to `https://your.server.org/admin` + +You will have to connect with the admin account created during installation. Default admin username is "umap". + +## Icons + +Icons (aka pictograms in uMap sources) can be used in your map markers. + +Icons are not embedded in uMap sources, you will have to add them manually. So you can choose which icons you want to use. + +Example of icons libraries you may want to use: + +- [Maki Icons](https://labs.mapbox.com/maki-icons/) (icon set made for map designers) +- [Osmic Icons](https://gitlab.com/gmgeo/osmic) +- [SJJB Icons](http://www.sjjb.co.uk/mapicons/contactsheet) + +### Import icons manually + +You can import icons manually by going to your uMap admin page: `https://your.server.org/admin` + +### Import icons automatically + +To import icons on your uMap server, you will need to use command `umap import_pictograms` + +Note, you can get help with `umap import_pictograms -h` + +In this example, we will import Maki icons. + +First, we download icons from main site. Inside the downloaded archive, we keep only the icons folder that contains svg files. Place this folder on your server. + +Go inside icons folder and remove tiny icons: `rm *-11.svg` + +Now, we will use imagemagick to convert svg to png. + +`for file in *.svg; do convert -background none $file ${file%15.svg}24.png; done` + +To have white icons use: +`for file in *.svg; do convert -background none -fuzz 100% -fill white -opaque black $file ${file%15.svg}24.png; done` + + +Notes: +- you may also want to resize image with option `-resize 24x` +- this solution is not optimal, generated png are blurry. + +This will convert the svg to png and rename them from `*-15.svg` to `*-24.png` + +Now we will import icons. Note: icons names must end with `-24.png` + +`umap import_pictograms --attribution "Maki Icons by Mapbox" icons` + +Done. Icons are imported. diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 00000000..9608a47a --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,363 @@ +# Changelog + +## 1.2.2 + +- Fix bug in popup inner HTML (cf #776) + +## 1.2.1 + +- minimal RTL support (cf #752) +- fix username URL regex to allow spaces (cf #774) + +## 1.2.0 + +- added translations for ar, ast, et, he, id, is, no, pt-br, pt-pt, si-lk, sr, + sv, th-th, tr +- fixed username not updated when login with OAuth (by @Binnette, cf #754) +- removed protocol from iframe URL (by @Binnette, cf #748) +- fixed icon max-height (cf #143) +- better image and iframe sizing in right panel (cf #184) +- allow to use variables for tooltips (cf #737) +- add a marker on user geolocation (cf #339) +- change arrow direction when "more controls" is active (cf #485) +- add an experimental feature permalink (cf #294) +- fixed edge case where slideshow will run even when inactive +- fixed bug when trying to add a property with a dot in the name (cf #426) + +## 1.1.2 + +- fixed parsing of two iframes +- updated i18n +- upgraded Django to 2.2.1 and psycopg2 to 2.8.1 + +## 1.1.1 + +- downgraded psycopg2 to 2.7.7 (migrations where failing); should be fixed with + Django 2.2.1 +- fixed annoying bug where "load more map" would fail +- allow to filter by share status in admin page + +## 1.1.0 + +- added `Map.BLOCKED` share status, to redact maps issuing legal complaints + (only available through the admin) +- replaced `DictField` by `JSONField` (`umap migrate` needed) +- added `search_fields` and `autocomplete_fields` to MapAdmin +- lowercase `frameborder` in iframe export +- fixed bug in slideshow since renaming of Leaflet.Storage + +## 1.0.0 + +### Upgrading to 1.0 + +- because of the merge of django-leaflet-storage inside umap, the migrations + has been reset, so a bit of SQL needs to be ran by hand: + +```sql +BEGIN; +DELETE FROM django_migrations WHERE app = 'leaflet_storage'; +DELETE FROM django_migrations WHERE app = 'umap'; +ALTER TABLE leaflet_storage_datalayer RENAME TO umap_datalayer; +ALTER TABLE leaflet_storage_datalayer_id_seq RENAME TO umap_datalayer_id_seq; +ALTER TABLE leaflet_storage_licence RENAME TO umap_licence; +ALTER TABLE leaflet_storage_licence_id_seq RENAME TO umap_licence_id_seq; +ALTER TABLE leaflet_storage_map RENAME TO umap_map; +ALTER TABLE leaflet_storage_map_editors RENAME TO umap_map_editors; +ALTER TABLE leaflet_storage_map_editors_id_seq RENAME TO umap_map_editors_id_seq; +ALTER TABLE leaflet_storage_map_id_seq RENAME TO umap_map_id_seq; +ALTER TABLE leaflet_storage_pictogram RENAME TO umap_pictogram; +ALTER TABLE leaflet_storage_pictogram_id_seq RENAME TO umap_pictogram_id_seq; +ALTER TABLE leaflet_storage_tilelayer RENAME TO umap_tilelayer; +ALTER TABLE leaflet_storage_tilelayer_id_seq RENAME TO umap_tilelayer_id_seq; +COMMIT; +``` + +- Then fake initial migrations: + + umap migrate --fake-initial + +- If you have customized some templates, change any `leaflet_storage/` path + to `umap/` + +- If you have customized some static, change any `storage/` path + to `umap/` + +- Each `LEAFLET_STORAGE_XXX` setting should be renamed in `UMAP_XXX` (but we + still support them for now) + +- If you still have a `MIDDLEWARE_CLASSES` setting, rename to `MIDDLEWARE` + +- uMap now loads the local configuration from /etc/umap/umap.conf if + `UMAP_SETTINGS` is not set, so you may want to use that path and remove + the env var setting + +- As usual, remember to update statics: + + umap collectstatic + umap compress + + +### 1.0.0-rc.9 +- increased maps displayed in user maps page (cf #651) +- exposed original map url in full export (cf #659) + + +### 1.0.0-rc.8 + +- fixed non browsable missing in caption panel +- fixed remote datalayers missing in browse data panel when displayed on load (cf #509) + +### 1.0.0-rc.7 + +- fixed table popup template not displaying name anymore (cf #647) + +### 1.0.0-rc.6 + +- fixed OSM properties not read anymore (cf #641) +- fixed permissions panel not active at first map save + +### 1.0.0-rc.5 + +- fixed user autocompletion in permissions panel (cf #635) +- fixed ternary choice dealing with unknown values (cf #633) + +### 1.0.0-rc.4 + +- fixed geodjango defaulting geojson parsing to SRID 3857 instead of 4326 +- fixed tooltip on hover (cf #631) + + +### 1.0.0-rc.3 + +- added a readonly mode (`UMAP_READONLY=True`), useful to disallow update while + migrating from one server to an other, for example + + +### 1.0.0-rc.2 + +- allow to cache proxied remote data requests (#513 #510 #160) +- fixed popup template parsing of url with url as query string (#607) +- naive support for nested variables in templates (#600) +- Removed Map.tilelayer foreignkey +- split popupTemplate in popupShape and popupTemplate: popupShape is for + choosing between proper popup and panel, while popupTemplate now will allow + to choose between default "name + description" mode, or table, or geoRSS ones. + Allows to add more of those in the future also. +- fixed popup not opening on first zoom button click when marker is clustered (#611) + +### 1.0.0-rc.1 +- BREAKING: support of python 2 is removed per upgrading to Django 2.0 +- WARNING: merge Leaflet-Storage and django-leaflet-storage inside umap to ease + maintenance and contribution; See [Upgrading to 1.0](#upgrading-to-1.0) +- permissions management forms are now built in JS directly +- upgrade all dependencies +- added a language switcher in the home page footer +- added UMAP_CUSTOM_TEMPLATES and UMAP_CUSTOM_STATICS settings to make + customization easier +- added empty `umap/theme.css` to ease customization +- add download link in the map and datalayers edit panel +- fixed some touch related CSS issues +- removed support for old URL (changed in version `0.3.0`) +- added languages: hr (Croatian), pl (Polish), hu (Hungarian), sl (Slovenian), + el (Greek), gl (Galician) +- JS locales are now bundled, no need to generate them while installing +- local settings are now loaded from `/etc/umap/umap.conf` if available +- fixed an issue where it was not possible to change the tilelayer if the + tilelayer control was not added to the map (#587) +- `showLabel` is now a ternary value (instead of having this plus `labelHover`) + (#553) +- fixed resetting a select to undefined for inheritable fields (#551) +- fixed labelKey not being saved (#595) +- filtering in data browser now is also reflected in the displayed features + (#550) +- fixed ClusterMarker text color on Chrome (#547) +- allow to clone also markers +- only list https ready tilerlayers when page is in https (#567) +- allow to use an unicode character as Marker symbol (#527) +- add `{rank}` as dynamic feature property (to be used in popup or icon symbol) +- add an explicit button to attach a owner to an anonyous map (#568) +- Add 'TablePanel' popup template (#481) + + +## 0.8.0 +- allow colon in properties to be consumed in popupTemplate +- added am_ET, pl and sk_SK locales +- fixed default licence being created in every available languages +- switch to pytest for unit tests +- Django 1.10 compatibility +- add DataLayer.rank +- Expose DataLayer versions +- python3 support +- add nofollow meta when map is not public + +## 0.7.5 +- upgrade osmtogeojson to 2.1.0 +- localize and proxy dataUrl parameter + +## 0.7.4 +- fix anonymous not able to edit map anymore + +## 0.7.3 +- add tooltip when drawing +- import multiple files at a time +- added Chinese (Taiwan) locale +- fixed right-click on path vertex not working propertly when editing + +## 0.7.1 +- upgrade Leaflet.Editable to 0.2.0 +- fixed some bugs after Leaflet.Editable switch + +## 0.7.0 +- introduce panel popup mode +- upgraded leaflet.loading to 0.1.10 +- make the cluster text color dynamic +- fix missing icons for transorm to polygon/polyline actions +- add a slideshow mode +- make possible to set cluster color by hand +- make possible to manage showLabel from layer and map +- basic kml/gpx download support +- MultiLineString are merged at import +- catch setMaxBounds errors (when using useless bounds) +- first version of a table editor +- it's now possible to cancel every mouse action of a polygon + (useful when using them as background) +- simple custom popup templates +- more control over map data attribution (custom inputs added) +- basic HTTP optimistic concurrency control +- add "empty" button in limit bounds fieldset +- make possible to decide which properties the data browser will filter on +- add "datalayers" query string parameter to override shown datalayers on map load +- add edit fieldset for changing marker latlng by hand +- moved from Leaflet.Draw to Leaflet.Editable +- added Vietnamese +- by default, allow_edit is now false +- added Chinese (Taiwan) locale + +## 0.6.x +- add TMS option to custom tilelayer +- allow to define default properties at map level +- support iframe in text formatting +- fix bug where polygon export were adding a point +- make that only visible elements are downloaded +- iframe export helper +- add Leaflet.label (for marker only atm) +- GeoRSS support +- heatmap support, thanks to https://github.com/Leaflet/Leaflet.heat +- added optional caption bar +- added new "large" popup template +- added a button to empty a layer without deleting it +- added a button to clone a datalayer +- added dataUrl and dataFormat on map creation page +- basic support for GeometryCollection import +- removed submodules and switched to grunt for assets management +- upgrade to django 1.6 +- sesql replaced by django-pgindex +- support for gzip for datalayer geojson +- support for X-Senfile/Accel-Redirect +- more translations +- fix anonymous map owner not able to delete their map +- fix missing vendors assets +- reset South migrations (some were bugged); to be back again with django 1.7 +- added russian locale +- http optimistic concurrency control +- longer anonymous cookie max_age (one month instead of session only) +- add possibility to override default zoom with LEAFLET_ZOOM setting +- fix bug where anonymous map wasn't editable by logged in users even if + edit status was ANONYMOUS + +## 0.5.x +- datalayers are now sent to backend as geojson +- there is now a global "save" button, and also a "cancel changes" +- added a contextmenu, thanks to https://github.com/aratcliffe/Leaflet.contextmenu +- added a loader, thanks to https://github.com/ebrelsford/Leaflet.loading +- import are processed client side, thanks to https://github.com/mapbox/csv2geojson + and https://github.com/mapbox/togeojson +- download is handled client side +- option "outlink" as been added, to open external URL on polygon click +- edit shortcuts has been added (Ctrl+E to toggle edit status, Ctrl+S to save, etc.) +- links in popup now open in a now window +- possibility to add custom icon symbols +- new option to clusterize markers, thanks to https://github.com/Leaflet/Leaflet.markercluster +- remote data option added to datalayer: this will fetch data from a given URL + instead of from the local database +- popup window can now display a table with all features properties +- support of OSM XML format, thanks to https://github.com/tyrasd/osmtogeojson +- added a measure control, thanks to https://github.com/makinacorpus/Leaflet.MeasureControl +- added Transifex config +- simple help boxes +- it's now possible to set background layer with manual settings +- add an edit button in the data browser (when in edit mode) +- add icon URL formatting with feature properties +- add "Transform to Polygon/Polyline" action +- new link on contextmenu to open external routing service from clicked point +- fix bug where features were duplicated when datalayer was deleted then reverted +- add layer action to databrowser +- add optional default CSS +- allow to close panel by Ctrl+Enter when editing in textarea +- add management for map max bounds +- add Ctrl+Z for canceling changes +- internal storage structure totally reviewed: datalayers are stored as geojson files, + instead of being split in features stored in PostGIS +- upload and download moved to client side (see Leaflet.Storage) +- cloned map name is now prefixed by "Clone of " +- added Transifex config +- workaround for non asciiable map names +- add a share_status fielf in Map model + +## 0.4.x +- add a data browser +- add a popup footer with navigation between features +- some work on IE compat +- new tilelayer visual switcher +- Spanish translation, thanks to @ikks +- renamed internally category in datalayer +- add a rank column to tilelayer to control their order in the tilelayer edit box +- fix description that was not exported in the GeoJSON export +- return proper 403 if bad signature on anonymous_edit_url access +- refactored tilelayer management +- smarter encoding management at import +- smarter errors management at import +- handle other delimiters than just comma for CSV import +- Spanish translation, thanks to @ikks +- map clone possibility + +## 0.3.x +- add a setting to display map caption on map load (cf #50) +- add nl translation +- update to Leaflet 0.6-dev and Leaflet.Draw 0.2 +- handle anonymous map creation +- Fix color no more displayed in map info box (cf #70) +- portuguese translation (thanks @FranciscoDS) +- fix bug when the map title was too long (making the slug too long, and so over the + database limit for this field) +- add a setting to display map caption on map load (cf Leaflet.Storage#50) +- update to django 1.5 +- first version of a CSV import +- add a Textarea in import form +- first version of data export (GeoJSON only for now) + + +## 0.2.0 +- handle auth from popup +- add a control for map settings management +- move to Leaflet 0.5 +- move to Leaflet.draw 0.1.6 +- default tooltip has now a fixed position +- make just drown polys editable +- handle path styling option (https://github.com/yohanboniface/Leaflet.Storage/issues/26) +- add an UI to manage icon style and picto (https://github.com/yohanboniface/django-leaflet-storage/issues/22) +- icon style and picto are now manageable also on Markers (https://github.com/yohanboniface/django-leaflet-storage/issues/21) +- add Leaflet.EditInOSM plugin in options +- add a scale control (optional) +- add an optional minimap (with Leaflet.MiniMap plugin) +- handle map settings management from front-end +- handle path styling options (https://github.com/yohanboniface/Leaflet.Storage/issues/26) +- remove Category.rank (https://github.com/yohanboniface/django-leaflet-storage/issues/46) +- Marker has now icon_class and pictogram fields (https://github.com/yohanboniface/django-leaflet-storage/issues/21) +- handle scale control +- basic short URL management +- fixed a bug where imports were failing if the category had a custom marker image + +## 0.1.0 + +- first packaged version diff --git a/docs/contributing.md b/docs/contributing.md index 615fe0f6..2f78c549 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -2,4 +2,96 @@ ## Translating -Translation is managed through [Transifex](https://www.transifex.com/yohanboniface/umap/dashboard/). +Translation is managed through [Transifex](https://www.transifex.com/openstreetmap/umap/). + +## Bug Triaging + +You are very welcome to help us triaging [uMap issues](https://github.com/umap-project/umap/issues). + +* Help other users by answering questions +* Give your point of view in discussions +* And so on... + +## Development on Ubuntu + +### Environment setup + +Choose one of the following two config: + +#### Config global to your desktop + +Follow the procedure [Ubuntu from scratch](ubuntu.md) + +But instead using folders /etc/umap, you can create a ~/.umap folder. +This folder will contain the umap.conf file. + +And for folder /srv/umap, you can create a ~/umap folder (We will remove this folder later) + +You will have to set an env var, we will set it in your .bashrc: + + nano ~/.bashrc + +Add the following at the end of file: + +``` +# uMap +export UMAP_SETTINGS=~/.umap/umap.conf +``` + +Then refresh your terminal + + source ~/.bashrc + +Run your local uMap and check that it is working properly. + +#### Config inside your local git repo + +Follow the procedure [Ubuntu from scratch](ubuntu.md) + +You can use the local.py.sample in the git repo and copy it to your local git repo to umap/settings/local.py + +See [Installation](install.md) + +### Hacking on the code + +Create a workspace folder ~/wk and go into it. + +"git clone" the main repository and go in the umap folder + +Several commands you need to issue to be in a virtualenv: + + virtualenv ~/wk/umap/venv --python=/usr/bin/python3.6 + source ~/wk/umap/venv/bin/activate + +Now, command "umap" will be available + +*Note: if you close your terminal, you will need to re-run command:* + + source /srv/umap/venv/bin/activate + +To test your code, you will add to install umap from your git folder. Go to ~/wk/umap and run: + + pip install -e . + # or pip install -e ~/wk/umap + +This command will check dependencies and install uMap from sources inside folder. + +To start your local uMap: + + umap runserver 0.0.0.0:8000 + +### Update translations + +Install needed tools: + + apt install gettext transifex-client + +Pull the translations from transifex website: + + tx pull -f + +Then you will need to update binary files with command: + + make compilemessages + +Done. You can now review and commit modified/added files. diff --git a/docs/custom.md b/docs/custom.md new file mode 100644 index 00000000..60fe9730 --- /dev/null +++ b/docs/custom.md @@ -0,0 +1,85 @@ +# Customize your uMap installation + + +When running your own uMap, you may want to changed its appearance, for example +you want your own logo on the home page, or you want to apply some design, or +you want to add some tracking (but anonymous!) script… + +This is done by overriding templates, CSS and images and telling uMap about +that. +So basically you'll have your own templates and/or statics directories where +you will put the templates or statics you want to control (and only those). + +Inside thore directory, you need to respect the exact relative path of the +templates or statics you are adding, relatively to the +[templates](https://github.com/umap-project/umap/tree/master/umap/templates) +and +[static](https://github.com/umap-project/umap/tree/master/umap/static) +roots in the uMap structure. +For example, if you want to control the logo, you will add your own static with +the relative path `umap/img/logo.svg`. + +The same apply to any file inside `umap/templates` and `umap/statics`. + +## Settings + +- `UMAP_CUSTOM_TEMPLATES` (`path`): points to the directory where the custom + templates are stored +- `UMAP_CUSTOM_STATICS` (`path`): points to the directory where the custom + templates are stored + + +## Example + +Let's say we want to customize the home page, with a custom header, a custom +logo, and some CSS adjustments. + +For this we need to control at least two files: + +- `umap/navigation.html` +- `umap/theme.css` + +Let's create one templates directory: + + mkdir -p /srv/umap/custom/templates/ + +And one static directory: + + mkdir -p /srv/umap/custom/static/ + +Now let's create our custom navigation file: + + vim /srv/umap/custom/templates/umap/navigation.html + +We certainly want to copy-paste the +[original one](https://github.com/umap-project/umap/blob/master/umap/templates/umap/navigation.html) +to adapt it. + +Now let's add our custom logo, with whatever path inside the static dir, given +we'll customize also the CSS: + + mv mylogo.png /srv/umap/custom/static/umap/mylogo.png + +And then let's add some custom rules in `theme.css`. This file will be automatically loaded by uMap. + +For example, this rule to load our logo: + +```css +.umap-nav h1 a { + background-image: url("./img/mylogo.png"); +} +``` + +And we want the header to be red: + +```css +.umap-nav { + background-color: red; +} +``` + +And so on! + +See also +[https://github.com/etalab/cartes.data.gouv.fr](https://github.com/etalab/cartes.data.gouv.fr) +for an example of customization. diff --git a/docs/index.md b/docs/index.md index b536ccf7..48b53902 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -# uMap developper documentation +# uMap developer documentation *This documentation is intended for people aiming to install and configure uMap. If you are looking for user documentation, have a look at [the OSM wiki page](http://wiki.openstreetmap.org/wiki/UMap#Tutorials).* diff --git a/docs/install.md b/docs/install.md index 93c9ed90..2d4961a9 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,5 +1,9 @@ # Installation +*Note: for Ubuntu follow procedure [Ubuntu from scratch](ubuntu.md)* + +*Note: for a Windows installation follow procedure [Installing on Windows](install_windows.md)* + Create a geo aware database. See [Geodjango doc](https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/) for backend installation. Create a virtual environment @@ -21,7 +25,7 @@ Reference it as env var: export UMAP_SETTINGS=`pwd`/local.py -Add database connexion informations in `local.py`, for example +Add database connection information in `local.py`, for example DATABASES = { 'default': { @@ -75,8 +79,8 @@ Start the server ## Search -UMap uses Postgresql tsvector for searching. It case your database is big, you -may want to add an index. For that, you sould do so: +UMap uses PostgreSQL tsvector for searching. In case your database is big, you +may want to add an index. For that, you should do so: CREATE EXTENSION unaccent; CREATE EXTENSION btree_gin; @@ -87,6 +91,6 @@ may want to add an index. For that, you sould do so: ## Optimisations -To speep up umap home page rendering on large instance, the following index can be added too (make sure you set the center to your default instance map center): +To speed up uMap homepage rendering on a large instance, the following index can be added as well (make sure you set the center to your default instance map center): CREATE INDEX leaflet_storage_map_optim ON leaflet_storage_map (modified_at) WHERE ("leaflet_storage_map"."share_status" = 1 AND ST_Distance("leaflet_storage_map"."center", ST_GeomFromEWKT('SRID=4326;POINT(2 51)')) > 1000.0); diff --git a/docs/install_windows.md b/docs/install_windows.md new file mode 100644 index 00000000..5ae27a1b --- /dev/null +++ b/docs/install_windows.md @@ -0,0 +1,144 @@ +# Installing uMap on Windows + +The **good news** is that it is possible to run uMap server on Windows. However, it is recommended using uMap on a +Linux distribution as it will be easier to install, modify, and deploy. While the following steps have been tested on +Windows 7, they may work for other versions of Windows. + + +## 1. Prepare the Database + +This assumes you've installed PostgreSQL. +- Create a database called "umap" +- Install PostGIS extension in it + +##2. Create a directory and a Python virtual environment + +This assumes you've installed Python (version 3.8+ 64-bit is a good choice) and virtualenv. + +Open a Windows command window, and cd to a directory of your choice. You need to create a sub-directory but the name is +up to you (it doesn't need to be called "production"): +``` +mkdir production +cd production +virtualenv venv +venv\Scripts\activate.bat +``` + +##3. Install GDAL for Python + +It is really difficult to install GDAL the "standard" way since it requires compiling GDAL. Instead download an already +compiled pip-compatible wheel package file from +[Unofficial Windows Binaries for Python Extension Packages](https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal). Note +that cp38 refers to the Python version you are using, so make sure you select the one that matches your Python version +for download. + +In the command window, install the downloaded wheel package: +`pip install GDAL-3.0.4-cp38-cp38-win_amd64.whl` + +You can test the install from the Python command line. From the Windows command window invoke Python: +``` +python +``` +then enter some Python commands: +```python +>>> import gdal +>>> print(int(gdal.VersionInfo('VERSION_NUM'))) +>>> exit() +``` + +##4. Install uMap + +In the Windows command window: +``` +mkdir static +mkdir data +pip install umap-project +``` +***Windows Work-Around 1*** + +Setting the UMAP_SETTINGS environment variable doesn't seem to work on Windows, so put the file in umap's fall-back +location of \etc\umap\umap.conf : +``` +mkdir \etc\umap +wget https://raw.githubusercontent.com/umap-project/umap/master/umap/settings/local.py.sample -O \etc\umap\umap.conf +``` +Edit the umap.conf file: + +***Windows Work-Around 2*** + +It might be possible to modify django's libgdal.py (umap installed django as one of its dependencies) to detect the +installed GDAL, but until then you can explicitly state the required paths. + +Add the GDAL paths somewhere near the top of the umap.conf file (make sure the last part, "gdal300", is the name of the +GDAL DLL in its package dir): +```python +GDAL_LIBRARY_PATH = r'C:\temp\production\venv\Lib\site-packages\osgeo\gdal300' +GEOS_LIBRARY_PATH = r'C:\temp\production\venv\Lib\site-packages\osgeo\geos_c' +PROJ_LIB = r'C:\temp\production\venv\Lib\site-packages\osgeo\data\proj' +``` +And while you're editing umap.conf, add the needed parameters to the DATABASES default object : +```python +DATABASES = { + 'default': { + 'ENGINE': 'django.contrib.gis.db.backends.postgis', + 'NAME': 'umap', + 'USER': 'postgres', + 'PASSWORD': 'postgres', + 'HOST': 'localhost', + 'PORT': '5432' + } +} +``` +And set umap's paths to where you've created the directories: +```python +STATIC_ROOT = '/temp/production/static' +MEDIA_ROOT = '/temp/production/data' +``` +Now that the minimal configuration is done, you can do the django-ish portion of the umap install. In the Windows +command window: +``` +umap migrate +umap collectstatic +umap createsuperuser +``` + +***Windows Work-Around 3*** + +Strangely, having the installed `umap.exe` is not enough. Some script tries to execute "umap" without the ".exe" +extension, so here's a hack to make that work: +``` +copy venv\scripts\umap.exe venv\scripts\umap +``` + +##5. Run umap server +In the Windows command window: +``` +umap runserver 127.0.0.1:8000 +``` +You should now be able to open a browser and go to http://127.0.0.1:8000 + +If you add some features to a new map and try to save them, you will likely see an error in the Windows command window +running the umap server. This error is a Python error related to doing +`os.remove(name)` on Windows: +``` + File "c:\temp\test\venv\lib\site-packages\django\core\files\storage.py", line 303, in delete + os.remove(name) +PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: +'C:\\temp\\production\\data\\datalayer\\1\\1\\layer-1.geojson' +``` + +***Windows Work-Around 4*** + +Edit `test\venv\lib\site-packages\django\core\files\storage.py`, and comment out lines 302 and 303: +```python +# else: +# os.remove(name) +``` +Now adding features and saving should work. _Now here's the weird part._ Edit `storage.py` to restore it to it's +original state by removing the comment characters you put in. Save the changes, do some more feature editing and +saving in your browser. It still works! This may be due to file/directory locking by Windows. + +##6. Installing for development + +The previous sections describe the install procedure for running the released version of uMap "as-is". If you want to +modify uMap (and possibly contribute your changes back to the uMap team), have a look at [Contributing](contributing.md) \ No newline at end of file diff --git a/docs/ubuntu.md b/docs/ubuntu.md index aac93d68..6f8ac33f 100644 --- a/docs/ubuntu.md +++ b/docs/ubuntu.md @@ -6,8 +6,9 @@ You need sudo grants on this server, and it must be connected to Internet. ## Install system dependencies - sudo apt install python3.5 python3.5-dev python-virtualenv wget nginx uwsgi uwsgi-plugin-python3 postgresql-9.5 postgresql-9.5-postgis-2.2 git + sudo apt install build-essential autoconf python3.6 python3.6-dev python-virtualenv wget nginx uwsgi uwsgi-plugin-python3 postgresql-9.5 postgresql-server-dev-9.5 postgresql-9.5-postgis-2.2 git libxml2-dev libxslt1-dev zlib1g-dev +*Note: nginx and uwsgi are not required for local development environment* *Note: uMap also works with python 2.7 and 3.4, so adapt the package names if you work with another version.* @@ -31,6 +32,7 @@ on the various commands and configuration files if you go with your own.* ## Give umap user access to the config folder sudo chown umap:users /etc/umap + sudo chown umap:users /srv/umap ## Create a postgresql user @@ -57,7 +59,7 @@ From now on, unless we say differently, the commands are run as `umap` user. ## Create a virtualenv and activate it - virtualenv /srv/umap/venv --python=/usr/bin/python3.5 + virtualenv /srv/umap/venv --python=/usr/bin/python3.6 source /srv/umap/venv/bin/activate *Note: this activation is not persistent, so if you open a new terminal window, @@ -73,6 +75,16 @@ you will need to run again this last line.* wget https://raw.githubusercontent.com/umap-project/umap/master/umap/settings/local.py.sample -O /etc/umap/umap.conf +## Customize umap.conf + + nano /etc/umap/umap.conf + +Change the following properties: + +``` +STATIC_ROOT = '/srv/umap/var/static' +MEDIA_ROOT = '/srv/umap/var/data' +``` ## Create the tables @@ -82,10 +94,6 @@ you will need to run again this last line.* umap collectstatic -## Create languages files - - umap storagei18n - ## Create a superuser umap createsuperuser @@ -96,7 +104,7 @@ you will need to run again this last line.* You can now go to [http://localhost:8000/](http://localhost:8000/) and try to create a map for testing. -When you're done with testing, quit the demo server (type Ctrl-C). +When you're done with testing, quit the demo server (type Ctrl+C). ## Configure the HTTP API @@ -203,7 +211,7 @@ Remember to adapt the domain name. ### Activate and restart the services -Now quit the `umap` session, simply by typing ctrl+D. +Now quit the `umap` session, simply by typing Ctrl+D. You should now be logged in as your normal user, which is sudoer. @@ -254,6 +262,18 @@ In your local.py: UMAP_DEMO_SITE = False DEBUG = False + +In your nginx config: + + location /static { + autoindex off; + alias /path/to/umap/var/static/; + } + + location /uploads { + autoindex off; + alias /path/to/umap/var/data/; + } ### Configure social auth diff --git a/fabfile.py b/fabfile.py deleted file mode 100644 index f8b4bda2..00000000 --- a/fabfile.py +++ /dev/null @@ -1,241 +0,0 @@ -from fabric.api import task, env, run, local, roles, cd, execute, hide, puts,\ - sudo -import posixpath - - -env.project_name = 'umap' -env.repository = 'https://github.com/umap-project/umap.git' -env.local_branch = 'master' -env.remote_ref = 'origin/master' -env.requirements_file = 'requirements.txt' -env.restart_sudo = True -env.sudo_user = 'umap' - - -def run_as_umap(*args, **kwargs): - if env.restart_sudo: - if env.sudo_user: - kwargs['user'] = env.sudo_user - return sudo(*args, **kwargs) - else: - return run(*args, **kwargs) - - -# ============================================================================= -# Tasks which set up deployment environments -# ============================================================================= - -@task -def osmfr(): - """ - OSM-fr servers. - """ - server = 'osm102.openstreetmap.fr' - env.roledefs = { - 'web': [server], - 'db': [server], - } - env.system_users = {server: 'www-data'} - env.virtualenv_dir = '/data/project/umap/.virtualenvs/{project_name}'.format(**env) - env.project_dir = '/data/project/umap/src/{project_name}'.format(**env) - env.project_conf = '{project_name}.settings.local'.format(**env) - env.restart_command = 'touch {project_dir}/umap/wsgi.py'.format(**env) - - -@task -def dev(): - """ - Kimsufi dev server. - """ - server = 'ks3267459.kimsufi.com' - env.roledefs = { - 'web': [server], - 'db': [server], - } - env.system_users = {server: 'www-data'} - env.virtualenv_dir = '/home/ybon/.virtualenvs/{project_name}'.format(**env) - env.project_dir = '/home/ybon/src/{project_name}'.format(**env) - env.project_conf = '{project_name}.settings.local'.format(**env) - env.restart_command = 'service uwsgi restart'.format(**env) - - -# Set the default environment. -dev() - - -# ============================================================================= -# Actual tasks -# ============================================================================= - -@task -@roles('web', 'db') -def bootstrap(action=''): - """ - Bootstrap the environment. - """ - with hide('running', 'stdout'): - exists = run('if [ -d "{virtualenv_dir}" ]; then echo 1; fi'.format(**env)) - if exists and not action == 'force': - puts('Assuming {host} has already been bootstrapped since ' - '{virtualenv_dir} exists.'.format(**env)) - return - # run('mkvirtualenv {project_name}'.format(**env)) - with hide('running', 'stdout'): - project_git_exists = run('if [ -d "{project_dir}" ]; then echo 1; fi'.format(**env)) - if not project_git_exists: - run('mkdir -p {0}'.format(posixpath.dirname(env.virtualenv_dir))) - run('git clone {repository} {project_dir}'.format(**env)) - # sudo('{virtualenv_dir}/bin/pip install -e {project_dir}'.format(**env)) - # with cd(env.virtualenv_dir): - # sudo('chown -R {user} .'.format(**env)) - # fix_permissions() - requirements() - puts('Bootstrapped {host} - database creation needs to be done manually.'.format(**env)) - - -@task -@roles('web', 'db') -def push(): - """ - Push branch to the repository. - """ - remote, dest_branch = env.remote_ref.split('/', 1) - local('git push {remote} {local_branch}:{dest_branch}'.format( - remote=remote, dest_branch=dest_branch, **env)) - - -@task -def deploy(verbosity='normal'): - """ - Full server deploy. - - Updates the repository (server-side), synchronizes the database, collects - static files and then restarts the web service. - """ - if verbosity == 'noisy': - hide_args = [] - else: - hide_args = ['running', 'stdout'] - with hide(*hide_args): - puts('Updating repository...') - execute(update) - puts('Collecting static files...') - execute(collectstatic) - puts('Synchronizing database...') - execute(syncdb) - puts('Restarting web server...') - execute(restart) - - -@task -@roles('web', 'db') -def update(action='check'): - """ - Update the repository (server-side). - - By default, if the requirements file changed in the repository then the - requirements will be updated. Use ``action='force'`` to force - updating requirements. Anything else other than ``'check'`` will avoid - updating requirements at all. - """ - run_as_umap('pip install git+https://github.com/umap-project/umap') - - -@task -@roles('web') -def collectstatic(): - """ - Collect static files from apps and other locations in a single location. - """ - collect_remote_statics() - dj('collectstatic --link --noinput') - dj('storagei18n') - dj('compress') - - -@task -@roles('db') -def syncdb(sync=True, migrate=True): - """ - Synchronize the database. - """ - dj('migrate --noinput') - - -@task -@roles('web') -def restart(): - """ - Restart the web service. - """ - run_as_umap(env.restart_command) - - -@task -@roles('web', 'db') -def requirements(name=None, upgrade=False): - """ - Update the requirements. - """ - base_command = '{virtualenv_dir}/bin/pip install'.format(virtualenv_dir=env.virtualenv_dir) - if upgrade: - base_command += ' --upgrade' - if not name: - kwargs = { - "base_command": base_command, - "project_dir": env.project_dir, - "requirements_file": env.requirements_file, - } - run_as_umap('{base_command} -r {project_dir}/{requirements_file}'.format(**kwargs)) - else: - run_as_umap('{base_command} {name}'.format( - base_command=base_command, - name=name - )) - - -@task -@roles('web') -def collect_remote_statics(name=None): - """ - Add leaflet and leaflet.draw in a repository watched by collectstatic. - """ - remote_static_dir = '{project_dir}/{project_name}/remote_static'.format(**env) - run_as_umap('mkdir -p {0}'.format(remote_static_dir)) - remote_repositories = { - 'storage': 'git://github.com/yohanboniface/Leaflet.Storage.git@master', - } - with cd(remote_static_dir): - for subdir, path in remote_repositories.iteritems(): - if name and name != subdir: - continue - repository, branch = path.split('@') - if "#" in branch: - branch, ref = branch.split('#') - else: - ref = branch - with hide("running", "stdout"): - exists = run_as_umap('if [ -d "{0}" ]; then echo 1; fi'.format(subdir)) - if exists: - with cd(subdir): - run_as_umap('git checkout {0}'.format(branch)) - run_as_umap('git pull origin {0} --tags'.format(branch)) - else: - run_as_umap('git clone {0} {1}'.format(repository, subdir)) - with cd(subdir): - run_as_umap('git checkout {0}'.format(ref)) - if subdir == "leaflet": - run_as_umap('npm install') - run_as_umap('jake build') - -#============================================================================== -# Helper functions -#============================================================================== - -def dj(command): - """ - Run a Django manage.py command on the server. - """ - with cd(env.project_dir): - run_as_umap('{virtualenv_dir}/bin/python {project_dir}/manage.py {dj_command} ' - '--settings {project_conf}'.format(dj_command=command, **env)) diff --git a/mkdocs.yml b/mkdocs.yml index 8f69ea69..be79a976 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,7 +2,10 @@ site_name: uMap pages: - Home: index.md - Installation: install.md +- Administration: administration.md - Contributing: contributing.md - how-tos: - Ubuntu from scratch: ubuntu.md + - Customize your uMap style: custom.md +- Changelog: changelog.md theme: readthedocs diff --git a/osmic-white.yaml b/osmic-white.yaml index 6bf0c5ac..30b352ea 100644 --- a/osmic-white.yaml +++ b/osmic-white.yaml @@ -1,22 +1,22 @@ -input_dirs: - - "accommodation" - - "administration" - - "amenity" - - "barrier" - - "eat-drink" - - "emergency" - - "energy" - - "health" - - "money" - - "nature" - - "outdoor" - - "religious" - - "shop" - - "sports" - - "tourism" - - "transport" +input: +- name: accommodation +- name: administration +- name: amenity +- name: barrier +- name: eat-drink +- name: emergency +- name: energy +- name: health +- name: money +- name: nature +- name: outdoor +- name: religious +- name: shop +- name: sports +- name: tourism +- name: transport -output: "tmp/white" +output_basedir: "tmp/white" empty_output: true format: "png" subdirs: false diff --git a/osmic.yaml b/osmic.yaml index 47d9831f..dcba1b81 100644 --- a/osmic.yaml +++ b/osmic.yaml @@ -1,22 +1,22 @@ -input_dirs: - - "accommodation" - - "administration" - - "amenity" - - "barrier" - - "eat-drink" - - "emergency" - - "energy" - - "health" - - "money" - - "nature" - - "outdoor" - - "religious" - - "shop" - - "sports" - - "tourism" - - "transport" +input: +- name: accommodation +- name: administration +- name: amenity +- name: barrier +- name: eat-drink +- name: emergency +- name: energy +- name: health +- name: money +- name: nature +- name: outdoor +- name: religious +- name: shop +- name: sports +- name: tourism +- name: transport -output: "tmp/grey" +output_basedir: "tmp/grey" empty_output: true format: "png" subdirs: false diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..56ef5c96 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2465 @@ +{ + "name": "umap", + "version": "1.0.0-alpha.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@mapbox/sexagesimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/sexagesimal/-/sexagesimal-1.1.0.tgz", + "integrity": "sha1-Y877k6RUlI0xpV6vRAx6rbOeM5o=" + }, + "@types/geojson": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz", + "integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==", + "optional": true + }, + "JSONStream": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.0.tgz", + "integrity": "sha1-78Ri1aW8lOwAf0siVxrNf28q4BM=", + "requires": { + "jsonparse": "0.0.5", + "through": "2.2.7" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "adm-zip": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz", + "integrity": "sha1-6AHO3rW9mk6Y1pnFwPQjnicx3L8=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true, + "optional": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", + "dev": true + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", + "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "bl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=", + "dev": true, + "requires": { + "readable-stream": "2.0.6" + } + }, + "boom": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", + "dev": true, + "requires": { + "hoek": "0.9.1" + } + }, + "bops": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.6.tgz", + "integrity": "sha1-CC0dVfoB5g29wuvC26N/ZZVUzzo=", + "requires": { + "base64-js": "0.0.2", + "to-utf8": "0.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-equal": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.2.tgz", + "integrity": "sha1-7Lt5D1aNQAmKYkK1SAXHWAXrk48=" + }, + "bunker": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz", + "integrity": "sha1-yImSRkqOKm7ehpMDdfkrWAd++Xw=", + "requires": { + "burrito": "0.2.12" + } + }, + "burrito": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz", + "integrity": "sha1-0NbmrIHV6ZeJxvpKzLCwAx6lT2s=", + "requires": { + "traverse": "0.5.2", + "uglify-js": "1.1.1" + }, + "dependencies": { + "traverse": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz", + "integrity": "sha1-4gPFjV9/DjfbbnTArLkpuwm2HYU=" + }, + "uglify-js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz", + "integrity": "sha1-7nGpfEzv0GoamyBDfzQRiYKqA1s=" + } + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true, + "requires": { + "assertion-error": "1.1.0", + "deep-eql": "0.1.3", + "type-detect": "1.0.0" + } + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "1.1.0", + "escape-string-regexp": "1.0.5", + "has-ansi": "0.1.0", + "strip-ansi": "0.3.0", + "supports-color": "0.2.0" + } + }, + "charm": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz", + "integrity": "sha1-BsIe7RobBq62dVPNxT4jJ0usIpY=" + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.0.6", + "typedarray": "0.0.6" + } + }, + "config-chain": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "dev": true, + "requires": { + "ini": "1.3.5", + "proto-list": "1.2.4" + }, + "dependencies": { + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cryptiles": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", + "dev": true, + "optional": true, + "requires": { + "boom": "0.4.2" + } + }, + "csv2geojson": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/csv2geojson/-/csv2geojson-5.1.1.tgz", + "integrity": "sha512-0YpeQ1UOZ0hb6qSf9n/lzBKQMoct4VBc7ZLrSDeBYm90OuWRsZ6laixrfXISuLNqlFWyxRAdcNxEQR9O6nzIGQ==", + "requires": { + "@mapbox/sexagesimal": "1.1.0", + "concat-stream": "1.5.2", + "d3-dsv": "1.0.1", + "optimist": "0.6.1" + }, + "dependencies": { + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + } + } + } + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", + "dev": true, + "optional": true + }, + "d3-dsv": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.1.tgz", + "integrity": "sha1-1JU0fATLHg0mVXu9xHdcTRGiReo=", + "requires": { + "rw": "1.3.3" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "requires": { + "type-detect": "0.1.1" + }, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "deep-equal": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz", + "integrity": "sha1-mWedO70EcVb81FDT0B7rkGhpHoM=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true, + "optional": true + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "difflet": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz", + "integrity": "sha1-qyOzH1ZJtvqo49KsvTNEZzZcpvo=", + "requires": { + "charm": "0.1.2", + "deep-is": "0.1.3", + "traverse": "0.6.6" + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz", + "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz", + "integrity": "sha1-mtTVm1r2ymhMYv5tdo7xcOcN8ZI=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extract-zip": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", + "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=", + "dev": true, + "requires": { + "concat-stream": "1.5.0", + "debug": "0.7.4", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz", + "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.0.6", + "typedarray": "0.0.6" + } + }, + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "dev": true + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "1.2.0" + } + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "dev": true, + "requires": { + "glob": "3.2.11", + "lodash": "2.4.2" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "dev": true + }, + "form-data": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", + "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", + "dev": true, + "optional": true, + "requires": { + "async": "0.9.2", + "combined-stream": "0.0.7", + "mime": "1.2.11" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true, + "optional": true + } + } + }, + "formatio": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "dev": true, + "requires": { + "samsam": "1.1.2" + } + }, + "fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.2.8" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + } + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "geojson-area": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/geojson-area/-/geojson-area-0.1.0.tgz", + "integrity": "sha1-1I2AcILPrfSnjfE0m+UPOL8YlK4=", + "requires": { + "wgs84": "0.0.0" + } + }, + "geojson-numeric": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/geojson-numeric/-/geojson-numeric-0.2.0.tgz", + "integrity": "sha1-q5quLqlyekg3B5rP8qqDyHLXLUo=", + "requires": { + "concat-stream": "1.0.1", + "optimist": "0.3.7" + }, + "dependencies": { + "concat-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz", + "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=", + "requires": { + "bops": "0.0.6" + } + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "0.0.3" + } + } + } + }, + "geojson-rewind": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/geojson-rewind/-/geojson-rewind-0.2.0.tgz", + "integrity": "sha1-6lWOnkT/A7hlXQoIt1B43DOhXnk=", + "requires": { + "concat-stream": "1.2.1", + "geojson-area": "0.1.0", + "minimist": "0.0.5" + }, + "dependencies": { + "concat-stream": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.2.1.tgz", + "integrity": "sha1-81EAtsRjeL+6i2uA+fDQzN8T3GA=", + "requires": { + "bops": "0.0.6" + } + }, + "minimist": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", + "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=" + } + } + }, + "georsstogeojson": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/georsstogeojson/-/georsstogeojson-0.1.0.tgz", + "integrity": "sha1-9duAeheaK0Z3sJpWsgqdHCT7FlM=", + "requires": { + "xmldom": "0.1.27" + } + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "requires": { + "inherits": "2.0.3", + "minimatch": "0.3.0" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "dev": true, + "requires": { + "async": "0.1.22", + "coffee-script": "1.3.3", + "colors": "0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.1.3", + "getobject": "0.1.0", + "glob": "3.1.21", + "grunt-legacy-log": "0.1.3", + "grunt-legacy-util": "0.2.0", + "hooker": "0.2.3", + "iconv-lite": "0.2.11", + "js-yaml": "2.0.5", + "lodash": "0.9.2", + "minimatch": "0.2.14", + "nopt": "1.0.10", + "rimraf": "2.2.8", + "underscore.string": "2.2.1", + "which": "1.0.9" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + } + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + } + } + }, + "grunt-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "0.3.0", + "grunt-known-options": "1.1.0", + "nopt": "3.0.6", + "resolve": "1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "5.0.15" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + } + } + }, + "grunt-contrib-concat": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz", + "integrity": "sha1-lTxu/f39LBB6uchQd/LUsk0xzUk=", + "dev": true, + "requires": { + "chalk": "0.5.1", + "source-map": "0.3.0" + } + }, + "grunt-contrib-copy": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz", + "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=", + "dev": true + }, + "grunt-known-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", + "dev": true + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "dev": true, + "requires": { + "colors": "0.6.2", + "grunt-legacy-log-utils": "0.1.1", + "hooker": "0.2.3", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "dev": true, + "requires": { + "colors": "0.6.2", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "dev": true, + "requires": { + "async": "0.1.22", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "0.9.2", + "underscore.string": "2.2.1", + "which": "1.0.9" + } + }, + "happen": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/happen/-/happen-0.1.3.tgz", + "integrity": "sha1-NXrHYPq4dFueVracudOvLACfFTk=", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.15.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "1.1.0", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "integrity": "sha1-uQuxaYByhUEdp//LjdJZhQLTtS0=", + "dev": true, + "optional": true, + "requires": { + "boom": "0.4.2", + "cryptiles": "0.2.2", + "hoek": "0.9.1", + "sntp": "0.2.4" + } + }, + "hoek": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", + "dev": true + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "htmlparser2": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.5.1.tgz", + "integrity": "sha1-b0L3ZX3RnBP31l3pEYQXOUoL5tA=", + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.2.1", + "domutils": "1.3.0", + "readable-stream": "1.1.14" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + } + } + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "dev": true, + "optional": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "0.1.5", + "ctype": "0.5.3" + } + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "dev": true + }, + "ieee754": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz", + "integrity": "sha1-ToCMLOFExsF4iRjgNNZ5e8bPYoE=", + "dev": true + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jade": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "dev": true, + "requires": { + "commander": "0.6.1", + "mkdirp": "0.3.0" + }, + "dependencies": { + "commander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true + } + } + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "dev": true, + "requires": { + "argparse": "0.1.16", + "esprima": "1.0.4" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true, + "optional": true + } + } + }, + "jsonparse": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", + "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=" + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "jxon": { + "version": "2.0.0-beta.5", + "resolved": "https://registry.npmjs.org/jxon/-/jxon-2.0.0-beta.5.tgz", + "integrity": "sha1-O2qUEE+YAe5oL9BWZF/1Rz2bND4=", + "requires": { + "xmldom": "0.1.27" + } + }, + "kew": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz", + "integrity": "sha1-CjKoF/8amzsSuMm6z0vE1nmvjnI=", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true, + "optional": true + } + } + }, + "leaflet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.3.4.tgz", + "integrity": "sha512-FYL1LGFdj6v+2Ifpw+AcFIuIOqjNggfoLUwuwQv6+3sS21Za7Wvapq+LhbSE4NDXrEj6eYnW3y7LsaBICpyXtw==" + }, + "leaflet-contextmenu": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/leaflet-contextmenu/-/leaflet-contextmenu-1.4.0.tgz", + "integrity": "sha1-4r2kga8QJggOq6oymX5TH9RPYFw=" + }, + "leaflet-editable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/leaflet-editable/-/leaflet-editable-1.2.0.tgz", + "integrity": "sha512-wG11JwpL8zqIbypTop6xCRGagMuWw68ihYu4uqrqc5Ep0wnEJeyob7NB2Rt5t74Oih4rwJ3OfwaGbzdowOGfYQ==" + }, + "leaflet-editinosm": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/leaflet-editinosm/-/leaflet-editinosm-0.2.3.tgz", + "integrity": "sha1-8HFmTEpSe3b3uPm87HRLJIiVwHE=" + }, + "leaflet-formbuilder": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/leaflet-formbuilder/-/leaflet-formbuilder-0.2.3.tgz", + "integrity": "sha1-7ucYzcyMOzABk+U7qASFLAv0l9k=" + }, + "leaflet-fullscreen": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leaflet-fullscreen/-/leaflet-fullscreen-1.0.2.tgz", + "integrity": "sha1-CcYcS6xF9jsu4Sav2H5c2XZQ/Bs=" + }, + "leaflet-hash": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/leaflet-hash/-/leaflet-hash-0.2.1.tgz", + "integrity": "sha1-w2xxg0fFJDAztXy0uuomEZ2CxwE=" + }, + "leaflet-i18n": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/leaflet-i18n/-/leaflet-i18n-0.3.1.tgz", + "integrity": "sha1-QE513GcE9KI5nRzQXw3R3ReDALU=" + }, + "leaflet-loading": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/leaflet-loading/-/leaflet-loading-0.1.24.tgz", + "integrity": "sha1-6v38GIcY6xPTz3uSJsTAaxbpKRk=" + }, + "leaflet-measurable": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/leaflet-measurable/-/leaflet-measurable-0.0.5.tgz", + "integrity": "sha1-A6dXfcxqVYWEo1lldjX47WnnJX8=" + }, + "leaflet-minimap": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/leaflet-minimap/-/leaflet-minimap-3.6.1.tgz", + "integrity": "sha1-KkP/Oz2UekWgrPS978llBbZzpsY=" + }, + "leaflet-toolbar": { + "version": "github:umap-project/Leaflet.toolbar#a730bbe3baf402cdf8337e3271081bfa4ff1a75b" + }, + "leaflet.heat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/leaflet.heat/-/leaflet.heat-0.2.0.tgz", + "integrity": "sha1-EJ2M9Ybwre5B8Fr/Ax4np3/swik=" + }, + "leaflet.markercluster": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.4.0.tgz", + "integrity": "sha512-8WXIZFnIViNjp1YctGPcm1FXyppzuxs+cNjnghSeHK3Z1+zhq5BSESc6aQZan118X9TqptuP9Vzf29NVob+6Uw==" + }, + "leaflet.path.drag": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/leaflet.path.drag/-/leaflet.path.drag-0.0.6.tgz", + "integrity": "sha1-bZw68LnXsDJUSuFr/eaI8BYFFKA=" + }, + "leaflet.photon": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/leaflet.photon/-/leaflet.photon-0.8.0.tgz", + "integrity": "sha512-uvCPocNvRJaArW8yPm6K4bkgvoMCbCOA9tgFlQfOVw+mRmN4jbkuEFoSP0nJhj8UKIOWsRtGfOjxtzaJyZuciw==" + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + }, + "lolex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "mime": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mocha": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "dev": true, + "requires": { + "commander": "2.3.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.2", + "glob": "3.2.11", + "growl": "1.9.2", + "jade": "0.26.3", + "mkdirp": "0.5.1", + "supports-color": "1.2.0", + "to-iso-string": "0.0.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", + "dev": true + } + } + }, + "mocha-phantomjs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-4.1.0.tgz", + "integrity": "sha1-x14WYS4aavCtjSgeOi/vSdVeUFs=", + "dev": true, + "requires": { + "commander": "2.15.1", + "mocha-phantomjs-core": "1.3.1", + "phantomjs": "1.9.7-15" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "mkdirp": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true + }, + "phantomjs": { + "version": "1.9.7-15", + "resolved": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz", + "integrity": "sha1-Czp85jBIaoO+kf9Ogy7uIOlxEVs=", + "dev": true, + "requires": { + "adm-zip": "0.2.1", + "kew": "0.1.7", + "mkdirp": "0.3.5", + "ncp": "0.4.2", + "npmconf": "0.0.24", + "progress": "1.1.8", + "request": "2.36.0", + "request-progress": "0.3.1", + "rimraf": "2.2.8", + "which": "1.0.9" + } + } + } + }, + "mocha-phantomjs-core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mocha-phantomjs-core/-/mocha-phantomjs-core-1.3.1.tgz", + "integrity": "sha1-WGU4yNcfqN6QxBpGrMBIHB+4Phg=", + "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "ncp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", + "dev": true + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "nopt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz", + "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=", + "requires": { + "abbrev": "1.1.1" + } + }, + "npmconf": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz", + "integrity": "sha1-t4h1sIjMw8Cvo+zrPOMkSxtSOQw=", + "dev": true, + "requires": { + "config-chain": "1.1.11", + "inherits": "1.0.2", + "ini": "1.1.0", + "mkdirp": "0.3.5", + "nopt": "2.2.1", + "once": "1.1.1", + "osenv": "0.0.3", + "semver": "1.1.4" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "mkdirp": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true + }, + "once": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/once/-/once-1.1.1.tgz", + "integrity": "sha1-nbV0kzzLCMOnYU0VQDLAnqbzOec=", + "dev": true + } + } + }, + "oauth-sign": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", + "integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "optimist": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.4.0.tgz", + "integrity": "sha1-y47Dfy/jqphky2eidSUOfhliCiU=", + "dev": true, + "requires": { + "wordwrap": "0.0.3" + } + }, + "osenv": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz", + "integrity": "sha1-zWrY3bKQkVrZ4idlV2Al1BHynLY=", + "dev": true + }, + "osm-polygon-features": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/osm-polygon-features/-/osm-polygon-features-0.9.2.tgz", + "integrity": "sha1-IK5BEwxIbkmjsqPCtYoUGcSYZ3g=" + }, + "osmtogeojson": { + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/osmtogeojson/-/osmtogeojson-3.0.0-beta.3.tgz", + "integrity": "sha512-8abt3HLjlMzR1QwlnqnJTRPo7P+lOTf3VMIp1lmGvKno4Il+6LLFuWwohyDs8tPZjaUGuCjK0YjRkapsBMjH1Q==", + "requires": { + "@types/geojson": "1.0.6", + "JSONStream": "0.8.0", + "concat-stream": "1.0.1", + "geojson-numeric": "0.2.0", + "geojson-rewind": "0.2.0", + "htmlparser2": "3.5.1", + "optimist": "0.3.7", + "osm-polygon-features": "0.9.2", + "tiny-osmpbf": "0.1.0", + "xmldom": "0.1.27" + }, + "dependencies": { + "concat-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz", + "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=", + "requires": { + "bops": "0.0.6" + } + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "0.0.3" + } + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pbf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.1.0.tgz", + "integrity": "sha512-/hYJmIsTmh7fMkHAWWXJ5b8IKLWdjdlAFb3IHkRBn1XUhIYBChVGfVwmHEAV3UfXTxsP/AKfYTXTS/dCPxJd5w==", + "requires": { + "ieee754": "1.1.11", + "resolve-protobuf-schema": "2.0.0" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "phantomjs": { + "version": "1.9.20", + "resolved": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", + "integrity": "sha1-RCSsog4U0lXAsIia9va4lz2hDg0=", + "dev": true, + "requires": { + "extract-zip": "1.5.0", + "fs-extra": "0.26.7", + "hasha": "2.2.0", + "kew": "0.7.0", + "progress": "1.1.8", + "request": "2.67.0", + "request-progress": "2.0.1", + "which": "1.2.14" + }, + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", + "dev": true, + "requires": { + "async": "2.6.1", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "qs": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "integrity": "sha1-gB/uAw4LlFDWOFrcSKTMVbRK7fw=", + "dev": true + }, + "request": { + "version": "2.67.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", + "integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "bl": "1.0.3", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "1.0.1", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "node-uuid": "1.4.8", + "oauth-sign": "0.8.2", + "qs": "5.2.1", + "stringstream": "0.0.6", + "tough-cookie": "2.2.2", + "tunnel-agent": "0.4.3" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "1.0.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + } + } + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "protocol-buffers-schema": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-2.2.0.tgz", + "integrity": "sha1-0pxs1z+2VZePtpiWkRgNuEQRn2E=" + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + }, + "qs": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.36.0.tgz", + "integrity": "sha1-KMbAQmLHuf/dIbklU3RRfubZQ/U=", + "dev": true, + "requires": { + "aws-sign2": "0.5.0", + "forever-agent": "0.5.2", + "form-data": "0.1.4", + "hawk": "1.0.0", + "http-signature": "0.10.1", + "json-stringify-safe": "5.0.1", + "mime": "1.2.11", + "node-uuid": "1.4.8", + "oauth-sign": "0.3.0", + "qs": "0.6.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3" + } + }, + "request-progress": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz", + "integrity": "sha1-ByHBBdipasayzossia4tXs/Pazo=", + "dev": true, + "requires": { + "throttleit": "0.0.2" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-protobuf-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.0.0.tgz", + "integrity": "sha1-5nsGKmfwLRG9aIbnDv2niEB+D7Q=", + "requires": { + "protocol-buffers-schema": "2.2.0" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "runforcover": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz", + "integrity": "sha1-NE8FfY1F0zrrxsyCIEZ49pxIV8w=", + "requires": { + "bunker": "0.1.2" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "samsam": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", + "dev": true + }, + "semver": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz", + "integrity": "sha1-LlpOcrqwNHLMl/cnU7RQiRLvVUA=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "sinon": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", + "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", + "dev": true, + "requires": { + "formatio": "1.1.1", + "lolex": "1.3.2", + "samsam": "1.1.2", + "util": "0.10.3" + } + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + }, + "sntp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", + "dev": true, + "optional": true, + "requires": { + "hoek": "0.9.1" + } + }, + "source-map": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz", + "integrity": "sha1-hYb7mloAXltQHiHNGLbyG0V60fk=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "strxml": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/strxml/-/strxml-0.0.0.tgz", + "integrity": "sha1-j/UxTIyHTbBVBnN2GoHk0/JEFFw=", + "requires": { + "tap": "0.4.13" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "tap": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/tap/-/tap-0.4.13.tgz", + "integrity": "sha1-OYYTTWdZcn/CIj5hEm7rhyQ6zLw=", + "requires": { + "buffer-equal": "0.0.2", + "deep-equal": "0.0.0", + "difflet": "0.2.6", + "glob": "3.2.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "nopt": "2.2.1", + "runforcover": "0.0.2", + "slide": "1.1.6", + "yamlish": "0.0.7" + } + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "dev": true + }, + "through": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=" + }, + "tiny-inflate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.2.tgz", + "integrity": "sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c=" + }, + "tiny-osmpbf": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/tiny-osmpbf/-/tiny-osmpbf-0.1.0.tgz", + "integrity": "sha1-ColXFxE+vmquNjxL5e76js2vuSc=", + "requires": { + "pbf": "3.1.0", + "tiny-inflate": "1.0.2" + } + }, + "to-iso-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", + "dev": true + }, + "to-utf8": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", + "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=" + }, + "togeojson": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/togeojson/-/togeojson-0.16.0.tgz", + "integrity": "sha1-q1cp5PjJkg5tpfCP2CSQodFqym0=", + "requires": { + "concat-stream": "1.5.2", + "minimist": "1.2.0", + "xmldom": "0.1.27" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "togpx": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/togpx/-/togpx-0.5.4.tgz", + "integrity": "sha1-sz27BUHfBL1rpPULhtqVNCS7d3M=", + "requires": { + "concat-stream": "1.0.1", + "jxon": "2.0.0-beta.5", + "optimist": "0.3.7", + "xmldom": "0.1.27" + }, + "dependencies": { + "concat-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.0.1.tgz", + "integrity": "sha1-AYsYvBx9BzotyCqkhEI0GixN158=", + "requires": { + "bops": "0.0.6" + } + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "requires": { + "wordwrap": "0.0.3" + } + } + } + }, + "tokml": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/tokml/-/tokml-0.4.0.tgz", + "integrity": "sha1-fAMhtCRmPKMYegpBny37z5DaNyo=", + "requires": { + "minimist": "0.1.0", + "rw": "0.0.4", + "strxml": "0.0.0" + }, + "dependencies": { + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" + }, + "rw": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/rw/-/rw-0.0.4.tgz", + "integrity": "sha1-3iex7VuRdXcuqiKnlmJRC9BZjEw=" + } + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", + "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", + "dev": true, + "requires": { + "optimist": "0.3.7", + "source-map": "0.1.43" + }, + "dependencies": { + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "dev": true, + "requires": { + "wordwrap": "0.0.3" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "wgs84": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/wgs84/-/wgs84-0.0.0.tgz", + "integrity": "sha1-NP3FVZF7blfPKigu0ENxDASc3HY=" + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yamlish": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/yamlish/-/yamlish-0.0.7.tgz", + "integrity": "sha1-tK+aHcxjYYhzw9bkUewyE8OaV/s=" + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "1.0.1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..7bb135c5 --- /dev/null +++ b/package.json @@ -0,0 +1,63 @@ +{ + "name": "umap", + "version": "1.0.0-alpha.1", + "description": "Manage map and features with Leaflet and expose them for backend storage through an API.", + "directories": { + "test": "test" + }, + "devDependencies": { + "chai": "^3.3.0", + "grunt": "^0.4.4", + "grunt-cli": "^1.2.0", + "grunt-contrib-concat": "^0.5.1", + "grunt-contrib-copy": "^0.5.0", + "happen": "~0.1.3", + "mocha": "^2.3.3", + "mocha-phantomjs": "^4.0.1", + "optimist": "~0.4.0", + "phantomjs": "^1.9.18", + "sinon": "^1.10.3", + "uglify-js": "~2.2.3" + }, + "scripts": { + "test": "firefox test/index.html", + "build": "grunt" + }, + "repository": { + "type": "git", + "url": "git://github.com/umap-project/Leaflet.Storage.git" + }, + "keywords": [ + "leaflet" + ], + "author": "Yohan Boniface", + "license": "WTFPL", + "bugs": { + "url": "https://github.com/umap-project/Leaflet.Storage/issues" + }, + "homepage": "http://wiki.openstreetmap.org/wiki/UMap", + "dependencies": { + "csv2geojson": "5.1.1", + "georsstogeojson": "^0.1.0", + "leaflet": "1.3.4", + "leaflet-contextmenu": "^1.4.0", + "leaflet-editable": "^1.2.0", + "leaflet-editinosm": "0.2.3", + "leaflet-formbuilder": "0.2.3", + "leaflet-fullscreen": "1.0.2", + "leaflet-hash": "0.2.1", + "leaflet-i18n": "0.3.1", + "leaflet-loading": "0.1.24", + "leaflet-measurable": "0.0.5", + "leaflet-minimap": "^3.6.1", + "leaflet-toolbar": "umap-project/Leaflet.toolbar", + "leaflet.heat": "0.2.0", + "leaflet.markercluster": "^1.4.0", + "leaflet.path.drag": "0.0.6", + "leaflet.photon": "0.8.0", + "osmtogeojson": "^3.0.0-beta.3", + "togeojson": "0.16.0", + "togpx": "^0.5.4", + "tokml": "0.4.0" + } +} diff --git a/pytest.ini b/pytest.ini index b9589e63..733af6f1 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,2 @@ [pytest] -DJANGO_SETTINGS_MODULE=umap.settings +DJANGO_SETTINGS_MODULE=umap.tests.settings diff --git a/requirements-dev.txt b/requirements-dev.txt index 59dc14cc..b432f168 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,4 @@ -pytest==3.0.7 -pytest-django==3.1.2 -mkdocs==0.16.3 +factory-boy==2.12.0 +mkdocs==1.1 +pytest==5.4.1 +pytest-django==3.8.0 diff --git a/requirements.txt b/requirements.txt index 6683a7eb..59f675e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -Django==1.11 -django-compressor==2.1.1 -django-leaflet-storage==0.8.2 -Pillow==4.1.0 -psycopg2==2.7.1 -requests==2.13.0 -social-auth-app-django==1.1.0 -social-auth-core==1.2.0 +Django==2.2.11 +django-agnocomplete==1.0.0 +django-compressor==2.4 +Pillow==6.2.2 +psycopg2==2.8.4 +requests==2.23.0 +social-auth-core==3.3.2 +social-auth-app-django==3.1.0 diff --git a/setup.py b/setup.py index f998b162..dbb08bbc 100644 --- a/setup.py +++ b/setup.py @@ -1,19 +1,17 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- -import codecs import io +from pathlib import Path from setuptools import setup, find_packages import umap -long_description = codecs.open('README.md', "r", "utf-8").read() - def is_pkg(line): return line and not line.startswith(('--', 'git', '#')) + with io.open('requirements.txt', encoding='utf-8') as reqs: install_requires = [l for l in reqs.read().split('\n') if is_pkg(l)] @@ -23,20 +21,26 @@ setup( author=umap.__author__, author_email=umap.__contact__, description=umap.__doc__, - keywords="django leaflet geodjango openstreetmap", + keywords="django leaflet geodjango openstreetmap map", url=umap.__homepage__, packages=find_packages(), include_package_data=True, platforms=["any"], zip_safe=True, - long_description=long_description, + long_description=Path('README.md').read_text(), + long_description_content_type='text/markdown', install_requires=install_requires, classifiers=[ - "Development Status :: 3 - Alpha", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", "Programming Language :: Python", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", ], entry_points={ 'console_scripts': ['umap=umap.bin:main'], diff --git a/umap/__init__.py b/umap/__init__.py index c6a83330..d17177bb 100644 --- a/umap/__init__.py +++ b/umap/__init__.py @@ -1,5 +1,5 @@ "Create maps with OpenStreetMap layers in a minute and embed them in your site." -VERSION = (0, 8, 2) +VERSION = (1, 2, 2) __author__ = 'Yohan Boniface' __contact__ = "ybon@openstreetmap.fr" diff --git a/umap/admin.py b/umap/admin.py new file mode 100644 index 00000000..b583dc2c --- /dev/null +++ b/umap/admin.py @@ -0,0 +1,20 @@ +from django.contrib.gis import admin +from .models import Map, DataLayer, Pictogram, TileLayer, Licence + + +class TileLayerAdmin(admin.ModelAdmin): + list_display = ('name', 'rank', ) + list_editable = ('rank', ) + + +class MapAdmin(admin.OSMGeoAdmin): + search_fields = ("name",) + autocomplete_fields = ("owner", "editors") + list_filter = ("share_status",) + + +admin.site.register(Map, MapAdmin) +admin.site.register(DataLayer) +admin.site.register(Pictogram) +admin.site.register(TileLayer, TileLayerAdmin) +admin.site.register(Licence) diff --git a/umap/autocomplete.py b/umap/autocomplete.py new file mode 100644 index 00000000..6a485182 --- /dev/null +++ b/umap/autocomplete.py @@ -0,0 +1,19 @@ +from django.conf import settings +from django.contrib.auth import get_user_model +from django.urls import reverse + + +from agnocomplete.register import register +from agnocomplete.core import AgnocompleteModel + + +@register +class AutocompleteUser(AgnocompleteModel): + model = get_user_model() + fields = ['^username'] + + def item(self, current_item): + data = super().item(current_item) + data['url'] = reverse(settings.USER_MAPS_URL, + args=(current_item.get_username(), )) + return data 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/decorators.py b/umap/decorators.py new file mode 100644 index 00000000..8fb7bc95 --- /dev/null +++ b/umap/decorators.py @@ -0,0 +1,56 @@ +from functools import wraps + +from django.urls import reverse_lazy +from django.shortcuts import get_object_or_404 +from django.http import HttpResponseForbidden +from django.conf import settings + +from .views import simple_json_response +from .models import Map + + +LOGIN_URL = getattr(settings, "LOGIN_URL", "login") +LOGIN_URL = (reverse_lazy(LOGIN_URL) if not LOGIN_URL.startswith("/") + else LOGIN_URL) + + +def login_required_if_not_anonymous_allowed(view_func): + @wraps(view_func) + def wrapper(request, *args, **kwargs): + if (not getattr(settings, "UMAP_ALLOW_ANONYMOUS", False) + and not request.user.is_authenticated): + return simple_json_response(login_required=str(LOGIN_URL)) + return view_func(request, *args, **kwargs) + return wrapper + + +def map_permissions_check(view_func): + """ + Used for URLs dealing with the map. + """ + @wraps(view_func) + def wrapper(request, *args, **kwargs): + map_inst = get_object_or_404(Map, pk=kwargs['map_id']) + user = request.user + kwargs['map_inst'] = map_inst # Avoid rerequesting the map in the view + if map_inst.edit_status >= map_inst.EDITORS: + can_edit = map_inst.can_edit(user=user, request=request) + if not can_edit: + if map_inst.owner and not user.is_authenticated: + return simple_json_response(login_required=str(LOGIN_URL)) + return HttpResponseForbidden() + return view_func(request, *args, **kwargs) + return wrapper + + +def jsonize_view(view_func): + @wraps(view_func) + def wrapper(request, *args, **kwargs): + response = view_func(request, *args, **kwargs) + response_kwargs = {} + if hasattr(response, 'rendered_content'): + response_kwargs['html'] = response.rendered_content + if response.has_header('location'): + response_kwargs['redirect'] = response['location'] + return simple_json_response(**response_kwargs) + return wrapper diff --git a/umap/fields.py b/umap/fields.py new file mode 100644 index 00000000..064bd2f3 --- /dev/null +++ b/umap/fields.py @@ -0,0 +1,33 @@ +import json + +from django.utils import six +from django.db import models +from django.utils.encoding import smart_text + + +class DictField(models.TextField): + """ + A very simple field to store JSON in db. + """ + + def get_prep_value(self, value): + if not value: + value = {} + if not isinstance(value, six.string_types): + value = json.dumps(value) + return value + + def from_db_value(self, value, expression, connection): + return self.to_python(value) + + def to_python(self, value): + if not value: + value = {} + if isinstance(value, six.string_types): + return json.loads(value) + else: + return value + + def value_to_string(self, obj): + """Return value from object converted to string properly""" + return smart_text(self.get_prep_value(self.value_from_object(obj))) diff --git a/umap/forms.py b/umap/forms.py new file mode 100644 index 00000000..10efa09f --- /dev/null +++ b/umap/forms.py @@ -0,0 +1,88 @@ +from django import forms +from django.contrib.gis.geos import Point +from django.contrib.auth import get_user_model +from django.utils.translation import ugettext_lazy as _ +from django.template.defaultfilters import slugify +from django.conf import settings +from django.forms.utils import ErrorList + +from .models import Map, DataLayer + +DEFAULT_LATITUDE = settings.LEAFLET_LATITUDE if hasattr(settings, "LEAFLET_LATITUDE") else 51 +DEFAULT_LONGITUDE = settings.LEAFLET_LONGITUDE if hasattr(settings, "LEAFLET_LONGITUDE") else 2 +DEFAULT_CENTER = Point(DEFAULT_LONGITUDE, DEFAULT_LATITUDE) + +User = get_user_model() + + +class FlatErrorList(ErrorList): + def __unicode__(self): + return self.flat() + + def flat(self): + if not self: + return u'' + return u' — '.join([e for e in self]) + + +class UpdateMapPermissionsForm(forms.ModelForm): + + class Meta: + model = Map + fields = ('edit_status', 'editors', 'share_status', 'owner') + + +class AnonymousMapPermissionsForm(forms.ModelForm): + + def __init__(self, *args, **kwargs): + super(AnonymousMapPermissionsForm, self).__init__(*args, **kwargs) + full_secret_link = "%s%s" % (settings.SITE_URL, self.instance.get_anonymous_edit_url()) + help_text = _('Secret edit link is %s') % full_secret_link + self.fields['edit_status'].help_text = _(help_text) + + STATUS = ( + (Map.ANONYMOUS, _('Everyone can edit')), + (Map.OWNER, _('Only editable with secret edit link')) + ) + + edit_status = forms.ChoiceField(choices=STATUS) + + class Meta: + model = Map + fields = ('edit_status', ) + + +class DataLayerForm(forms.ModelForm): + + class Meta: + model = DataLayer + fields = ('geojson', 'name', 'display_on_load', 'rank') + + +class MapSettingsForm(forms.ModelForm): + + def __init__(self, *args, **kwargs): + super(MapSettingsForm, self).__init__(*args, **kwargs) + self.fields['slug'].required = False + self.fields['center'].widget.map_srid = 4326 + + def clean_slug(self): + slug = self.cleaned_data.get('slug', None) + name = self.cleaned_data.get('name', None) + if not slug and name: + # If name is empty, don't do nothing, validation will raise + # later on the process because name is required + self.cleaned_data['slug'] = slugify(name) or "map" + return self.cleaned_data['slug'][:50] + else: + return "" + + def clean_center(self): + if not self.cleaned_data['center']: + point = DEFAULT_CENTER + self.cleaned_data['center'] = point + return self.cleaned_data['center'] + + class Meta: + fields = ('settings', 'name', 'center', 'slug') + model = Map diff --git a/umap/locale/am_ET/LC_MESSAGES/django.mo b/umap/locale/am_ET/LC_MESSAGES/django.mo index e6668962..0fcf6174 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..54279c3a 100644 --- a/umap/locale/am_ET/LC_MESSAGES/django.po +++ b/umap/locale/am_ET/LC_MESSAGES/django.po @@ -1,218 +1,377 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Alazar Tekle , 2015 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: 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Amharic (Ethiopia) (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 ይጠቀሙ። እንዲሁም የራስዎን ማስቀመጥ ይችላሉ፣ ነፃ እና ክፍት ነው!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "ካርታ ፍጠር" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "የኔ ካርታዎች" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "ግባ" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "ግባ" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "ውጣ" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "ካርታዎች መሀከል ፈልግ" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "ፈልግ" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "የሚስጥር የማረሚያ መስመሩ %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "ሁሉም ማረም ይችላል" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "በሚስጥር የመረሚያ መስመሩ ብቻ የሚታረም" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "ስም" + +#: umap/models.py:48 +msgid "details" +msgstr "ዝርዝሮች" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "ፈቃዱ በዝርዝር ከተቀመጠ ገፅ ጛር አገናኝ" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "የድረ-ገፅ አድራሻ ተምሳሌ በኦ.ኤስ.ኤም. የታይል ፎርማት" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "በማረሚያ ሳጥኑ ውስጥ የታይል ሌየሮቹ ቅደም ተከተል" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "አራሚዎች ብቻ ማረም ይችላሉ" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "ባለቤት ብቻ ማረም ይችላል" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "ሁሉም (የህዝብ)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "አድራሻው ያለው ሁሉ" + +#: umap/models.py:122 +msgid "editors only" +msgstr "አራሚዎች ብቻ" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "መገለጫ" + +#: umap/models.py:127 +msgid "center" +msgstr "መሀከል" + +#: umap/models.py:128 +msgid "zoom" +msgstr "ዙም" + +#: umap/models.py:129 +msgid "locate" +msgstr "ጠቁም" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "በመጫን ላይ ያለውን ተጠቃሚ ጠቁም?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "የካርታውን ፈቃድ ከልስ" + +#: umap/models.py:133 +msgid "licence" +msgstr "ፈቃድ" + +#: umap/models.py:138 +msgid "owner" +msgstr "ባለቤት" + +#: umap/models.py:139 +msgid "editors" +msgstr "አራሚዎች" + +#: umap/models.py:140 +msgid "edit status" +msgstr "ያለበትን ሁኔታ አርም" + +#: umap/models.py:141 +msgid "share status" +msgstr "ያለበትን ሁኔታ አጋራ" + +#: umap/models.py:142 +msgid "settings" +msgstr "ሁኔታዎች" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "ድቃይ" + +#: umap/models.py:261 +msgid "display on load" +msgstr "በመጫን ላይ አሳይ" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "ሌየሩ በመጫን ላይ አሳይ" + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "የ %(current_user)s'ን ካርታ አስስ" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "የአራሚዎችን ኒክ በመፃፍ ጨምር" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" -#: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" -msgid "Type new owner nick…" -msgstr "የአራሚዎችን ኒክ በመፃፍ ጨምር" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "በ" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "ተጨማሪ" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "እባክዎ አቅራቢ ይምረጡ" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets you create maps with OpenStreetMap " "layers in a minute and embed them in your site." msgstr "" -"ዩማፕ በ ኦፕን ስትሪት ማፕ ሌየሮች ካርታዎችን በደቂቃ ውስጥ ሰርተን " -"በገፃችን ማካተት እንድንችል ያደርገናል" -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "የካርታዎን ሌየሮች ይምረጡ" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "ፒ.ኦ.አይ. ይጨምሩ፡ ማርከሮች፣ መስመሮች፣ ፖሊጎኖች ..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "የፒ.ኦ.አይ. ከለሮችን እና ጠቋሚዎችን ያስተዳድሩ" -#: templates/umap/about_summary.html:14 +#: umap/templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" msgstr "የካርታ አማራጮችን ያስተዳድሩ። ትንሽ ካርታ አሳይ፣ ተጠቃሚውን በመጫን ላይ አሳይ ..." -#: templates/umap/about_summary.html:15 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "ጂዖስትራክቸርድ የሆነ መረጃ በጅምላ አምጣ (geojson, gpx, kml, osm...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "ለመረጃዎ ፈቃድ ይምረጡ" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "ካርታዎን ያካትቱ እና ይጋሩ" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "እንዲሁም ነፃ እና ክፍት ነው !" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "ካርታ ፍጠር" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "በማሳያው ተለማመድ" -#: templates/umap/home.html:10 -#, 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 ይጠቀሙ። እንዲሁም የራስዎን ማስቀመጥ ይችላሉ፣ ነፃ እና ክፍት ነው!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "የዩማፖች ካርታ" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "ካርታዎችን ተመልከት፣ ስሜትህን አነቃቃ!" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "የኔ ካርታዎች" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "ገብተዋል። በመቀጠል ላይ ..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "ግባ" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "በ" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "ግባ" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "ተጨማሪ" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "ስለ" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "አስተያየት" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "ውጣ" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "ካርታው አልተገኘም" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "ካርታዎች መሀከል ፈልግ" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "ፈልግ" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "ካርታውን አሳይ" -#~ msgid "Map settings" -#~ msgstr "የካርታዎች ሁኔታ" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "እንኳን ደስ አለዎ ካርታዎ ተፈጥሯል!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "ካርታው ታድሷል!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "የካርታ አራሚዎች በትክክል ታድሰዋል!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "ካርታውን የሚሰርዘው ባለቤቱ ብቻ ነው።" + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "እንኳን ደስ አለዎ ካርታዎ ተዳቅሏል!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "ሌየሩ በትክክል ተሰርዟ" diff --git a/umap/locale/ar/LC_MESSAGES/django.mo b/umap/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 00000000..bd7f04c0 Binary files /dev/null and b/umap/locale/ar/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ar/LC_MESSAGES/django.po b/umap/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 00000000..ccba0d4d --- /dev/null +++ b/umap/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Med Limem Smida , 2018 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Arabic (http://www.transifex.com/openstreetmap/umap/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "أعد خريطة" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "خرائطي" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "دخول" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "تسجيل" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "خروج" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "البحث عن خرائط" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "ابحث" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "يمكن للجميع التغيير" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "قابل للتغيير من خلال رابط خفي فقط" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "لغاية الصيانة، الموقع مفتوح للقراءة فقط" + +#: umap/models.py:17 +msgid "name" +msgstr "الإسم" + +#: umap/models.py:48 +msgid "details" +msgstr "تفاصيل" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "للناشرين فقط إمكانية التغيير" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "لصاحبها فقط إمكانية التغيير" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "الجميع (العموم)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "أي شخص يمتلك الرابط" + +#: umap/models.py:122 +msgid "editors only" +msgstr "الناشرون فقط" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "تقديم" + +#: umap/models.py:127 +msgid "center" +msgstr "وسط" + +#: umap/models.py:128 +msgid "zoom" +msgstr "تكبير" + +#: umap/models.py:129 +msgid "locate" +msgstr "تموقع" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "حدد موقع المستعمل عند التحميل ؟" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "إختر رخصة الخريطة." + +#: umap/models.py:133 +msgid "licence" +msgstr "الترخيص" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "عرض هذه الطبقة عند التحميل" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "الرجوع إلى الصفحة الرئيسية" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "تصفح خرائط %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)sلا يملك أي خريطة. " + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "الرجاء الدخول بحسابك" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "إسم المستخدم" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "كلمة السر" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "تسجيل الدخول" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "إختر الطبقات على خريطتك" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "إختر رخصة بياناتك" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "غير كلمة السر" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "الرجاء إدخال كلمة السر القديمة، لغرض الحماية، ثم إدخال كلمة السر الجديدة مرتين للتثبت من حسن رقنها. " + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "كلمة السر القديمة" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "كلمة السر الجديدة" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "تأكيد كلمة السر الجديدة" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "تغيير ناجح لكلمة السر" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "لا يمكن إلا لصاحب الخريطة حذفها." + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "تم حذف الطبقة بنجاح." diff --git a/umap/locale/ast/LC_MESSAGES/django.mo b/umap/locale/ast/LC_MESSAGES/django.mo new file mode 100644 index 00000000..5f96aabc Binary files /dev/null and b/umap/locale/ast/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ast/LC_MESSAGES/django.po b/umap/locale/ast/LC_MESSAGES/django.po new file mode 100644 index 00000000..6cede7f2 --- /dev/null +++ b/umap/locale/ast/LC_MESSAGES/django.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Asturian (http://www.transifex.com/openstreetmap/umap/language/ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +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..71a5de89 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..d4a926c1 100644 --- a/umap/locale/bg/LC_MESSAGES/django.po +++ b/umap/locale/bg/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: # lillyvip , 2013-2014 # yohanboniface , 2014 @@ -9,213 +9,370 @@ 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-07-20 14:03+0000\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+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/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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. Можете също така да бъде хост на вашата собствена версия, това е отворен код !" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Създай карта" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Мойте карти" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Влизане" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Регистрация" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Излизане" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Търсене на карти" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Търсене" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Тайно редактиране на линк е %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Всеки може да редактира" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Само може да се редактира с тайно редактиран линк" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "име" + +#: umap/models.py:48 +msgid "details" +msgstr "детайли" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Линк към страницата с подробно описание за лиценза." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL шаблон, използван формат OSM плочи" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Поръчка на tilelayers в полето за редактиране" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Само редактори могат да редактират" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Само притежателят може да редактира" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "всеки (публично)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "всеки които има линк" + +#: umap/models.py:122 +msgid "editors only" +msgstr "само редакторите" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "описание" + +#: umap/models.py:127 +msgid "center" +msgstr "център" + +#: umap/models.py:128 +msgid "zoom" +msgstr "мащаб" + +#: umap/models.py:129 +msgid "locate" +msgstr "локализирай" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Локализирай потребител при зареждане?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Избери лиценз за картата." + +#: umap/models.py:133 +msgid "licence" +msgstr "лиценз" + +#: umap/models.py:138 +msgid "owner" +msgstr "притежател" + +#: umap/models.py:139 +msgid "editors" +msgstr "редактори" + +#: umap/models.py:140 +msgid "edit status" +msgstr "статус на редактиране" + +#: umap/models.py:141 +msgid "share status" +msgstr "сподели статус" + +#: umap/models.py:142 +msgid "settings" +msgstr "настройки" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Клониране на" + +#: umap/models.py:261 +msgid "display on load" +msgstr "покажи при зареждане" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Покажи този слой при зареждане" + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Разгледай картите на %(current_user)s" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." msgstr "" -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "от" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Още" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Моля изберете провайдер" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets you create maps with OpenStreetMap " "layers in a minute and embed them in your site." msgstr "" -"uMap ви позволява да създавате карти базирани върху слоевете на OpenStreetMap само за минути и да ги вградите в " -"сайта си." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Изберете слоевете на своята карта" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Добави POIs: маркери, линии, полигони ..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Промени POIs цветове и икони" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "Внасяне на географски данни (geojson, gpx, kml, osm...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Избери лиценз за своите данни" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Вгради и сподели картата" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "И това е отворен код!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Създай карта" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Играй си с демото" -#: templates/umap/home.html:10 -#, 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. Можете също така да бъде хост на вашата собствена " -"версия, това е отворен код !" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Карта от картите на uMaps" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Вдъхнови се, разгледай други карти " -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Мойте карти" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "В процес на включване. Продължение..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Влизане" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "от" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Регистрация" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Още" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Относно" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Мнения" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Излизане" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Няма такава карта." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Търсене на карти" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Търсене" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Виж картата" -#~ msgid "Map settings" -#~ msgstr "Настройки на картата" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Поздравления, вашата карта е създадена!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Карта е актуализирана!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Редакторите на картата актуализират с успех!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Само собственикът може да изтрие картата." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Поздравления, вашата карта е клонирана!" + +#: umap/views.py:809 +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..bea61bed 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..0423eab0 100644 --- a/umap/locale/ca/LC_MESSAGES/django.po +++ b/umap/locale/ca/LC_MESSAGES/django.po @@ -1,221 +1,378 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# jmontane , 2014 +# jmontane, 2014 +# jmontane, 2014,2019 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-09-13 09:58+0000\n" +"Last-Translator: jmontane\n" +"Language-Team: Catalan (http://www.transifex.com/openstreetmap/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 -msgid "Take me to the home page" -msgstr "" +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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!" -#: templates/auth/user_detail.html:7 +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Crea un mapa" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Els meus mapes" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Entra" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Crea un compte" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Surt" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Cerca mapes" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Cerca" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "L'enllaç d'edició secret és %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Tothom pot editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Només es pot editar amb l'enllaç d'edició secret" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "El lloc és en mode lectura per manteniment" + +#: umap/models.py:17 +msgid "name" +msgstr "nom" + +#: umap/models.py:48 +msgid "details" +msgstr "detalls" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Enllaç a una pàgina on es detalla la llicència." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "La plantilla de l'URL usa el format de tesel·les de l'OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordre de les capes de tessel·les al quadre d'edició" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Només els editors poden editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Només el propietari pot editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "tothom (públic)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "qualsevol amb l'enllaç" + +#: umap/models.py:122 +msgid "editors only" +msgstr "només els editors" + +#: umap/models.py:123 +msgid "blocked" +msgstr "blocat" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descripció" + +#: umap/models.py:127 +msgid "center" +msgstr "centre" + +#: umap/models.py:128 +msgid "zoom" +msgstr "escala" + +#: umap/models.py:129 +msgid "locate" +msgstr "ubica" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Voleu ubicar l'usuari en carregar?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Trieu la llicència del mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "llicència" + +#: umap/models.py:138 +msgid "owner" +msgstr "propietari" + +#: umap/models.py:139 +msgid "editors" +msgstr "editors" + +#: umap/models.py:140 +msgid "edit status" +msgstr "edita l'estat" + +#: umap/models.py:141 +msgid "share status" +msgstr "comparteix l'estat" + +#: umap/models.py:142 +msgid "settings" +msgstr "paràmetres" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clon de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostra en carregar" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Mostra aquesta capa en carregar." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Vés a la pàgina d'inici" + +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Explora els mapes de %(current_user)s" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Escriviu els sobrenoms dels editors a afegir..." +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s no té cap mapa." -#: 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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "per" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Més" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Inicieu sessió amb el vostre compte" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Nom d'usuari" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Contrasenya" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Inicia sessió" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Trieu un proveïdor" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 inserir-los en el vostre lloc web." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Trieu les capes del mapa" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Afegeiu PDI: marcadors, línies, polígons..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Gestioneu els colors i les icones dels PDI" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "Importa en lot dades geoestructurades (geojson, gpx, kml, osm...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Trieu la llicència de les dades" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Incrusteu i compartiu el vostre mapa" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "I és codi obert!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Crea un mapa" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Jugueu amb la demostració" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Mapa dels uMaps" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Inspireu-vos, exploreu mapes" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Els meus mapes" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Heu iniciat sessió. S'està continuant..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Entra" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "per" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Crea un compte" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Més" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Quant a" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Comentaris" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Canvia la contrasenya" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Surt" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Canvi de contrasenya" -#: templates/umap/password_change.html:7 +#: umap/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 "Introduïu la contrasenya antiga, per raons de seguretat, i després introduïu-ne la nova dues vegades perquè puguem verificar correctament." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Contrasenya antiga" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Contrasenya nova" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Confirmació de la contrasenya nova" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Canvia la contrasenya" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "La contrasenya s'ha canviat la contrasenya correctament" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "S'ha canviat la contrasenya." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "No s'ha trobat el mapa" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Cerca mapes" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Cerca" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Mostra el mapa" -#~ msgid "Map settings" -#~ msgstr "Paràmetres del mapa" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Enhorabona, s'ha creat el vostre mapa!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "S'ha actualitzat el mapa!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "S'han actualitzat els editors del mapa correctament!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Només el propietari pot suprimir el mapa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Enhorabona, s'ha clonat el vostre mapa!" + +#: umap/views.py:809 +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..b36ef254 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..948e0ece 100644 --- a/umap/locale/cs_CZ/LC_MESSAGES/django.po +++ b/umap/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,220 +1,382 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Jakub A. Tesinsky, 2014 +# Jakub A. Tesinsky, 2014 +# trendspotter , 2019 +# trendspotter , 2018 +# trendspotter , 2018 +# trendspotter , 2018-2019 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: 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-07-10 10:59+0000\n" +"Last-Translator: trendspotter \n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Vytvořit mapu" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Moje mapy" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Přihlásit se" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Registrovat" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Odhlásit se" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Prohledávejte mapy" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Hledej" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Tajný odkaz umožňující úpravu mapy je %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Kdokoli může editovat" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Lze upravovat jen pomocí tajného odkazu" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Stránka je jen ke čtení kvůli údržbě" + +#: umap/models.py:17 +msgid "name" +msgstr "název" + +#: umap/models.py:48 +msgid "details" +msgstr "podrobnosti" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Odkaz na stránku s podrobnějším popisem licence." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Vzor URL ve formátu pro dlaždice OSM " + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Pořadí vrstev při editaci" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Jen přispěvovatelé mohou editovat" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Jen vlastník může editovat" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "kdokoli (veřejná)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "kdokoli kdo má odkaz" + +#: umap/models.py:122 +msgid "editors only" +msgstr "jen připěvovatelé" + +#: umap/models.py:123 +msgid "blocked" +msgstr "blokováno" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "popis" + +#: umap/models.py:127 +msgid "center" +msgstr "střed" + +#: umap/models.py:128 +msgid "zoom" +msgstr "přiblížení" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokalizuj" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Najdi poluhu uživatele na startu?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Vyberte si licenci mapy." + +#: umap/models.py:133 +msgid "licence" +msgstr "licence" + +#: umap/models.py:138 +msgid "owner" +msgstr "vlastník" + +#: umap/models.py:139 +msgid "editors" +msgstr "přispěvovatelé" + +#: umap/models.py:140 +msgid "edit status" +msgstr "kdo může provádět úpravy" + +#: umap/models.py:141 +msgid "share status" +msgstr "nastavení sdílení" + +#: umap/models.py:142 +msgid "settings" +msgstr "nastavení" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kopie" + +#: umap/models.py:261 +msgid "display on load" +msgstr "zbraz na startu" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Zobrazit tuto vrstvu na startu." + +#: umap/templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Vezměte mě na domovskou stránku" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Prohlížej si mapy uživatele %(current_user)s'" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Vložte přezdívku přispěvovatele k přidání" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s nemá mapy." -#: 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í" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr ", autor:" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Více" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Přihlaste se prosím k účtu" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Uživatelské jméno" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Heslo" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Přihlásit se" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Vyberte poskytovatele mapy" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 "uMap umožňuje vytvářet mapy s vrstvami OpenStreetMap za okamžik a vložit je do svých stránek." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Vyberte si vrstvy své mapy." -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Přidejte značky, čáry, trasy, oblasti." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Vyberte si barvy a grafické styly" -#: templates/umap/about_summary.html:14 +#: umap/templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" msgstr "Nastavte další možnosti - minimapu, lokalizaci uživatele, ..." -#: templates/umap/about_summary.html:15 +#: umap/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 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Vyberte si licenci pro svá data" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Sdílejte a vložte svou mapu do jiných webů" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "A je to celé open source!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Vytvořit mapu" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Vyzkoušejte si to hned" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Mapa všch uMap" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Inspirujte se, koukněte na mapy jiných" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Moje mapy" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Jste přihlášeni. Jedeme dál ..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Přihlásit se" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr ", autor:" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Registrovat" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Více" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "O uMap" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Napište nám" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Změnit heslo" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Odhlásit se" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Změna hesla" -#: templates/umap/password_change.html:7 +#: umap/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 "Z bezpečnostních důvodů zadejte své staré heslo a dvakrát zadejte nové heslo, abychom mohli ověřit, že jste jej zadali správně." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Staré heslo" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Nové heslo" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Potvrzení nového hesla" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Změnit moje heslo" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Změna hesla byla úspěšná" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Vaše heslo bylo změněno." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Mapa nenalezena" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Prohledávejte mapy" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Hledej" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Prohlídnout si tuto mapu" -#~ msgid "Map settings" -#~ msgstr "Nastavení mapy" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Gratulujeme, vaše mapa byla vytvořena!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Mapa byla aktualizována!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Seznam přispěvovatelů byl úspěšně upraven!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Jen vlastník může vymzat tuto mapu." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulujeme, byla vytvořena kopie mapy!" + +#: umap/views.py:809 +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..d338c5c9 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..a0e2b75e 100644 --- a/umap/locale/da/LC_MESSAGES/django.po +++ b/umap/locale/da/LC_MESSAGES/django.po @@ -1,221 +1,379 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# Neogeografen , 2013-2014 +# Kåre Thor Olsen , 2019 +# Mikkel Kirkgaard Nielsen , 2018 +# Neogeografen , 2013-2014,2020 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-06-02 15:12+0000\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-26 16:16+0000\n" "Last-Translator: Neogeografen \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/umap/language/" -"da/)\n" -"Language: da\n" +"Language-Team: Danish (http://www.transifex.com/openstreetmap/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 -msgid "Take me to the home page" -msgstr "" +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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-instans som bruges til test og at forhåndsudrulle frigivelser. Hvis du har brug for en mere stabil instans, så brug %(stable_url)s. Du kan også drive din helt egen instans, det er open source!" -#: templates/auth/user_detail.html:7 +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Lav et kort" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Mine kort" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Log ind" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Opret konto" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Log ud" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Søg i kortene" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Søg" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Hemmeligt redigeringslink er %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Alle kan redigere" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Er kun redigerbart med et hemmeligt link" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Webstedet er skrivebeskyttet pga. vedligeholdelse" + +#: umap/models.py:17 +msgid "name" +msgstr "navn" + +#: umap/models.py:48 +msgid "details" +msgstr "detaljer" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link til en side hvor der er flere oplysninger om licensen." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL-skabelon i OSM flise-format" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Rækkefølge af flise-lag i redigeringsboksen" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Kun redaktører kan redigere" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Kun ejeren kan redigere" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "alle (offentlig)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "alle med et link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "kun redaktører " + +#: umap/models.py:123 +msgid "blocked" +msgstr "blokeret" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "beskrivelse" + +#: umap/models.py:127 +msgid "center" +msgstr "center" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokaliser" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Lokaliser brugeren ved indlæsning?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Vælg kortlicensen." + +#: umap/models.py:133 +msgid "licence" +msgstr "licens" + +#: umap/models.py:138 +msgid "owner" +msgstr "ejer" + +#: umap/models.py:139 +msgid "editors" +msgstr "redaktører" + +#: umap/models.py:140 +msgid "edit status" +msgstr "redigeringsstatus" + +#: umap/models.py:141 +msgid "share status" +msgstr "delingsstatus" + +#: umap/models.py:142 +msgid "settings" +msgstr "indstillinger" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kloning af" + +#: umap/models.py:261 +msgid "display on load" +msgstr "vis ved indlæsning" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Vis dette lag ved indlæsning." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Før mig til hjemmesiden" + +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" -msgstr "Browse %(current_user)s's kort" +msgstr "Gennemse %(current_user)ss kort" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Indtast redaktørernes nickname for tilføjelse..." +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s har ingen kort." -#: 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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "af" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Mere" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Log på din konto" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Brugernavn" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Adgangskode" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Log ind" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Vælg en udbyder" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 "uMap gør det muligt at oprette kort med OpenStreetMap-lag på et øjeblik, og indlejre dem på dit websted." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" -msgstr "Vælg lag for dit kort" +msgstr "Vælg lag til dit kort" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." -msgstr "Tilføj POIs: markører, linjer, polygoner..." +msgstr "Tilføj POI'er: markører, linjer, polygoner..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" -msgstr "Håndterer POIs farver og ikoner" +msgstr "Håndter farver og ikoner for POI'er" -#: templates/umap/about_summary.html:14 +#: umap/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åndter kortindstillinger: vis et miniaturekort, lokaliser brugeren ved indlæsning..." -#: templates/umap/about_summary.html:15 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Masseimport af struktureret geodata (geojson, gpx, kml, osm...)" +msgstr "Batchimport af geostrukturerede data (geojson, gpx, kml, osm...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" -msgstr "Vælg en licens for dine geodata" +msgstr "Vælg en licens til dine geodata" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" -msgstr "Indlejre og dele dit kort" +msgstr "Indlejr og del dit kort" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "Og det er open source!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Lav et kort" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Leg med demoen" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" -msgstr "Kort lavet med uMaps" +msgstr "Kort over uMaps" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" -msgstr "Browse rundt i kortene og bliv inspireret" +msgstr "Bliv inspireret, gennemse kort" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Mine kort" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Du er logget ind. Fortsætter..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Login" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "af" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Opret konto" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mere" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Om" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Feedback" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Skift adgangskode" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Logud" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Ændring af adgangskode" -#: templates/umap/password_change.html:7 +#: umap/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 "Af sikkerhedshensyn skal du indtaste din gamle adgangskode, dernæst indtastes den nye adgangskode to gange, så vi kan være sikre på, at du har skrevet den korrekt." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Gammel adgangskode" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Ny adgangskode" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Bekræft ny adgangskode" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Ændr min adgangskode" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Adgangskode ændret" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Din adgangskode blev ændret." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Ingen kort fundet." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Søg i kortene" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Søg" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Vis kortet" -#~ msgid "Map settings" -#~ msgstr "Kortindstillinger" +#: umap/views.py:524 +#, 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 oprettet! Hvis du ønsker at redigere kortet fra en anden computer, så brug følgende link: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Tillykke, dit kort er oprettet!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Kortet blev opdateret!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Kortredaktører blev opdateret!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Kun ejeren kan slette kortet." + +#: umap/views.py:637 +#, 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 klonet! Hvis du ønsker at redigere kortet fra en anden computer, så brug følgende link: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Tillykke, dit kort er klonet!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Lag blev slettet." diff --git a/umap/locale/de/LC_MESSAGES/django.mo b/umap/locale/de/LC_MESSAGES/django.mo index 32b751c2..6aa08513 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..85051987 100644 --- a/umap/locale/de/LC_MESSAGES/django.po +++ b/umap/locale/de/LC_MESSAGES/django.po @@ -1,224 +1,381 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# Klumbumbus , 2013-2014 +# Ettore Atalan , 2016 +# hno2 , 2013-2014 +# Jannis Leidel , 2016 +# Klumbumbus, 2013-2014,2018-2019 +# YOHAN BONIFACE , 2012 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 18:04+0000\n" +"Last-Translator: Klumbumbus\n" +"Language-Team: German (http://www.transifex.com/openstreetmap/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 "" +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 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/auth/user_detail.html:7 +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Erstelle eine Karte" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Meine Karten" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Einloggen" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Einloggen" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Ausloggen" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Karten suchen" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Suchen" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Geheimer Bearbeitungslink ist %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Jeder kann bearbeiten" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Nur mit geheimen Bearbeitungslink zu bearbeiten" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "DIe Seite ist wegen Wartungsarbeiten im Nur-Lesen-Modus." + +#: umap/models.py:17 +msgid "name" +msgstr "Name" + +#: umap/models.py:48 +msgid "details" +msgstr "Details" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Verlinke auf eine Seite mit der Lizenz." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Das URL-Template nutzt das OSM Tile Format" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Reihenfolge der Karten-Ebenen in der Bearbeiten-Box" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Nur Bearbeiter können bearbeiten" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Nur der Ersteller kann bearbeiten" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "Jeder (Öffentlich)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "Jeder mit Link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "Nur Bearbeiter " + +#: umap/models.py:123 +msgid "blocked" +msgstr "blockiert" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "Beschreibung" + +#: umap/models.py:127 +msgid "center" +msgstr "Mittelpunkt" + +#: umap/models.py:128 +msgid "zoom" +msgstr "Zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokalisiere" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Standort des Benutzers beim Seitenaufruf bestimmen?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Kartenlizenz auswählen" + +#: umap/models.py:133 +msgid "licence" +msgstr "Lizenz" + +#: umap/models.py:138 +msgid "owner" +msgstr "Ersteller" + +#: umap/models.py:139 +msgid "editors" +msgstr "Bearbeiter" + +#: umap/models.py:140 +msgid "edit status" +msgstr "Bearbeitungsstatus" + +#: umap/models.py:141 +msgid "share status" +msgstr "Teilen-Status" + +#: umap/models.py:142 +msgid "settings" +msgstr "Einstellungen" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Duplicat von" + +#: umap/models.py:261 +msgid "display on load" +msgstr "Beim Seitenaufruf einblenden" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Diese Ebene beim Seitenaufruf einblenden." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Zur Startseite zurückkehren" + +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Schaue dir %(current_user)s's Karten an" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Zum Hinzufügen von Bearbeitern, Benutzernamen hier eingeben..." +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s hat keine Karten." -#: 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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "von" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Mehr" - -#: templates/registration/login.html:4 +#: umap/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 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Benutzername" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Passwort" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Anmeldung" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Bitte wähle einen Anbieter" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 Karten mit OpenStreetMap-Ebenen in einer Minute erstellen und in deine Seite einbinden." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Wähle die Ebenen deiner Karte" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Füge POIs hinzu: Marker, Linien, Flächen,..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Verwalte Farben und Icons der POIs" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/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 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Wähle die Lizenz deiner Daten." -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Teile und binde deine Karte ein" -#: templates/umap/about_summary.html:23 +#: umap/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" -msgstr "Erstelle eine Karte" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Spiele mit der Demo" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/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 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Lass dich inspirieren, schau dir diese Karten an." -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Meine Karten" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Du bist eingeloggt. Weiterleitung..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Einloggen" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "von" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Einloggen" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mehr" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Über" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Feedback" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Passwort ändern" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Ausloggen" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Passwortänderung" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Altes Passwort" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Neues Passwort" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Neues Passwort bestätigen" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Mein Passwort ändern" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Passwortänderung erfolgreich" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Ihr Passwort wurde geändert." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Keine Karte gefunden." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Karten suchen" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Suchen" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Diese Karte anzeigen" -#~ msgid "Map settings" -#~ msgstr "Karteneinstellungen" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Glückwunsch, deine Karte wurde erstellt!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Karte wurde aktualisiert!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Bearbeiter erfolgreich geändert" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Nur der Ersteller kann die Karte löschen." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Glückwunsch, deine Karte wurde kopiert!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Ebene erfolgreich gelöscht." diff --git a/umap/locale/el/LC_MESSAGES/django.mo b/umap/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 00000000..5aa9ecc5 Binary files /dev/null and b/umap/locale/el/LC_MESSAGES/django.mo differ diff --git a/umap/locale/el/LC_MESSAGES/django.po b/umap/locale/el/LC_MESSAGES/django.po new file mode 100644 index 00000000..fcb060aa --- /dev/null +++ b/umap/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,380 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Emmanuel Verigos , 2018 +# Emmanuel Verigos , 2018 +# Emmanuel Verigos , 2017 +# prendi , 2017 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Greek (http://www.transifex.com/openstreetmap/umap/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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. Μπορείς επίσης φιλοξενήσεις την δική σου εκδοχή, είναι ανοικτού κώδικα!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Δημιουργία χάρτη" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Οι χάρτες μου" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Σύνδεση" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Εγγραφή" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Αποσύνδεση" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Ψάξε χάρτες " + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Ψάξε " + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Ο μυστικός σύνδεσμος επεξεργασίας είναι %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Επεξεργασία από όλους" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Επεξεργάσιμο μόνο με μυστικό σύνδεσμο " + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Ο δικτυακός τόπος είναι μόνο για ανάγνωση λόγο επεξεργασίας" + +#: umap/models.py:17 +msgid "name" +msgstr "'Ονομα" + +#: umap/models.py:48 +msgid "details" +msgstr "Λεπτομέρειες " + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Σύνδεσμος σελίδας Αναλυτικής Άδειας Χρήσης " + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL υπόδειγμα με χρήση μορφή υποβάθρου OSM " + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Σειρά υποβάθρων στο πλαίσιο επεξεργασίας " + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Μόνο οι συντάκτες μπορούν να επεξεργαστούν" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Μόνο ο ιδιοκτήτης μπορεί να επεξεργαστεί" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "Όλοι (κοινό)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "Οποιοσδήποτε έχει τον σύνδεσμο " + +#: umap/models.py:122 +msgid "editors only" +msgstr "Συντάκτες μόνο" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "Περιγραφή" + +#: umap/models.py:127 +msgid "center" +msgstr "Κέντρο" + +#: umap/models.py:128 +msgid "zoom" +msgstr "Μεγέθυνση " + +#: umap/models.py:129 +msgid "locate" +msgstr "Εντοπισμός Θέσης" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Εντοπισμός θέσης κατά την φόρτωση ;" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Επιλογή άδειας χρήσης του χάρτη" + +#: umap/models.py:133 +msgid "licence" +msgstr "Άδεια" + +#: umap/models.py:138 +msgid "owner" +msgstr "Ιδιοκτήτης" + +#: umap/models.py:139 +msgid "editors" +msgstr "Συντάκτες" + +#: umap/models.py:140 +msgid "edit status" +msgstr "Επεξεργασία κατάστασης" + +#: umap/models.py:141 +msgid "share status" +msgstr "Διαμοιρασμός κατάστασης" + +#: umap/models.py:142 +msgid "settings" +msgstr "Ρυθμίσεις" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Κλωνοποίηση " + +#: umap/models.py:261 +msgid "display on load" +msgstr "Εμφάνιση κατά την φόρτωση " + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Εμφάνισε αυτό το επίπεδο κατά την φόρτωση " + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Επιστροφή στην Αρχική " + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Περιήγηση %(current_user)s χάρτη" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s δεν έχει χάρτη" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Παρακαλώ συνδεθείτε με τον λογαριασμό σας " + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Όνομα Χρήστη " + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Κωδικός πρόσβασης" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Σύνδεση " + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Παρακαλώ επιλέξτε παροχέα" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Διάλεξε το χαρτογραφικό επίπεδο " + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Πρόσθεσε σημεία ενδιαφέροντος : δείκτες, γραμμές, πολύγωνα..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Διαχείριση χρωμάτων και συμβόλων σημείων ενδιαφέροντος " + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Διαχείριση επιλογών χάρτη: εμφάνιση χάρτη προσανατολισμού, γεωεντοπισμός χρήστη κατά την φόρτωση " + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Ομαδική εισαγωγή για γεωχωρικά δεδομένα (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Διάλεξε άδεια χρήσης των δεδομένων " + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr " Ενσωμάτωσε και μοιράσου τον χάρτη " + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Και είναι ανοικτού κώδικα ! " + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Παίξε με το παράδειγμα " + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Χάρτης από τους uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Εμπνεύσου, περιηγήσου στους χάρτες" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Είστε συνδεδεμένοι. Συνέχεια..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "Από" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "περισσότερα " + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Σχετικά" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Κρητική" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Αλλαγή κωδικού πρόσβασης " + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Κωδικός πρόσβασης αλλαγή" + +#: umap/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 "Παρακαλώ εισάγεται τον παλιό κωδικό πρόσβασης, για λόγους ασφαλείας, και μετά εισάγεται τον νέο κωδικό πρόσβασης δύο φορές ώστε να επιβεβαιώσουμε ότι πληκτρολογήθηκε σωστά." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Παλιός κωδικός πρόσβασης" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Νέος κωδικός πρόσβασης" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Νέα επιβεβαίωση κωδικού πρόσβασης" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Αλλαγή κωδικού πρόσβασης " + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Επιτυχής αλλαγή κωδικού πρόσβασης" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Ο κωδικός πρόσβασης άλλαξε " + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Δεν βρέθηκε χάρτης" + +#: umap/views.py:220 +msgid "View the map" +msgstr "Προβολή του χάρτη" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Συγχαρητήρια, ο χάρτης σου δημιουργήθηκε !" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Ο χάρτης ανανεώθηκε !" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Ανανέωση συντακτών επιτυχείς !" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Μονό ό ιδιοκτήτης μπορεί να διαγράψει αυτό τον χάρτη. " + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Συγχαρητήρια ο χάρτης σου κλωνοποιήθηκε ! " + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Επίπεδο διαγράφηκε επιτυχώς." diff --git a/umap/locale/en/LC_MESSAGES/django.mo b/umap/locale/en/LC_MESSAGES/django.mo index e66dc683..6c5906d1 100644 Binary files a/umap/locale/en/LC_MESSAGES/django.mo and b/umap/locale/en/LC_MESSAGES/django.mo differ diff --git a/umap/locale/en/LC_MESSAGES/django.po b/umap/locale/en/LC_MESSAGES/django.po index 9c54f1a1..53a40edc 100644 --- a/umap/locale/en/LC_MESSAGES/django.po +++ b/umap/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-09 21:37+0200\n" +"POT-Creation-Date: 2020-03-22 14:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,100 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "" - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "" - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "" - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "" - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -119,88 +26,351 @@ msgid "" "\"%(repo_url)s\">open source!" msgstr "" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" msgstr "" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 "" -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +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..5015d1e8 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..33ccfd17 100644 --- a/umap/locale/es/LC_MESSAGES/django.po +++ b/umap/locale/es/LC_MESSAGES/django.po @@ -3,118 +3,26 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Gonzalo Gabriel Perez , 2019 # Igor Támara , 2013 # Marco Antonio , 2014 -# Marco Antonio , 2016 +# Marco Antonio , 2014,2016-2017 # Rafael Ávila Coya , 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: 2016-09-28 03:51+0000\n" -"Last-Translator: Marco Antonio \n" -"Language-Team: Spanish (http://www.transifex.com/yohanboniface/umap/language/es/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-11-19 15:09+0000\n" +"Last-Translator: Gonzalo Gabriel Perez \n" +"Language-Team: Spanish (http://www.transifex.com/openstreetmap/umap/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "Llévame a la página principal" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "Navegar los mapas de %(current_user)s" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Teclea el apodo del editor para añadir..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Escriba el apodo del nuevo dueño..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "por" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Más" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Inicie sesión con su cuenta" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Nombre de usuario" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Contraseña" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Usuario" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Elige un proveedor" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap te permite crear mapas con capas de OpenStreetMap en un minuto y embeber en tu sitio." - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Elige las capas de tu mapa" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Añade PDIs: marcadores, líneas, polígonos..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Elige los colores y los iconos de los PDIs" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Gestiona opciones del mapa: mostrar un minimapa, localizar al usuario al cargar..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Importa por lotes datos geoestructurados (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Elige la licencia de tus datos" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Embebe y comparte tu mapa" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "Y es de código abierto!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Crea un mapa" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Juega con el demo" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -123,88 +31,351 @@ msgid "" "instance, it's open source!" msgstr "Esta es una instancia de demostración, usada para pruebas y lanzamientos previos. Si necesitas una instancia estable, usa %(stable_url)s. También puedes instalar tu propia instancia en tu servidor; ¡es código abierto!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Mapa de los uMaps" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Crea un mapa" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Inspírate, navega por los mapas" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Mis mapas" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Ingresar" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Regístrarse" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "Acerca de" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Contacto" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Cambiar contraseña" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "Salir" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Buscar mapas" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Buscar" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "El enlace secreto de edición es %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Todos pueden editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Sólo puede editarse con el enlace secreto de edición" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "El sitio está en sólo lectura por mantenimiento" + +#: umap/models.py:17 +msgid "name" +msgstr "nombre" + +#: umap/models.py:48 +msgid "details" +msgstr "detalles" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Enlace a una página donde se detalla la licencia." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Plantilla URL usando el formato de teselas OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Orden de las capas de teselas en la caja de edición" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Solo los editores pueden editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Solo el propietario puede editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "todo el mundo (público)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "cualquiera que tenga el enlace" + +#: umap/models.py:122 +msgid "editors only" +msgstr "sólo editores" + +#: umap/models.py:123 +msgid "blocked" +msgstr "bloqueado" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descripción" + +#: umap/models.py:127 +msgid "center" +msgstr "centrar" + +#: umap/models.py:128 +msgid "zoom" +msgstr "acercar/alejar" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizar" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "¿Al cargar localizar el usuario?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Elija la licencia del mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licencia" + +#: umap/models.py:138 +msgid "owner" +msgstr "propietario" + +#: umap/models.py:139 +msgid "editors" +msgstr "editores" + +#: umap/models.py:140 +msgid "edit status" +msgstr "estado de la edición" + +#: umap/models.py:141 +msgid "share status" +msgstr "compartir estado" + +#: umap/models.py:142 +msgid "settings" +msgstr "ajustes" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clon de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostrar al cargar" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Mostrar esta capa al cargar." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Llévame a la página principal" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Navegar los mapas de %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s no tiene mapas." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Inicie sesión con su cuenta" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nombre de usuario" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Contraseña" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Usuario" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Elige un proveedor" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap te permite crear mapas con capas de OpenStreetMap en un minuto y embeberlo en tu sitio." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Elige las capas de tu mapa" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Añade PDIs: marcadores, líneas, polígonos..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Elige los colores y los iconos de los PDIs" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Gestiona opciones del mapa: mostrar un minimapa, localizar al usuario al cargar..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importa por lotes datos geoestructurados (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Elige la licencia de tus datos" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Embebe y comparte tu mapa" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Y es de código abierto!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Juega con el demo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa de los uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspírate, navega por los mapas" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Has iniciado sesión. Continuando..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "por" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Más" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Acerca de" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Contacto" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Cambiar contraseña" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "Contraseña cambiada" -#: templates/umap/password_change.html:7 +#: umap/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 "Introduzca su contraseña antigua, por seguridad, y luego introduzca su nueva contraseña dos veces para que podamos verificar si ha escrito correctamente." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "Contraseña antigua" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "Nueva contraseña" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "Confirmar nueva contraseña" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "Cambiar mi contraseña" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "Contraseña cambiada con éxito" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "Su contraseña fue guardada." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "No se encontraron mapas." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Buscar mapas" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Buscar" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Ver el mapa" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "¡Enhorabuena! ¡Tu mapa ha sido creado!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "¡El mapa ha sido actualizado!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "¡Los editores del mapas han sido actualizados con éxito!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Sólo el propietario puede borrar el mapa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "¡Enhorabuena! ¡Tu mapa ha sido clonado!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Se eliminó la capa con éxito." diff --git a/umap/locale/et/LC_MESSAGES/django.mo b/umap/locale/et/LC_MESSAGES/django.mo new file mode 100644 index 00000000..18edbd1a Binary files /dev/null and b/umap/locale/et/LC_MESSAGES/django.mo differ diff --git a/umap/locale/et/LC_MESSAGES/django.po b/umap/locale/et/LC_MESSAGES/django.po new file mode 100644 index 00000000..4d4d8289 --- /dev/null +++ b/umap/locale/et/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Moon Ika, 2020 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-03-02 14:50+0000\n" +"Last-Translator: Moon Ika\n" +"Language-Team: Estonian (http://www.transifex.com/openstreetmap/umap/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Loo kaart" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Minu kaardid" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Logi sisse" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Loo konto" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Logi välja" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Otsi kaarte" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Otsi" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Salajane muutmislink on %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Igaüks saab muuta" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Muudetav ainult salajase muutmislingiga" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Sait on hoolduseks kirjutuskaitstud" + +#: umap/models.py:17 +msgid "name" +msgstr "nimi" + +#: umap/models.py:48 +msgid "details" +msgstr "detailid" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link litsentsi selgitavale lehele." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Ainult toimetajad saavad muuta" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Ainult omanik saab muuta" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "igaüks (avalik)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "kõik, kellel on link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "ainult toimetajad" + +#: umap/models.py:123 +msgid "blocked" +msgstr "blokeeritud" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "kirjeldus" + +#: umap/models.py:127 +msgid "center" +msgstr "tsentreeri" + +#: umap/models.py:128 +msgid "zoom" +msgstr "suurenda" + +#: umap/models.py:129 +msgid "locate" +msgstr "määra asukoht" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Määra kasutaja asukoht laadimisel?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Vali kaardi litsents." + +#: umap/models.py:133 +msgid "licence" +msgstr "litsents" + +#: umap/models.py:138 +msgid "owner" +msgstr "omanik" + +#: umap/models.py:139 +msgid "editors" +msgstr "toimetajad" + +#: umap/models.py:140 +msgid "edit status" +msgstr "muutmise staatus" + +#: umap/models.py:141 +msgid "share status" +msgstr "jagamise staatus" + +#: umap/models.py:142 +msgid "settings" +msgstr "seaded" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Koopia" + +#: umap/models.py:261 +msgid "display on load" +msgstr "kuva laadimisel" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Kuva seda kihti laadimisel" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Vii mind avalehele" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Sirvi kasutaja %(current_user)s kaarte" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "Kasutajal %(current_user)s pole kaarte." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Logi palun oma kontoga sisse" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Kasutajanimi" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Salasõna" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Logi sisse" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Vali palun teenusepakkuja" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap võimaldab sul hetkega luua OpenStreetMap kihtidega kaarte ja manustada neid oma saidil." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Vali oma kaardile kihid" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Lisa POId: markerid, jooned, hulknurgad..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Halda POIde värve ja ikoone" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Halda kaardi suvandeid: kuva minikaart, määra laadimisel kasutaja asukoht..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Geostruktureeritud andmete hulgiimport (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Vali oma andmetele litsents" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Manusta ja jaga oma kaarti" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Ja see kõik on avatud lähtekoodiga!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Mängi demoga" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "uMaps'i kaart" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Sirvi kaarte ja saa inspiratsiooni" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Oled sisse logitud. Jätkamine..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Rohkem" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Projektist" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Tagasiside" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Muuda salasõna" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Salasõna vahetamine" + +#: umap/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 "Sisesta palun oma vana salasõna, seejärel kaks korda uus salasõna." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Vana salasõna" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Uus salasõna" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Uue salasõna kinnitamine" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Muuda salasõna" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Salasõna vahetamine õnnestus" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Sinu salasõna on muudetud." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Kaarti ei leitud." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Vaata kaarti" + +#: umap/views.py:524 +#, 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 "Sinu kaart on loodud! Kui sa soovid oma kaarti muuta teisest arvutist, kasuta palun seda linki: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Õnnitleme, sinu kaart on loodud!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Kaarti on uuendatud!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Kaardi toimetajaid uuendati edukalt!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Kaarti saab kustutada vaid selle omanik." + +#: umap/views.py:637 +#, 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 "Sinu kaart on kopeeritud! Kui sa soovid oma kaarti muuta teisest arvutist, kasuta palun seda linki: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Sinu kaart on kopeeritud!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Kiht on kustutatud." diff --git a/umap/locale/fi/LC_MESSAGES/django.mo b/umap/locale/fi/LC_MESSAGES/django.mo index d52aa379..b571e27d 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..4dd2ae5f 100644 --- a/umap/locale/fi/LC_MESSAGES/django.po +++ b/umap/locale/fi/LC_MESSAGES/django.po @@ -1,224 +1,381 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# acastren, 2014 -# jaakkoh , 2013 -# jaakkoh , 2013 +# Antti Castrén, 2014 +# Antti Castrén, 2013-2014 +# Jaakko Helleranta , 2013 +# 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Finnish (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Luo uusi kartta" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Omat kartat" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Kirjaudu palveluun" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Kirjaudu palveluun" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Kirjaudu ulos palvelusta" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Etsi karttoja" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Etsi" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Salainen muokkauslinkki on %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Kuka tahansa saa muokata" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Muokattavissa vain salaisella muokkauslinkillä" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "nimi" + +#: umap/models.py:48 +msgid "details" +msgstr "tarkemmat tiedot" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Linkki sivulle, jossa lisenssi on määritetty yksityiskohtaisesti." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "OSM-karttatiiliformaattia mukaileva URL-sapluuna" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Taustakarttojen järjestys muokkauslaatikossa" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Vain julkaisijat saavat muokata" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Vain omistaja saa muokata" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "kaikille (julkinen)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "linkinhaltijoille" + +#: umap/models.py:122 +msgid "editors only" +msgstr "vain muokkaajille" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "kuvaus" + +#: umap/models.py:127 +msgid "center" +msgstr "keskitä" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoomaa" + +#: umap/models.py:129 +msgid "locate" +msgstr "paikanna" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Paikanna käyttäjä sivua ladattaessa?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Valitse kartan lisenssi" + +#: umap/models.py:133 +msgid "licence" +msgstr "lisenssi" + +#: umap/models.py:138 +msgid "owner" +msgstr "omistaja" + +#: umap/models.py:139 +msgid "editors" +msgstr "julkaisija" + +#: umap/models.py:140 +msgid "edit status" +msgstr "muokkaa tilaa" + +#: umap/models.py:141 +msgid "share status" +msgstr "jaa status" + +#: umap/models.py:142 +msgid "settings" +msgstr "asetukset" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kloonattu kartasta" + +#: umap/models.py:261 +msgid "display on load" +msgstr "näytä ladattaessa" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Näytä tämä kerros ladattaessa." + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Selaa %(current_user)s:n karttoja" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Kirjoita muokkaajan nimi lisätäksesi..." +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" -#: 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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "taholta" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Lisää" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Valitse mieleisesi palveluntarjoaja" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Valitse karttaasi sopivat taustakartat ja data-kerrokset" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Lisää tarvittavat POIt: karttamerkkejä, viivoja, monikulmioita..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Valitse ja hallinnoi POI-merkintöjen värit ja karttakuvakkeet" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "Geostrukturoidun datan (geojson, gpx, kml, osm...) tuonti eräajona " -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Valitse tiedoillesi lisenssi" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Jaa karttasi muille ja/tai liitä se muihin sivustoihin" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "Avoin lähdekoodi rulettaa!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Luo uusi kartta" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Tongi demoa sielusi kyllyydestä!" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Kartta uMapeista" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Inspiroidu selaamalla karttoja" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Omat kartat" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sisäänkirjautumisesi onnistui. Jatketahan..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Kirjaudu palveluun" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "taholta" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Kirjaudu palveluun" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Lisää" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Tietoja" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Palaute" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Kirjaudu ulos palvelusta" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Karttaa ei löytynyt." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Etsi karttoja" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Etsi" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Katso karttaa" -#~ msgid "Map settings" -#~ msgstr "Kartan asetukset" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Onneksi olkoon! Uusi karttasi on luotu!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Kartta on päivitetty!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Kartan toimittajat päivitetty onnistuneesti!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Vain kartan omistaja voi poistaa kartan." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Onneksi olkoon! Karttasi on kloonattu!" + +#: umap/views.py:809 +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..5e459fa2 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..e87cae02 100644 --- a/umap/locale/fr/LC_MESSAGES/django.po +++ b/umap/locale/fr/LC_MESSAGES/django.po @@ -5,116 +5,30 @@ # Translators: # Buggi, 2013 # Buggi, 2013 -# yohanboniface , 2014,2016 +# Buggi, 2013 +# Philippe Verdy, 2017 +# severin.menard , 2014 +# severin.menard , 2014 +# spf, 2019 +# Philippe Verdy, 2017 +# yohanboniface , 2013-2014,2018-2019 # YOHAN BONIFACE , 2012 +# yohanboniface , 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: 2016-09-09 19:41+0000\n" -"Last-Translator: yohanboniface \n" -"Language-Team: French (http://www.transifex.com/yohanboniface/umap/language/fr/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-07-17 18:43+0000\n" +"Last-Translator: spf\n" +"Language-Team: French (http://www.transifex.com/openstreetmap/umap/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "Retour à la page d'accueil" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -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…" - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Nouveau du nouveau propriétaire…" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "par" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Plus" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Identifiez-vous" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Mot de passe" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Connexion" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Merci de choisir un fournisseur" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap permet de créer des cartes personnalisées sur des fonds OpenStreetMap en un instant et les afficher dans votre site." - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Choisir les fonds de carte" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Ajouter des POI: marqueurs, lignes, polygones..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Choisir la couleur et les icônes" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Gérer les options de la carte: afficher une minicarte, géolocaliser l'utilisateur..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Import des données géographiques en masse (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Choisir la licence de vos données" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Exporter et partager votre carte" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "Et c'est open source!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Créer une carte" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Tester la démo" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -123,88 +37,351 @@ msgid "" "instance, it's open source!" msgstr "Il s'agit d'un site de démonstration, utilisé pour les tests et validation avant diffusion. Si vous avez besoin d'une version stable, utilisez plutôt %(stable_url)s. Vous pouvez aussi mettre en place votre propre version, c'est open source!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "La carte des uMaps" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Créer une carte" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Naviguer dans les cartes" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Mes cartes" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Connexion" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Créer un compte" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "À propos" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Feedback" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Changer le mot de passe" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "Déconnexion" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Chercher des cartes" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Chercher" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Lien de modification secret : %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Tout le monde peut modifier" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Modifiable seulement avec le lien de modification secret" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Le site est en lecture seule pour maintenance." + +#: umap/models.py:17 +msgid "name" +msgstr "nom" + +#: umap/models.py:48 +msgid "details" +msgstr "détails" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Lien vers une page détaillant la licence." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modèle d'URL au format des tuiles OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordre des calques de tuiles dans le panneau de modification" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Seuls les modificateurs peuvent modifier" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Seul le créateur peut modifier" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "tout le monde (public)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "quiconque a le lien" + +#: umap/models.py:122 +msgid "editors only" +msgstr "seulement les modificateurs" + +#: umap/models.py:123 +msgid "blocked" +msgstr "Bloquée" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "description" + +#: umap/models.py:127 +msgid "center" +msgstr "centre" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "géolocaliser" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Géolocaliser l'utilisateur au chargement ?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Choisir une licence pour la carte" + +#: umap/models.py:133 +msgid "licence" +msgstr "licence" + +#: umap/models.py:138 +msgid "owner" +msgstr "créateur" + +#: umap/models.py:139 +msgid "editors" +msgstr "modificateurs" + +#: umap/models.py:140 +msgid "edit status" +msgstr "statut de modification" + +#: umap/models.py:141 +msgid "share status" +msgstr "qui a accès" + +#: umap/models.py:142 +msgid "settings" +msgstr "réglages" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clone de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "afficher au chargement." + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Afficher ce calque au chargement." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Retour à la page d'accueil" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Consulter les cartes de %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s n'a aucune carte." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Identifiez-vous" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Mot de passe" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Connexion" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Merci de choisir un fournisseur" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap permet de créer des cartes personnalisées sur des fonds OpenStreetMap en un instant et les afficher dans votre site." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Choisir les fonds pour votre carte" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Ajouter des points d'intérêt : marqueurs, lignes, polygones..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Choisir la couleur et les icônes" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Gérer les options de la carte : afficher une minicarte, géolocaliser l'utilisateur..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Import des données géographiques en masse (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Choisir la licence de vos données" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Exporter et partager votre carte" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Et c'est open source!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Tester la démo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "La carte des uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Naviguer dans les cartes" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Vous êtes maintenant identifié. Merci de patienter..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "par" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Plus" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "À propos" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Donner votre avis" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Changer le mot de passe" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "Changer le mot de passe" -#: templates/umap/password_change.html:7 +#: umap/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 "Merci de renseigner votre mot de passe actuel, puis deux fois le nouveau." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "Ancien mot de passe" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "Nouveau mot de passe" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "Changer de mot de passe" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "Le mot de passe a été modifié" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "Votre mot de passe a été modifié" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Aucune carte trouvée." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Chercher des cartes" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Chercher" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Voir la carte" + +#: umap/views.py:524 +#, 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 "Votre carte a été créée ! Si vous souhaitez la modifier depuis un autre ordinateur, veuillez utiliser ce lien : %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Félicitations, votre carte a bien été créée !" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "La carte a été mise à jour !" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Modificateurs de la carte mis à jour !" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Seul le créateur de la carte peut la supprimer." + +#: umap/views.py:637 +#, 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 "Votre carte a été dupliquée ! Si vous souhaitez la modifier depuis un autre ordinateur, veuillez utiliser ce lien : %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Votre carte a été dupliquée !" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Calque supprimé." diff --git a/umap/locale/gl/LC_MESSAGES/django.mo b/umap/locale/gl/LC_MESSAGES/django.mo new file mode 100644 index 00000000..19a76bd4 Binary files /dev/null and b/umap/locale/gl/LC_MESSAGES/django.mo differ diff --git a/umap/locale/gl/LC_MESSAGES/django.po b/umap/locale/gl/LC_MESSAGES/django.po new file mode 100644 index 00000000..dc776be8 --- /dev/null +++ b/umap/locale/gl/LC_MESSAGES/django.po @@ -0,0 +1,380 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Navhy, 2019 +# Navhy, 2019 +# Nemigo Galiza , 2017 +# Rafael Ávila Coya , 2014 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-06-05 16:37+0000\n" +"Last-Translator: Navhy\n" +"Language-Team: Galician (http://www.transifex.com/openstreetmap/umap/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Esta é unha instancia de proba, empregada para probas e lanzamentos previos. Se precisas unha instancia estábel, emprega %(stable_url)s. Tamén podes ter a túa propia instancia, é de código aberto!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Facer un mapa" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Os meus mapas" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Iniciar a sesión" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Rexistrarse" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Saír" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Procurar mapas" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Procurar" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "A ligazón de edición secreta é %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Calquera pode editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Só pode editarse ca ligazón secreta de edición" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "O sitio está só para o mantemento" + +#: umap/models.py:17 +msgid "name" +msgstr "nome" + +#: umap/models.py:48 +msgid "details" +msgstr "detalles" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Ligazón a unha páxina web onde se detalla a licenza." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modelo de URL que usa o formato de teselas de OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Orde das capas base na caixa de edición" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Só os editores poden editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Só o dono pode editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "calquera (público)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "calquera que teña a ligazón" + +#: umap/models.py:122 +msgid "editors only" +msgstr "só editores" + +#: umap/models.py:123 +msgid "blocked" +msgstr "bloqueado" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descrición" + +#: umap/models.py:127 +msgid "center" +msgstr "centrar" + +#: umap/models.py:128 +msgid "zoom" +msgstr "achegar/afastar" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizar" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Localizar o usuario na carga?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Escolle a licenza do mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licenza" + +#: umap/models.py:138 +msgid "owner" +msgstr "dono" + +#: umap/models.py:139 +msgid "editors" +msgstr "editores" + +#: umap/models.py:140 +msgid "edit status" +msgstr "estado da edición" + +#: umap/models.py:141 +msgid "share status" +msgstr "compartir o estado" + +#: umap/models.py:142 +msgid "settings" +msgstr "axustes" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clon de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "amosar na carga" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Amosar esta capa na carga." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Lévame á páxina de inicio" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Navegador %(current_user)s dos mapas" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s non ten mapas." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Fai o favor de loguearte ca túa conta" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nome de usuario" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Contrasinal" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Sesión iniciada" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Escolle un fornecedor" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "O uMap permíteche crear mapas con capas do OpenStreetMap nun minuto e poñelos na túa páxina web." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Escoller as capas do teu mapa" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Engadir PDI: marcaxes, liñas, polígonos..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Xestionar as cores e as iconas dos PDI" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Xestionar as opcións do mapa: amosar un minimapa, atopar ó usuario na carga..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importación por feixes de datos xeostructurados (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Escolle a licenza dos teus datos" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Inserir en páxina e compartir o teu mapa" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "E isto é de código aberto!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Xogar ca versión de proba" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa do uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspírate e procura mapas" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Iniciaches a sesión. Estase a continuar..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "por" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Máis" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Acerca de" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Opinións" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Mudar contrasinal" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Contrasinal mudada" + +#: umap/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 "Insire o teu contrasinal antigo, por seguranza, e despois insire o teu novo contrasinal dúas veces para que poidamos verificar se o escribiches de xeito correcto." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Contrasinal antigo" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Novo contrasinal" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Confirmar novo contrasinal" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Mudar o meu contrasinal" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "O contrasinal foi mudado de xeito correcto" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "O seu contrasinal foi mudado." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Non se atoparon mapas." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Ollar o mapa" + +#: umap/views.py:524 +#, 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 teu mapa foi creado! Se desexas editar este mapa dende outra computadora, emprega esta ligazón: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Parabéns! O teu mapa foi creado!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "O mapa foi actualizado!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "O editores do mapa foron actualizados de xeito exitoso!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Só o seu dono pode eliminar o mapa." + +#: umap/views.py:637 +#, 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 teu mapa foi clonado! Se desexas editar este mapa dende outra computadora, emprega esta ligazón: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Parabéns! O teu mapa foi clonado!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "A capa foi eliminada de xeito exitoso." diff --git a/umap/locale/he/LC_MESSAGES/django.mo b/umap/locale/he/LC_MESSAGES/django.mo new file mode 100644 index 00000000..2883573b Binary files /dev/null and b/umap/locale/he/LC_MESSAGES/django.mo differ diff --git a/umap/locale/he/LC_MESSAGES/django.po b/umap/locale/he/LC_MESSAGES/django.po new file mode 100644 index 00000000..8e8a9c7d --- /dev/null +++ b/umap/locale/he/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Yaron Shahrabani , 2020 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-26 06:19+0000\n" +"Last-Translator: Yaron Shahrabani \n" +"Language-Team: Hebrew (http://www.transifex.com/openstreetmap/umap/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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. יש לך גם אפשרות לארח עותק משלך, המערכת היא בקוד פתוח!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "יצירת מפה" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "המפות שלי" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "כניסה" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "הרשמה" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "יציאה" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "חיפוש במפות" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "חיפוש" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "קישור העריכה הסודי הוא %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "לכולם יש הרשאות לערוך" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "רק למי שיש את קישור העריכה הסודי יכול לערוך" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "האתר הוא לקריאה בלבד לצורך תחזוקה" + +#: umap/models.py:17 +msgid "name" +msgstr "שם" + +#: umap/models.py:48 +msgid "details" +msgstr "פרטים" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "קישור לעמוד בו הרישיון מפורט." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "תבנית כתובת עם תבנית האריחים של OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "סדר שכבת האריחים בתיבת העריכה" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "רק עורכים יכולים לערוך" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "רק בעלים יכולים לערוך" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "כולם (ציבורי)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "לכל מי שיש את הקישור" + +#: umap/models.py:122 +msgid "editors only" +msgstr "עורכים בלבד" + +#: umap/models.py:123 +msgid "blocked" +msgstr "חסום" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "תיאור" + +#: umap/models.py:127 +msgid "center" +msgstr "מרכז" + +#: umap/models.py:128 +msgid "zoom" +msgstr "תקריב" + +#: umap/models.py:129 +msgid "locate" +msgstr "איתור" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "לאתר משתמש עם הטעינה?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "נא לבחור את רישיון המפה." + +#: umap/models.py:133 +msgid "licence" +msgstr "רישיון" + +#: umap/models.py:138 +msgid "owner" +msgstr "בעלות" + +#: umap/models.py:139 +msgid "editors" +msgstr "עורכים" + +#: umap/models.py:140 +msgid "edit status" +msgstr "מצב עריכה" + +#: umap/models.py:141 +msgid "share status" +msgstr "מצב שיתוף" + +#: umap/models.py:142 +msgid "settings" +msgstr "הגדרות" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "עותק של" + +#: umap/models.py:261 +msgid "display on load" +msgstr "הצגה עם הטעינה" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "הצגת השכבה הזאת עם הטעינה." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "נא לעבור לדף הבית" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "עיון במפות של %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "למשתמש %(current_user)s אין מפות." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "נא להיכנס עם החשבון שלך" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "שם משתמש" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "ססמה" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "כניסה" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "נא לבחור ספק" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap מאפשר לך ליצור מפות עם שכבות של OpenStreetMap תוך דקה ולהטמיע אותן באתר שלך." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "נא לבחור את שכבות המפה שלך" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "הוספת נקודות עניין, קווים, מצולעים…" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "ניהול נקודות עניין וסמלים" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "ניהול אפשרויות מפה, איתור משתמש עם הטעינה…" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "ייבוא כמותי של נתונים שהורכבו לטובת מיפוי גאוגרפי (geojson,‏ gpx,‏ kml,‏ osm…)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "נא לבחור את רישיון הנתונים שלך" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "הטמעה ושיתוף של המפה שלך" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "וכל זה בקוד פתוח!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "משחק עם ההדגמה" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "המפות של uMap" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "מפות שתענקנה לך השראה" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "נכנסת למערכת. ממשיכים הלאה…" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "מאת" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "עוד" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "על אודות" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "משוב" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "החלפת ססמה" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "החלפת ססמה" + +#: umap/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 "נא להקליד את הססמה הישנה שלך, מטעמי אבטחה, לאחר מכן את הססמה החדשה שלך פעמיים כדי שנוכל לוודא שהקלדת אותה כראוי." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "ססמה ישנה" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "ססמה חדשה" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "אימות ססמה חדשה" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "החלפת הססמה שלי" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "החלפת הססמה הצליחה" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "הססמה שלך הוחלפה." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "לא נמצאה מפה." + +#: umap/views.py:220 +msgid "View the map" +msgstr "הצגת המפה" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "ברכותינו, המפה שלך נוצרה!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "המפה עודכנה!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "עורכי המפה עודכנו בהצלחה!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "רק לבעלים יש אפשרות למחוק את המפה." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "ברכותינו, המפה שלך שוכפלה!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "השכבה נמחקה בהצלחה." diff --git a/umap/locale/hr/LC_MESSAGES/django.mo b/umap/locale/hr/LC_MESSAGES/django.mo new file mode 100644 index 00000000..886733fd Binary files /dev/null and b/umap/locale/hr/LC_MESSAGES/django.mo differ diff --git a/umap/locale/hr/LC_MESSAGES/django.po b/umap/locale/hr/LC_MESSAGES/django.po new file mode 100644 index 00000000..fdcce38a --- /dev/null +++ b/umap/locale/hr/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Janjko , 2013 +# Janjko , 2013 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Croatian (http://www.transifex.com/openstreetmap/umap/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\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" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Stvori kartu" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Moje karte" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Prijava" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Registracija" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Odjava" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Pretraži karte" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Pretraživanje" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Svi mogu uređivati" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "ime" + +#: umap/models.py:48 +msgid "details" +msgstr "detalji" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Samo urednici mogu uređivati" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Samo vlasnik može uređivati" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "opis" + +#: umap/models.py:127 +msgid "center" +msgstr "centar" + +#: umap/models.py:128 +msgid "zoom" +msgstr "uvećanje" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "licenca" + +#: umap/models.py:138 +msgid "owner" +msgstr "vlasnik" + +#: umap/models.py:139 +msgid "editors" +msgstr "urednici" + +#: umap/models.py:140 +msgid "edit status" +msgstr "status uređivanja" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "postavke" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Duplikat od" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Više" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Više o" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Povratna informacija" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Karta nije nađena" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Samo vlasnik karte ju može obrisati." + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Karta je duplicirana." + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Sloj obrisan." diff --git a/umap/locale/hu/LC_MESSAGES/django.mo b/umap/locale/hu/LC_MESSAGES/django.mo new file mode 100644 index 00000000..fc3ac0a2 Binary files /dev/null and b/umap/locale/hu/LC_MESSAGES/django.mo differ diff --git a/umap/locale/hu/LC_MESSAGES/django.po b/umap/locale/hu/LC_MESSAGES/django.po new file mode 100644 index 00000000..f1d826e4 --- /dev/null +++ b/umap/locale/hu/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Gábor Babos , 2017-2019 +# Peter Velosy , 2017 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-09-10 09:55+0000\n" +"Last-Translator: Gábor Babos \n" +"Language-Team: Hungarian (http://www.transifex.com/openstreetmap/umap/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Ez egy demonstrációs változat, amelyet tesztelésre és még nem nyilvános kiadásoknál használnak. Ha stabil változatra van szüksége, használja ezt a címet: %(stable_url)s. A uMap-et a saját szerverére is telepítheti, hiszen nyílt forráskódú!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Térkép készítése" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Térképeim" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Bejelentkezés" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Regisztráció" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Kijelentkezés" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Térképek keresése" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Keresés" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Titkos szerkesztési link: %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Bárki szerkesztheti" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Kizárólag titkos szerkesztési linken szerkeszthető" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Karbantartás miatt a webhely csak olvasható" + +#: umap/models.py:17 +msgid "name" +msgstr "név" + +#: umap/models.py:48 +msgid "details" +msgstr "részletek" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link egy részletes licencinformációkat tartalmazó lapra." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "OSM-csempeformátumot használó URL-sablon" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Csemperétegek sorrendje a szerkesztődobozban" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Csak szerkesztők szerkeszthetik" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Csak a tulajdonos szerkesztheti" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "mindenki (nyilvános)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "a link birtokában bárki" + +#: umap/models.py:122 +msgid "editors only" +msgstr "csak szerkesztők" + +#: umap/models.py:123 +msgid "blocked" +msgstr "blokkolva" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "leírás" + +#: umap/models.py:127 +msgid "center" +msgstr "középpont" + +#: umap/models.py:128 +msgid "zoom" +msgstr "nagyítás" + +#: umap/models.py:129 +msgid "locate" +msgstr "helymeghatározás" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Bekérje a felhasználó pozícióját betöltéskor?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Térképlicenc kiválasztása" + +#: umap/models.py:133 +msgid "licence" +msgstr "licenc" + +#: umap/models.py:138 +msgid "owner" +msgstr "tulajdonos" + +#: umap/models.py:139 +msgid "editors" +msgstr "szerkesztők" + +#: umap/models.py:140 +msgid "edit status" +msgstr "szerkeszthetőség" + +#: umap/models.py:141 +msgid "share status" +msgstr "megoszthatóság" + +#: umap/models.py:142 +msgid "settings" +msgstr "beállítások" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Másolat erről: " + +#: umap/models.py:261 +msgid "display on load" +msgstr "megjelenítés betöltéskor" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Réteg megjelenítése betöltéskor" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Vissza a kezdőlapra" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "%(current_user)s térképeinek böngészése" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s felhasználónak nincs térképe." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Jelentkezzék be a fiókjával" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Felhasználónév" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Jelszó" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Belépés" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Válasszon egy szolgáltatót" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "A uMap segítségével percek alatt létrehozhat OpenStreetMap-alapú térképrétegeket, amelyeket be is ágyazhat a weboldalába." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Válassza ki a térképe rétegeit" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Adjon hozzá érdekes helyeket (POI-kat): pontokat, vonalakat, sokszögeket…" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Állítsa be a POI-k színét és ikonját" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Szabja testre a térképét: helyezzen el egy kis áttekintő térképet, betöltésnél határozza meg a felhasználó pozícióját…" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importáljon csoportosan geoinformatikai adatfájlokat (geojson, gpx, kml, osm…)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Válassza ki az adatai felhasználási licencét" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Ágyazza be és ossza meg a térképét" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "És mindezt nyílt forráskóddal!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Játék a bemutatóval" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "uMap-térképek térképe" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Szerezzen ihletet, böngésszen a térképek között!" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Be van jelentkezve. Továbblépés…" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "– készítette:" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Még több" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Névjegy" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Visszajelzés" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Jelszó módosítása" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Jelszó módosítása" + +#: umap/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 "Biztonsági okokból írja be a régi jelszavát, majd adja meg kétszer a kívánt új jelszót!" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Régi jelszó" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Új jelszó" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Új jelszó ismét" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Jelszavam módosítása" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "A jelszómódosítás sikeres" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "A jelszava megváltozott." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Ilyen térkép nem található." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Térkép megtekintése" + +#: umap/views.py:524 +#, 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 "A térképe elkészült! Ha egy másik számítógépről szeretné szerkeszteni, ezt a linket használja: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Gratulálunk, a térképe elkészült!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "A térkép frissült." + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "A térképszerkesztők sikeresen frissültek." + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "A térképet csak a tulajdonosa törölheti." + +#: umap/views.py:637 +#, 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 "Elkészült a térképe másolata. Ha egy másik számítógépről szeretné szerkeszteni, ezt a linket használja: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulálunk, elkészült a térképe másolata!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "A réteg sikeresen törlődött." diff --git a/umap/locale/id/LC_MESSAGES/django.mo b/umap/locale/id/LC_MESSAGES/django.mo new file mode 100644 index 00000000..a553902e Binary files /dev/null and b/umap/locale/id/LC_MESSAGES/django.mo differ diff --git a/umap/locale/id/LC_MESSAGES/django.po b/umap/locale/id/LC_MESSAGES/django.po new file mode 100644 index 00000000..781aa78f --- /dev/null +++ b/umap/locale/id/LC_MESSAGES/django.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Indonesian (http://www.transifex.com/openstreetmap/umap/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/is/LC_MESSAGES/django.mo b/umap/locale/is/LC_MESSAGES/django.mo new file mode 100644 index 00000000..4aeb9cf1 Binary files /dev/null and b/umap/locale/is/LC_MESSAGES/django.mo differ diff --git a/umap/locale/is/LC_MESSAGES/django.po b/umap/locale/is/LC_MESSAGES/django.po new file mode 100644 index 00000000..29e6c3fa --- /dev/null +++ b/umap/locale/is/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Sveinn í Felli , 2020 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-27 06:51+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic (http://www.transifex.com/openstreetmap/umap/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Þetta er sýnitilvik, notað fyrir prófanir og skoðun á eiginleikum áður en að útgáfu kemur. Ef þú þarft að nota stöðuga útgáfu, ættirðu að nota frekar %(stable_url)s. Þú getur líka hýst þitt eigið tilvik, þetta er nú einu sinni frjáls hugbúnaður með opinn grunnkóða!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Útbúðu landakort" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Landakortin mín" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Skrá inn" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Nýskrá" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Skrá út" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Leita í landakortum" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Leita" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Leynilegur breytingatengill er %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Allir geta breytt" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Aðeins breytanlegt með leynilegum breytingatengli" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Vefsvæðið er núna skrifvarið vegna viðhaldsvinnu" + +#: umap/models.py:17 +msgid "name" +msgstr "nafn" + +#: umap/models.py:48 +msgid "details" +msgstr "nánar" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Tengill á síðu þar sem notkunarleyfi er útskýrt." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL-sniðmát sem notar OSM-kortatíglasnið" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Röð kortatíglalaga í breytingareitnum" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Aðeins ritstjórar geta breytt" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Aðeins eigandi getur breytt" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "allir (opinbert)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "allir með tengil" + +#: umap/models.py:122 +msgid "editors only" +msgstr "aðeins ritstjórar" + +#: umap/models.py:123 +msgid "blocked" +msgstr "útilokað" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "lýsing" + +#: umap/models.py:127 +msgid "center" +msgstr "miðja" + +#: umap/models.py:128 +msgid "zoom" +msgstr "aðdráttur" + +#: umap/models.py:129 +msgid "locate" +msgstr "staðsetja" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Staðsetja notanda við innhleðslu?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Veldu notkunarleyfi fyrir kortið." + +#: umap/models.py:133 +msgid "licence" +msgstr "notkunarleyfi" + +#: umap/models.py:138 +msgid "owner" +msgstr "eigandi" + +#: umap/models.py:139 +msgid "editors" +msgstr "ritstjórar" + +#: umap/models.py:140 +msgid "edit status" +msgstr "staða vinnslu" + +#: umap/models.py:141 +msgid "share status" +msgstr "staða deilingar" + +#: umap/models.py:142 +msgid "settings" +msgstr "stillingar" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Klón af" + +#: umap/models.py:261 +msgid "display on load" +msgstr "birta við innhleðslu" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Birta þetta lag við innhleðslu." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Fara á forsíðuna" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Skoða landakort frá %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s er ekki með nein landakort." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Skráðu þig inn í notandaaðganginn þinn" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Notandanafn" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Lykilorð" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Innskráning" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Veldu þjónustuveitu" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap gerir þér kleift að útbúa landakort með OpenStreetMap lögum á nokkrum mínútum og birta þau á vefsvæðinu þínu." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Veldu lög á kortið þitt" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Bættu við merkisstöðum (POI): merki, línur, flákar..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Sýsla með liti og táknmyndir merkisstaða" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Sýsla með valkosti korts: birta yfirlitskort, staðsetja notanda við innhleðslu…" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Magnflytja inn hnattuppbyggð gögn (geostructured data: geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Veldu notkunarleyfi fyrir gögnin þín" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Settu þetta inn á vefsíðu og deildu kortinu þínu" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "And it's open source!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Leiktu þér með sýnisútgáfuna" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Kort í uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Fáðu hugmyndir, skoðaðu önnur landakort" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Þú ert skráð/ur inn. Held áfram..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "eftir" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Meira" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Um hugbúnaðinn" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Umsagnir" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Breyta lykilorði" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Breyting á lykilorði" + +#: umap/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 "Settu gamla lykilorðið þitt inn í öryggisskyni og settu síðan nýja lykilorðið þitt inn tvisvar, svo að við getum sannreynt að þú hafir slegið það rétt inn." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Gamla lykilorðið" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Nýtt lykilorð" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Staðfesting á nýju lykilorði" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Breyta lykilorðinu mínu" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Breyting á lykilorði tókst" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Lykilorðinu þínu hefur verið breytt" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Ekkert landakort fannst." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Skoða kortið" + +#: umap/views.py:524 +#, 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 "Það tókst að útbúa landakortið þitt! Ef þú ætlar að breyta þessu landakorti úr annarri tölvu, ættirðu að nota þennan tengil: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Til hamingju, það tókst að útbúa landakortið þitt!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Kortið hefur verið uppfært!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Tókst að uppfæra vinnslu korta!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Aðeins eigandinn getur eytt landakortinu." + +#: umap/views.py:637 +#, 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 "Það tókst að klóna landakortið þitt! Ef þú ætlar að breyta þessu landakorti úr annarri tölvu, ættirðu að nota þennan tengil: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Til hamingju, það tókst að klóna landakortið þitt!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Tókst að eyða lagi." diff --git a/umap/locale/it/LC_MESSAGES/django.mo b/umap/locale/it/LC_MESSAGES/django.mo index 03400d03..ca7ec2e6 100644 Binary files a/umap/locale/it/LC_MESSAGES/django.mo and b/umap/locale/it/LC_MESSAGES/django.mo differ diff --git a/umap/locale/it/LC_MESSAGES/django.po b/umap/locale/it/LC_MESSAGES/django.po index 6c195d77..0f624108 100644 --- a/umap/locale/it/LC_MESSAGES/django.po +++ b/umap/locale/it/LC_MESSAGES/django.po @@ -1,223 +1,386 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: -# Maurizio Napolitano , 2013-2015 # claudiamocci , 2013 +# Marco , 2017 +# lucacorsato , 2014 +# Marco , 2019 +# Marco , 2018 +# Maurizio Napolitano , 2013,2017 +# MIrco Zorzo , 2020 +# claudiamocci , 2013 +# Simone Cortesi , 2014 # YOHAN BONIFACE , 2012 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: 2015-11-02 09:15+0000\n" -"Last-Translator: Maurizio Napolitano \n" -"Language-Team: Italian (http://www.transifex.com/yohanboniface/umap/language/" -"it/)\n" -"Language: it\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-19 08:35+0000\n" +"Last-Translator: MIrco Zorzo \n" +"Language-Team: Italian (http://www.transifex.com/openstreetmap/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 "" +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 %(stable_url)s. Chiunque inoltre può crearsi una propria istanza, uMap è software libero!" -#: templates/auth/user_detail.html:7 +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Crea una mappa" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Le mie mappe" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Accedi" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Registrati" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Esci" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Cerca mappe" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Cerca" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Il link segreto per la modifica %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Chiunque può modificare" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Modificabile solo con il link segreto" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Il sito in sola lettura per la manutenzione" + +#: umap/models.py:17 +msgid "name" +msgstr "nome" + +#: umap/models.py:48 +msgid "details" +msgstr "dettagli" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link alla pagina con i dettagli della licenza" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modello dell'URL usando il formato delle tile OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordine degli sfondi (tilelayers) nel box di modifica" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Solo gli editor possono fare modifiche" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Solo il proprietario può effettuare modifiche" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "chiunque (pubblico)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "chiunque abbia il ilnk" + +#: umap/models.py:122 +msgid "editors only" +msgstr "solo autori" + +#: umap/models.py:123 +msgid "blocked" +msgstr "bloccato" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descrizione" + +#: umap/models.py:127 +msgid "center" +msgstr "centra" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizza" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Geolocalizzare l'utente al caricamento?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Scegliere una licenza per la mappa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licenza" + +#: umap/models.py:138 +msgid "owner" +msgstr "proprietario" + +#: umap/models.py:139 +msgid "editors" +msgstr "editor" + +#: umap/models.py:140 +msgid "edit status" +msgstr "stato della modifica" + +#: umap/models.py:141 +msgid "share status" +msgstr "stato condivisione" + +#: umap/models.py:142 +msgid "settings" +msgstr "impostazioni" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Duplicata da " + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostra al caricamento" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Visualizza questo layer al caricamento." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Vai alla pagina principale" + +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" -msgstr "Vedi le %(current_user)s mappe" +msgstr "Vedi le mappe di %(current_user)s" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Inserire nick degli editor d'aggiungere..." +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s non ha mappe." -#: 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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "di" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Altre mappe" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Accedi con il tuo account" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Nome utente" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Password" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Login" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Seleziona un fornitore" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 ti permette di creare mappe con livelli OpenStreetMap in un minuto e inserirle nel tuo sito." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Seleziona un layer per la propria mappa" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Aggiungi POI: marcatori, linee, poligoni..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Scegli colori ed icone dei POI" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "importa in automatico dati geostrutturati (geojson, gpx, kml, osm ...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Scegli la licenza per i tuoi dati" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Includi nel suo sito e condividi la mappa creata" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "Ed è software libero!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Crea una mappa" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Gioca con la demo" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Mappe create con uMap" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Prendi ispirazione, visualizza mappe" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Le mie mappe" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Utente loggato. Continuare..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Accedi" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "di" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Registrati" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Altre mappe" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Informazioni" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Feedback" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Cambia password" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Esci" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Cambia password" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Password vecchia" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Nuova password" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Conferma della nuova password" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Cambia la mia password" -#: templates/umap/password_change_done.html:6 +#: umap/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 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "La tua password è stata cambiata." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Nessuna mappa trovata." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Cerca mappe" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Cerca" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Visualizza la mappa" -#~ msgid "Map settings" -#~ msgstr "Impostazioni mappa" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Congratulazioni, la mappa è stata creata!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "La mappa è stata aggiornata!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Aggiornato l'elenco degli editor abilitati alla modifica della mappa!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Solo il proprietario può eliminare la mappa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Perfetto, la tua mappa è stata clonata!" + +#: umap/views.py:809 +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..d0bbd121 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..908bb1b5 100644 --- a/umap/locale/ja/LC_MESSAGES/django.po +++ b/umap/locale/ja/LC_MESSAGES/django.po @@ -9,110 +9,17 @@ 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-10-02 07:23+0000\n" -"Last-Translator: tomoya muramoto \n" -"Language-Team: Japanese (http://www.transifex.com/yohanboniface/umap/language/ja/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Japanese (http://www.transifex.com/openstreetmap/umap/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "ホームページに移動" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "%(current_user)sのマップを閲覧" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "編集者のニックネームを入力..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "新オーナーのニックネームを入力" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "by" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "さらに表示" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "アカウントでログインしてください" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "ユーザー名" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "パスワード" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "ログイン" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "連携アカウント選択" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMapは OpenStreetMap のレイヤを使い、サイト埋め込み用の地図を即座に作成することが可能なサービスです" - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "マップに表示させるレイヤを選択" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "POI: マーカーやライン、ポリゴンなどを追加" - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "POIのアイコンと色を調整" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "オプション選択: ミニマップの表示、表示時にユーザの位置へ移動、等々" - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "地理データの一括インポート (geojson, gpx, kml, osmなど)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "作成したデータのライセンスを選択" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "サイトへのマップ表示と共有" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "uMapは Open Sourceです!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "マップを作成" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "デモを表示" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -121,88 +28,351 @@ msgid "" "instance, it's open source!" msgstr "これはリリース前テストと試運転用のデモサーバです。安定したサーバは%(stable_url)sを利用してください。uMapはOpen Sourceですので、自分でサーバを作ることも可能です!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Map of the uMaps" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "マップを作成" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Get inspired, browse maps" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "自分のマップ" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "ログイン" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "サインイン" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "uMapについて" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "フィードバック" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "パスワードを変更" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "ログアウト" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "地図を検索" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "検索" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "非公開の編集用リンク %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "だれでも編集可能" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "非公開の編集リンクからのみ編集可能" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "名称" + +#: umap/models.py:48 +msgid "details" +msgstr "詳細" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "ライセンス詳細ページへのリンク" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "OSMタイルフォーマットを利用したURLテンプレート" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "編集ボックス内のタイルレイヤ並び順" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "指定ユーザのみ編集可能" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "所有者のみ編集可能" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "制限なし (公開)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "リンクを知っている人全員" + +#: umap/models.py:122 +msgid "editors only" +msgstr "編集者のみ" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "概要" + +#: umap/models.py:127 +msgid "center" +msgstr "中心点" + +#: umap/models.py:128 +msgid "zoom" +msgstr "ズーム" + +#: umap/models.py:129 +msgid "locate" +msgstr "現在地" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "読み込み時に現在地を表示?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "マップのライセンスを選択" + +#: umap/models.py:133 +msgid "licence" +msgstr "ライセンス" + +#: umap/models.py:138 +msgid "owner" +msgstr "所有者" + +#: umap/models.py:139 +msgid "editors" +msgstr "編集者" + +#: umap/models.py:140 +msgid "edit status" +msgstr "編集ステータス" + +#: umap/models.py:141 +msgid "share status" +msgstr "共有状況" + +#: umap/models.py:142 +msgid "settings" +msgstr "設定" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "複製元" + +#: umap/models.py:261 +msgid "display on load" +msgstr "読み込み時に表示" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "読み込み時にこのレイヤを表示" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "ホームページに移動" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "%(current_user)sのマップを閲覧" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "アカウントでログインしてください" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "ユーザー名" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "パスワード" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "ログイン" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "連携アカウント選択" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "マップに表示させるレイヤを選択" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "POI: マーカーやライン、ポリゴンなどを追加" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "POIのアイコンと色を調整" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "オプション選択: ミニマップの表示、表示時にユーザの位置へ移動、等々" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "地理データの一括インポート (geojson, gpx, kml, osmなど)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "作成したデータのライセンスを選択" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "サイトへのマップ表示と共有" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "uMapは Open Sourceです!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "デモを表示" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Map of the uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Get inspired, browse maps" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "ログインしました" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "by" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "さらに表示" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "uMapについて" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "フィードバック" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "パスワードを変更" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "パスワードを変更" -#: templates/umap/password_change.html:7 +#: umap/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 "セキュリティ確認のため、古いパスワードを入力してください。次に、入力ミスがないように、新しいパスワードを2回入力してください。" -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "古いパスワード" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "新しいパスワード" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "新しいパスワードの確認" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "パスワードを変更" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "パスワード変更に成功" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "パスワードは変更されました" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "検索結果がありません" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "地図を検索" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "検索" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "マップ表示" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "マップ作成完了です!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "マップが更新されました!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "マップ編集者の更新が完了しました!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "マップを削除できるのは所有者だけです" + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "マップの複製が完了しました!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "レイヤ削除完了" diff --git a/umap/locale/ko/LC_MESSAGES/django.mo b/umap/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 00000000..cebf74f3 Binary files /dev/null and b/umap/locale/ko/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ko/LC_MESSAGES/django.po b/umap/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 00000000..8eaf3cc3 --- /dev/null +++ b/umap/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Dongha Hwang , 2019 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-30 12:39+0000\n" +"Last-Translator: Dongha Hwang \n" +"Language-Team: Korean (http://www.transifex.com/openstreetmap/umap/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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을/를 이용하세요. 자신만의 uMap을 호스팅할 수도 있습니다. uMap은 오픈 소스입니다!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "지도 제작" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "내 지도" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "로그인" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "로그인" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "로그아웃" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "지도 검색" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "검색" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "비공개 편집 링크 %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "누구나 편집할 수 있음" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "비공개 편집 링크를 가진 사람만 편집할 수 있음" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "유지보수 중입니다. 읽기 전용으로 구동 중입니다." + +#: umap/models.py:17 +msgid "name" +msgstr "이름" + +#: umap/models.py:48 +msgid "details" +msgstr "세부 정보" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "라이선스가 명시된 페이지로 이동하는 링크입니다." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "오픈스트리트맵 타일 포맷을 이용한 URL 템플릿" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "편집 창에서 타일 레이어의 순서" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "편집자만 편집할 수 있음" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "소유주만 편집할 수 있음" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "누구나(공개)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "링크를 가지고 있는 사람" + +#: umap/models.py:122 +msgid "editors only" +msgstr "편집자만" + +#: umap/models.py:123 +msgid "blocked" +msgstr "차단됨" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "설명" + +#: umap/models.py:127 +msgid "center" +msgstr "중앙" + +#: umap/models.py:128 +msgid "zoom" +msgstr "줌" + +#: umap/models.py:129 +msgid "locate" +msgstr "위치" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "불러오면서 위치를 잡으시겠습니까?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "지도의 라이선스를 선택해 주세요." + +#: umap/models.py:133 +msgid "licence" +msgstr "라이선스" + +#: umap/models.py:138 +msgid "owner" +msgstr "소유주" + +#: umap/models.py:139 +msgid "editors" +msgstr "편집자" + +#: umap/models.py:140 +msgid "edit status" +msgstr "편집 상태" + +#: umap/models.py:141 +msgid "share status" +msgstr "공유 상태" + +#: umap/models.py:142 +msgid "settings" +msgstr "설정" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "원본:" + +#: umap/models.py:261 +msgid "display on load" +msgstr "불러오면서 표시" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "불러오면서 동시에 이 레이어를 띄웁니다." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "첫 화면으로 이동" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "%(current_user)s의 지도 탐색" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s은/는 지도를 만들지 않았습니다." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "로그인해 주세요" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "사용자명" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "비밀번호" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "로그인" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "제공자를 선택해 주세요" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr " uMap과 OpenStreetMap으로 쉽게 지도를 만들 수 있습니다. 만든 지도는 당신의 사이트에 넣을 수 있습니다." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "지도 레이어를 선택하세요" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "POI 추가하기: 마커, 선, 도형..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "POI의 색·아이콘 관리하기" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "지도의 옵션 관리하기: 미니맵 표시, 사용자의 위치..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "지리 데이터 가져오기(geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "라이선스 선택하기" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "지도를 삽입하고 공유하기" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "게다가 오픈소스입니다!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "데모 사용해 보기" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "uMap의 지도" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "푹 빠져 보세요, 지도를 검색해 보세요" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "로그인되었습니다. 잠시만 기다려 주세요..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "제작:" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "더 보기" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "정보" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "피드백" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "비밀번호 변경" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "비밀번호 변경" + +#: umap/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 "이전 비밀번호를 먼저 입력해 주세요. 그러고 나서 새로운 비밀번호를 2번 입력해 주세요. 비밀번호를 올바르게 입력했는지 확인하는 절차입니다." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "이전 비밀번호" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "새로운 비밀번호" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "새로운 비밀번호 확인" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "비밀번호 변경" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "비밀번호가 성공적으로 변경되었습니다" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "비밀번호가 변경되었습니다." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "지도를 찾을 수 없습니다." + +#: umap/views.py:220 +msgid "View the map" +msgstr "지도 보기" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "축하드립니다, 지도가 생성되었습니다!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "지도가 업데이트되었습니다!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "지도 편집자가 성공적으로 업데이트되었습니다!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "소유주만 지도를 삭제할 수 있습니다." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "축하드립니다, 지도가 복제되었습니다!" + +#: umap/views.py:809 +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..f12e46a4 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..207c5f25 100644 --- a/umap/locale/lt/LC_MESSAGES/django.po +++ b/umap/locale/lt/LC_MESSAGES/django.po @@ -1,220 +1,378 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" "Last-Translator: yohanboniface \n" -"Language-Team: Lithuanian (http://www.transifex.com/projects/p/umap/language/" -"lt/)\n" -"Language: lt\n" +"Language-Team: Lithuanian (http://www.transifex.com/openstreetmap/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" +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Kurti žemėlapį" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Mano žemėlapiai" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Prisijungti" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Užsiregistruoti" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Atsijungti" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Ieškoti žemėlapių" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Ieškoti" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Slapta redagavimo nuoroda %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Visi gali redaguoti" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Redaguojamas tik su slapta nuoroda" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/models.py:17 +msgid "name" +msgstr "vardas" + +#: umap/models.py:48 +msgid "details" +msgstr "išsamiau" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Licenzijos aprašymo nuoroda." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL šablonas OSM kaladėlių formatui" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Žemėlapio sluoksnių tvarka redagavimo lange" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Tik redaktoriai gali keisti" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Tik savininkas gali keisti" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "visi (viešai)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "visi su nuoroda" + +#: umap/models.py:122 +msgid "editors only" +msgstr "tik keitėjai" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "aprašymas" + +#: umap/models.py:127 +msgid "center" +msgstr "centras" + +#: umap/models.py:128 +msgid "zoom" +msgstr "mastelis" + +#: umap/models.py:129 +msgid "locate" +msgstr "nustatyti padėtį" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Nustatyti padėti užsikrovus?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Pasirinkite žemėlapio licenziją." + +#: umap/models.py:133 +msgid "licence" +msgstr "licenzija" + +#: umap/models.py:138 +msgid "owner" +msgstr "savininkas" + +#: umap/models.py:139 +msgid "editors" +msgstr "redaktoriai" + +#: umap/models.py:140 +msgid "edit status" +msgstr "keisti būseną" + +#: umap/models.py:141 +msgid "share status" +msgstr "pasidalinti būsena" + +#: umap/models.py:142 +msgid "settings" +msgstr "nustatymai" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kopija" + +#: umap/models.py:261 +msgid "display on load" +msgstr "rodyti pasikrovus" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Rodyti šį sluoksnį pasrikrovus." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Grįžti į pagrindinį puslapį" + +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Peržiūrėti %(current_user)s žemėlapius" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." msgstr "" -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Daugiau" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Prisijungti prie savo paskyros" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Vartotojo vardas" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Slaptažodis" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Prisijungti" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Pasirinkite teikėją" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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į." -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Pasirinkti žemėlapio sluoksnius" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Pridėti POI: žymės, linijos, poligonai.." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Valdyti POI spalvas ir ikonėles" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/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 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Nustatyti duomenų licenziją" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Įterpti ir dalintis savo žemėlapiu" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "Juk tai atviras kodas!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Kurti žemėlapį" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Išbandyti demo" -#: templates/umap/home.html:10 -#, 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!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" -msgstr "" +msgstr "uMap žemėlapis" -#: templates/umap/home.html:24 +#: umap/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" -msgstr "Mano žemėlapiai" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sėkmingai prisijungėte. Kraunasi..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Prisijungti" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "pagal" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Užsiregistruoti" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Daugiau" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Apie" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Atsiliepimai" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Keisti slaptažodį" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Atsijungti" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Slaptažodžio keitimas" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Senas slaptažodis" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Naujas slaptažodis" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Naujo slaptažodžio patvirtinimas" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Keisti mano slaptažodį" -#: templates/umap/password_change_done.html:6 +#: umap/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 +#: umap/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 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Nerasta." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Ieškoti žemėlapių" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Ieškoti" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" -msgstr "" +msgstr "Peržiūrėti žemėlapį" -#~ msgid "Map settings" -#~ msgstr "Žemėlapio nustatymai" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Sveikinam, Jūsų žemėlapis sukurtas!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Žemėlapis atnaujintas!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Žemėlapio keitėjai atnaujinti!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Tik savininkas gali ištrinti žemėlapį." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Sveikinam, Jūsų žemėlapis buvo nukopijuotas!" + +#: umap/views.py:809 +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..8bae14bb 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..d36f381a 100644 --- a/umap/locale/nl/LC_MESSAGES/django.po +++ b/umap/locale/nl/LC_MESSAGES/django.po @@ -1,207 +1,376 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: 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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" "Last-Translator: yohanboniface \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/umap/language/" -"nl/)\n" -"Language: nl\n" +"Language-Team: Dutch (http://www.transifex.com/openstreetmap/umap/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/404.html:7 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "naam" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." msgstr "" -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets you create maps with OpenStreetMap " "layers in a minute and embed them in your site." msgstr "" -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "" -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "" -#: templates/umap/about_summary.html:14 +#: umap/templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" msgstr "" -#: templates/umap/about_summary.html:15 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "" -#: templates/umap/home.html:10 -#, 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 "" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "" -#: templates/umap/navigation.html:12 -msgid "My maps" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." msgstr "" -#: templates/umap/navigation.html:14 -msgid "Log in" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" msgstr "" -#: templates/umap/navigation.html:14 -msgid "Sign in" +#: umap/templates/umap/map_list.html:11 +msgid "More" msgstr "" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/no/LC_MESSAGES/django.mo b/umap/locale/no/LC_MESSAGES/django.mo new file mode 100644 index 00000000..bbc7bb9c Binary files /dev/null and b/umap/locale/no/LC_MESSAGES/django.mo differ diff --git a/umap/locale/no/LC_MESSAGES/django.po b/umap/locale/no/LC_MESSAGES/django.po new file mode 100644 index 00000000..c676fffe --- /dev/null +++ b/umap/locale/no/LC_MESSAGES/django.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-24 17:08+0000\n" +"Last-Translator: Binnette \n" +"Language-Team: Norwegian (http://www.transifex.com/openstreetmap/umap/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/pl/LC_MESSAGES/django.mo b/umap/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 00000000..4b2945d8 Binary files /dev/null and b/umap/locale/pl/LC_MESSAGES/django.mo differ diff --git a/umap/locale/pl/LC_MESSAGES/django.po b/umap/locale/pl/LC_MESSAGES/django.po index 5999965e..9064f4f7 100644 --- a/umap/locale/pl/LC_MESSAGES/django.po +++ b/umap/locale/pl/LC_MESSAGES/django.po @@ -4,116 +4,28 @@ # # Translators: # Daniel Koć , 2015 +# endro, 2016 # endro, 2015 -# Teiron , 2016 +# Maciej Kowalik , 2016 +# maro21 OSM, 2020 +# Piotr Strębski , 2020 +# Teiron, 2016 +# Tomasz Nycz , 2018 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" -"Language-Team: Polish (http://www.transifex.com/yohanboniface/umap/language/pl/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-26 22:30+0000\n" +"Last-Translator: maro21 OSM\n" +"Language-Team: Polish (http://www.transifex.com/openstreetmap/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" -msgstr "Zabierz mnie na stronę główną" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "Przeglądaj mapy %(current_user)s" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Wprowadź nicki edytorów do dodania..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Wpisz nick nowego właściciela..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "przez" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Więcej" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Proszę zalogować się na swoje konto" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Nazwa użytkownika" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Hasło" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Zaloguj" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Proszę wybrać serwis" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap pozwoli ci stworzyć mapy z podkładem OpenStreetMap w minutę i umieścić je na twojej stronie" - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Wybierz warstwy swojej mapy" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Dodaj POI: znaczniki, linie, obszary..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Zarządzaj kolorami oraz ikonami" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Zmieniaj ustawienia mapy: wyświetlanie mini-mapy, lokalizacja użytkownika po załadowaniu..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Importuj geostrukturalne dane (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Wybierz licencję dla swoich danych" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Umieszczaj mapy w sieci i dziel się nimi" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "I to wszystko na wolnej licencji!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Stwórz mapę" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Wypróbuj wersję demo" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -122,88 +34,351 @@ msgid "" "instance, it's open source!" msgstr "To jest serwer demonstracyjny, używany do testów i niefinalnych wydań. Jeśli potrzebujesz stabilnego serwera, użyj %(stable_url)s. Możesz także postawić swój własny, wszystko jest open source!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Mapa uMapek" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Stwórz mapę" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Zainspiruj się" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Moje mapy" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Logowanie" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Rejestracja" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "Informacje" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Kontakt" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Zmień hasło" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" -msgstr "Wyloguj" +msgstr "Wyloguj się" -#: templates/umap/password_change.html:6 -msgid "Password change" -msgstr "Zmiana hasła" - -#: 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 "Prosimy wpisać swoje poprzednie hasło, a następnie podać nowe dwukrotnie, by zweryfikować czy wpisało je poprawnie" - -#: templates/umap/password_change.html:12 -msgid "Old password" -msgstr "Stare hasło" - -#: templates/umap/password_change.html:14 -msgid "New password" -msgstr "Nowe hasło" - -#: templates/umap/password_change.html:16 -msgid "New password confirmation" -msgstr "Potwierdź nowe hasło" - -#: templates/umap/password_change.html:18 -msgid "Change my password" -msgstr "Zmień moje hasło" - -#: templates/umap/password_change_done.html:6 -msgid "Password change successful" -msgstr "Zmiana hasła powiodła się" - -#: templates/umap/password_change_done.html:7 -msgid "Your password was changed." -msgstr "Twoje hasło zostało zmienione." - -#: templates/umap/search.html:13 -msgid "Not map found." -msgstr "Nie znaleziono mapy." - -#: templates/umap/search_bar.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 msgid "Search maps" msgstr "Znajdź mapy" -#: templates/umap/search_bar.html:9 +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 msgid "Search" msgstr "Szukaj" -#: views.py:190 +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Sekretnym odnośnikiem do edycji jest %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Wszyscy mogą edytować" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Edycja możliwa tylko z sekretnym odnośnikiem" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Strona jest w trybie tylko do odczytu z powodu prac konserwacyjnych" + +#: umap/models.py:17 +msgid "name" +msgstr "nazwa" + +#: umap/models.py:48 +msgid "details" +msgstr "szczegóły" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Odnośnik do strony ze szczegółowym opisem licencji." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Szablon URL używający formatu kafelków OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Kolejność podkładów w oknie edycji" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Tylko edytorzy mogą edytować" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Tylko właściciel może edytować" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "wszyscy (publiczne)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "każdy z linkiem" + +#: umap/models.py:122 +msgid "editors only" +msgstr "tylko edytorzy" + +#: umap/models.py:123 +msgid "blocked" +msgstr "zablokowane" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "opis" + +#: umap/models.py:127 +msgid "center" +msgstr "środek" + +#: umap/models.py:128 +msgid "zoom" +msgstr "przybliżenie" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokalizuj" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Lokalizować użytkownika po załadowaniu?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Wybierz licencję mapy." + +#: umap/models.py:133 +msgid "licence" +msgstr "licencja" + +#: umap/models.py:138 +msgid "owner" +msgstr "właściciel" + +#: umap/models.py:139 +msgid "editors" +msgstr "edytorzy" + +#: umap/models.py:140 +msgid "edit status" +msgstr "status edycji" + +#: umap/models.py:141 +msgid "share status" +msgstr "udostępnij status" + +#: umap/models.py:142 +msgid "settings" +msgstr "ustawienia" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kopia" + +#: umap/models.py:261 +msgid "display on load" +msgstr "wyświetl po załadowaniu" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Wyświetl tę warstwę po załadowaniu." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Zabierz mnie na stronę główną" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Przeglądaj mapy %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s nie posiada map." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Proszę zalogować się na swoje konto" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nazwa użytkownika" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Hasło" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Zaloguj się" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Proszę wybrać serwis" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap umożliwia ci utworzenie w kilka minut mapy z użyciem warstw OpenStreetMap i zamieszczenie jej na swojej stronie internetowej." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Wybierz warstwy swojej mapy" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Dodaj POI: znaczniki, linie, obszary..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Zarządzaj kolorami oraz ikonami" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Zmieniaj ustawienia mapy: wyświetlanie minimapy, lokalizacja użytkownika po załadowaniu..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importuj geostrukturalne dane (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Wybierz licencję dla swoich danych" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Umieszczaj mapy w sieci i dziel się nimi" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "I to wszystko na wolnej licencji!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Zobacz wersję demo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa uMapek" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Zainspiruj się, przejrzyj mapy" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Jesteś zalogowany. Kontynuowanie..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "przez" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Więcej" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Informacje" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Kontakt" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Zmień hasło" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Zmiana hasła" + +#: umap/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 "Prosimy wpisać swoje poprzednie hasło, a następnie podać nowe dwukrotnie, by zweryfikować, czy wpisano je poprawnie" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Stare hasło" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Nowe hasło" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Potwierdź nowe hasło" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Zmień moje hasło" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Zmiana hasła powiodła się" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Twoje hasło zostało zmienione." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Nie znaleziono mapy." + +#: umap/views.py:220 msgid "View the map" msgstr "Zobacz mapę" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Gratulacje, twoja mapa została utworzona!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Mapa została zaktualizowana!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Edytorzy mapy zaktualizowani pomyślnie!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Tylko właściciel może usunąć mapę." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulacje, twoja mapa została skopiowana!" + +#: umap/views.py:809 +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..04ca6de1 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..9b5924e0 100644 --- a/umap/locale/pt/LC_MESSAGES/django.po +++ b/umap/locale/pt/LC_MESSAGES/django.po @@ -4,115 +4,22 @@ # # Translators: # Joao Ponce de Leao Paulouro , 2014 -# Rui , 2016 +# Rui , 2016,2018-2019 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-12-22 10:03+0000\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-14 17:11+0000\n" "Last-Translator: Rui \n" -"Language-Team: Portuguese (http://www.transifex.com/yohanboniface/umap/language/pt/)\n" +"Language-Team: Portuguese (http://www.transifex.com/openstreetmap/umap/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "Ir para a página principal" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "Consulte os mapas de %(current_user)s" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Para adicionar, digite o nome do editor..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Escreva a nova alcunha do proprietário..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "por" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Mais" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Por favor entre na sua conta" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Nome de utilizador" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Palavra-passe" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Entrar" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Por favor escolha um fornecedor" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap permite criar mapas através de camadas do OpenStreetMap num minuto e mostrá-los no seu site." - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Escolha as camadas do mapa" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Adicionar POIs: marcadores, linhas, polígonos..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Gerir as cores dos POI e ícones" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Gerir diversas opções: mostrar um minimapa, localizar o utilizador ao carregar..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Importação em massa de dados geográficos (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Escolha uma licença para os seus dados" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Exportar e partilhar o seu mapa" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "E está disponível em código aberto!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Criar um mapa" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Testar a demo" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -121,88 +28,351 @@ msgid "" "instance, it's open source!" msgstr "Esta é uma versão de demonstração, utilizada para testes e pré-lançamentos. Se precisar de uma versão estável, por favor utilize %(stable_url)s. Pode também alojar a sua própria instância, e é em código aberto!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Mapa dos uMaps" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Criar um mapa" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Inspire-se, explore os mapas" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Os meus mapas" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Entrar" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Criar conta" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "Sobre" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Contactar" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Alterar palavra-passe" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "Sair" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Procurar mapas" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Procurar" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link secreto para edição é %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Todos podem editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Unicamente editável através de link secreto" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "O site está em modo de leitura para manutenção" + +#: umap/models.py:17 +msgid "name" +msgstr "nome" + +#: umap/models.py:48 +msgid "details" +msgstr "detalhes" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link para uma página detalhando a licença." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modelo de URL no formato de telas OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordem das camadas na caixa de edição" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Só editores podem editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Só o proprietário pode editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "todos (público)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "qualquer um com o link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "só editores" + +#: umap/models.py:123 +msgid "blocked" +msgstr "bloqueado" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descrição" + +#: umap/models.py:127 +msgid "center" +msgstr "centro" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizar" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Localizar utilizador no início?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Escolha uma licença para o mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licença" + +#: umap/models.py:138 +msgid "owner" +msgstr "proprietário" + +#: umap/models.py:139 +msgid "editors" +msgstr "editores" + +#: umap/models.py:140 +msgid "edit status" +msgstr "editar estado" + +#: umap/models.py:141 +msgid "share status" +msgstr "partilhar estado" + +#: umap/models.py:142 +msgid "settings" +msgstr "parâmetros" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clone de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostrar no início" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Apresentar esta camada ao carregar." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Ir para a página principal" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Consulte os mapas de %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s não tem mapas." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Por favor entre na sua conta" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nome de utilizador" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Palavra-passe" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Entrar" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Por favor escolha um fornecedor" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "O uMap permite criar mapas através de camadas do OpenStreetMap num minuto e mostrá-los no seu site." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Escolha as camadas do mapa" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Adicionar POIs: marcadores, linhas, polígonos..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Gerir as cores dos POI e ícones" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Gerir diversas opções: mostrar um minimapa, localizar o utilizador ao carregar..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importação em massa de dados geográficos (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Escolha uma licença para os seus dados" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Exportar e partilhar o seu mapa" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "E está disponível em código aberto!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Testar a demo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa dos uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspire-se, explore os mapas" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sucesso na identificação. Continuando..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "por" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mais" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Sobre" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Contactar" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Alterar palavra-passe" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "Alterar palavra-passe" -#: templates/umap/password_change.html:7 +#: umap/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 "Por favor introduza a sua palavra-passe antiga, por motivos de segurança, e então introduza a sua nova palavra-passe 2 vezes para que possamos verificar se a digitou corretamente." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "Palavra-passe antiga" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "Nova palavra-passe" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "Confirmação da palavra-passe" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "Alterar a minha palavra-passe" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "Alteração da palavra-passe bem sucedida" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "A sua palavra-passe foi alterada" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Nenhum mapa encontrado." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Procurar mapas" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Procurar" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Ver o mapa" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Parabéns, o seu mapa foi criado!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "O mapa foi atualizado!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Os editores do mapa foram atualizados com sucesso!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Só o proprietário pode eliminar o mapa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Parabéns, o seu mapa foi clonado!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Camada eliminada com sucesso." diff --git a/umap/locale/pt_BR/LC_MESSAGES/django.mo b/umap/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 00000000..8a844c98 Binary files /dev/null and b/umap/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/umap/locale/pt_BR/LC_MESSAGES/django.po b/umap/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 00000000..d1eb64bc --- /dev/null +++ b/umap/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# 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,2018 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/openstreetmap/umap/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Esta é uma versão de demonstração, utilizada para testes e pré-lançamentos. Se precisar de uma versão estável, por favor utilize %(stable_url)s. Pode também alojar a sua própria instância, e é em código aberto!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Criar um mapa" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Os meus mapas" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Entrar" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Criar conta" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Sair" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Procurar mapas" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Procurar" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link secreto para edição é %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Todos podem editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Unicamente editável através de link secreto" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "O site está em modo de leitura para manutenção" + +#: umap/models.py:17 +msgid "name" +msgstr "nome" + +#: umap/models.py:48 +msgid "details" +msgstr "detalhes" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link para uma página detalhando a licença." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modelo de URL no formato de telas OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordem das camadas na caixa de edição" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Só editores podem editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Só o proprietário pode editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "todos (público)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "qualquer um com o link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "só editores" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descrição" + +#: umap/models.py:127 +msgid "center" +msgstr "centro" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizar" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Localizar usuário no início?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Escolha uma licença para o mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licença" + +#: umap/models.py:138 +msgid "owner" +msgstr "proprietário" + +#: umap/models.py:139 +msgid "editors" +msgstr "editores" + +#: umap/models.py:140 +msgid "edit status" +msgstr "editar estado" + +#: umap/models.py:141 +msgid "share status" +msgstr "partilhar estado" + +#: umap/models.py:142 +msgid "settings" +msgstr "parâmetros" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clone de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostrar no início" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Apresentar esta camada ao carregar." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Ir para a página principal" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Consulte os mapas de %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s não tem mapas." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Por favor entre na sua conta" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nome de usuário" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Palavra-passe" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Entrar" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Por favor escolha um fornecedor" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Escolha as camadas do mapa" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Adicionar POIs: marcadores, linhas, polígonos..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Gerir as cores dos POI e ícones" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Gerir diversas opções: mostrar um minimapa, localizar o utilizador ao carregar..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importação em massa de dados geográficos (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Escolha uma licença para os seus dados" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Exportar e partilhar o seu mapa" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "E está disponível em código aberto!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Testar a demo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa dos uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspire-se, explore os mapas" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sucesso na identificação. Continuando..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "por" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mais" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Sobre" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Contactar" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Alterar palavra-passe" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Alterar palavra-passe" + +#: umap/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 "Por favor introduza a sua palavra-passe antiga, por motivos de segurança, e então introduza a sua nova palavra-passe 2 vezes para que possamos verificar se a digitou corretamente." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Palavra-passe antiga" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Nova palavra-passe" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Confirmação da palavra-passe" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Alterar a minha palavra-passe" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Alteração da palavra-passe bem sucedida" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "A sua palavra-passe foi alterada" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Nenhum mapa encontrado." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Ver o mapa" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Parabéns, o seu mapa foi criado!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "O mapa foi atualizado!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Os editores do mapa foram atualizados com sucesso!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Só o proprietário pode eliminar o mapa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Parabéns, o seu mapa foi clonado!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Camada eliminada com sucesso." diff --git a/umap/locale/pt_PT/LC_MESSAGES/django.mo b/umap/locale/pt_PT/LC_MESSAGES/django.mo new file mode 100644 index 00000000..445cbe7c Binary files /dev/null and b/umap/locale/pt_PT/LC_MESSAGES/django.mo differ diff --git a/umap/locale/pt_PT/LC_MESSAGES/django.po b/umap/locale/pt_PT/LC_MESSAGES/django.po new file mode 100644 index 00000000..b4d0f3ff --- /dev/null +++ b/umap/locale/pt_PT/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# 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,2018-2019 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-14 17:09+0000\n" +"Last-Translator: Rui \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/openstreetmap/umap/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Esta é uma versão de demonstração, utilizada para testes e pré-lançamentos. Se precisar de uma versão estável, por favor utilize %(stable_url)s. Pode também alojar a sua própria instância, e é em código aberto!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Criar um mapa" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Os meus mapas" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Entrar" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Criar conta" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Sair" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Procurar mapas" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Procurar" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link secreto para edição é %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Todos podem editar" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Unicamente editável através de link secreto" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "O site está em modo de leitura para manutenção" + +#: umap/models.py:17 +msgid "name" +msgstr "nome" + +#: umap/models.py:48 +msgid "details" +msgstr "detalhes" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Link para uma página detalhando a licença." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Modelo de URL no formato de telas OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordem das camadas na caixa de edição" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Só editores podem editar" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Só o proprietário pode editar" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "todos (público)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "qualquer um com o link" + +#: umap/models.py:122 +msgid "editors only" +msgstr "só editores" + +#: umap/models.py:123 +msgid "blocked" +msgstr "bloqueado" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "descrição" + +#: umap/models.py:127 +msgid "center" +msgstr "centro" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zoom" + +#: umap/models.py:129 +msgid "locate" +msgstr "localizar" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Localizar usuário no início?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Escolha uma licença para o mapa." + +#: umap/models.py:133 +msgid "licence" +msgstr "licença" + +#: umap/models.py:138 +msgid "owner" +msgstr "proprietário" + +#: umap/models.py:139 +msgid "editors" +msgstr "editores" + +#: umap/models.py:140 +msgid "edit status" +msgstr "editar estado" + +#: umap/models.py:141 +msgid "share status" +msgstr "partilhar estado" + +#: umap/models.py:142 +msgid "settings" +msgstr "parâmetros" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Clone de" + +#: umap/models.py:261 +msgid "display on load" +msgstr "mostrar no início" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Apresentar esta camada ao carregar." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Ir para a página principal" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Consulte os mapas de %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s não tem mapas." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Por favor entre na sua conta" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Nome de utilizador" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Palavra-passe" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Entrar" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Por favor escolha um fornecedor" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "O uMap permite criar mapas através de camadas do OpenStreetMap num minuto e mostrá-los no seu site." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Escolha as camadas do mapa" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Adicionar POIs: marcadores, linhas, polígonos..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Gerir as cores dos POI e ícones" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Gerir diversas opções: mostrar um minimapa, localizar o utilizador ao carregar..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importação em massa de dados geográficos (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Escolha uma licença para os seus dados" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Exportar e partilhar o seu mapa" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "E está disponível em código aberto!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Testar a demo" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa dos uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspire-se, explore os mapas" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Sucesso na identificação. Continuando..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "por" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mais" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Sobre" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Contactar" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Alterar palavra-passe" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Alterar palavra-passe" + +#: umap/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 "Por favor introduza a sua palavra-passe antiga, por motivos de segurança, e então introduza a sua nova palavra-passe 2 vezes para que possamos verificar se a digitou corretamente." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Palavra-passe antiga" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Nova palavra-passe" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Confirmação da palavra-passe" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Alterar a minha palavra-passe" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Alteração da palavra-passe bem sucedida" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "A sua palavra-passe foi alterada" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Nenhum mapa encontrado." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Ver o mapa" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Parabéns, o seu mapa foi criado!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "O mapa foi atualizado!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Os editores do mapa foram atualizados com sucesso!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Só o proprietário pode eliminar o mapa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Parabéns, o seu mapa foi clonado!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Camada eliminada com sucesso." diff --git a/umap/locale/ro/LC_MESSAGES/django.mo b/umap/locale/ro/LC_MESSAGES/django.mo new file mode 100644 index 00000000..467c72aa Binary files /dev/null and b/umap/locale/ro/LC_MESSAGES/django.mo differ diff --git a/umap/locale/ro/LC_MESSAGES/django.po b/umap/locale/ro/LC_MESSAGES/django.po new file mode 100644 index 00000000..ea6196e2 --- /dev/null +++ b/umap/locale/ro/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# cip , 2018-2019 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-05-21 10:50+0000\n" +"Last-Translator: cip \n" +"Language-Team: Romanian (http://www.transifex.com/openstreetmap/umap/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Creați o hartă" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Hărțile mele" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Caută hărți" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Caută" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "nume" + +#: umap/models.py:48 +msgid "details" +msgstr "detalii" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "licență" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "setări" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Parola" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap vă permite să creați hărți cu straturi OpenStreetMap într-un minut și să le încorporați în site-ul dumneavoastră." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Despre" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Schimbă parola" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Parola veche" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Parola nouă" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Felicitări, harta dumneavoastră a fost creată!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Harta a fost actualizată!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/ru/LC_MESSAGES/django.mo b/umap/locale/ru/LC_MESSAGES/django.mo index 919eb1df..a15647ac 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..b7cb3c77 100644 --- a/umap/locale/ru/LC_MESSAGES/django.po +++ b/umap/locale/ru/LC_MESSAGES/django.po @@ -3,116 +3,26 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Alexander Istomin, 2018 # Кругликов Илья , 2014 -# Кругликов Илья , 2016 +# Кругликов Илья , 2014 +# Nikolay Parukhin , 2019 +# Кругликов Илья , 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: 2016-10-20 07:57+0000\n" -"Last-Translator: Кругликов Илья \n" -"Language-Team: Russian (http://www.transifex.com/yohanboniface/umap/language/ru/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-08-27 14:21+0000\n" +"Last-Translator: Nikolay Parukhin \n" +"Language-Team: Russian (http://www.transifex.com/openstreetmap/umap/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 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 "Перейти на заглавную страницу" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "Просмотр карт пользователя %(current_user)s" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Введите имя редактора, чтобы добавить..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Введите имя нового владельца ..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "от" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Ещё" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Войдите, используя свои учётные данные" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Имя пользователя" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Пароль" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Войти" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Выберите провайдера аутентификации" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap даёт вам возможность создавать карты, основанные на данных OpenStreetMap, в считанные минуты, и публиковать их на своём сайте." - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Выбирайте слои для вашей карты" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Добавляйте точки интереса: маркеры, линии, полигоны..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Выбирайте нужные цвета и изображения для объектов" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Меняйте свойства карты: отображение миникарты и других элементов управления..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Импортируйте свои геоданные (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Выберите лицензию для вашей карты" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Встраивайте вашу карту и делитесь ей" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "И это открытое ПО!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Создать карту" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Пробная карта" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -121,88 +31,351 @@ msgid "" "instance, it's open source!" msgstr "Это демонстрационный сайт, использующийся для тестов и подготовки стабильных выпусков. Если вам нужна стабильная версия, перейдите на %(stable_url)s. Вы можете создать свою версию, потому что это открытое ПО!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Карты uMap" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Создать карту" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Смотрите чужие карты и вдохновляйтесь" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Мои карты" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Войти" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Зарегистрироваться" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "О проекте" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Обратная связь" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Сменить пароль" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "Выйти" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Поиск карт" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Найти" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Секретная ссылка для редактирования: %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Все могут редактировать" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Редактирование возможно только при наличии секретной ссылки" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Сайт доступен только для обслуживания" + +#: umap/models.py:17 +msgid "name" +msgstr "название" + +#: umap/models.py:48 +msgid "details" +msgstr "подробности" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Ссылка на страницу с описанием лицензии" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "шаблон ссылки использует формат слоя OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Расположите слои карт в окне редактирования" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Только редакторы могут редактировать" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Только владелец может редактировать" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "все (без ограничений)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "все, у кого есть ссылка" + +#: umap/models.py:122 +msgid "editors only" +msgstr "только редакторы" + +#: umap/models.py:123 +msgid "blocked" +msgstr "блокировано" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "описание" + +#: umap/models.py:127 +msgid "center" +msgstr "центр" + +#: umap/models.py:128 +msgid "zoom" +msgstr "масштаб" + +#: umap/models.py:129 +msgid "locate" +msgstr "геолокация" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Использовать геолокацию при загрузке?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Выберите лицензию для карты." + +#: umap/models.py:133 +msgid "licence" +msgstr "лицензия" + +#: umap/models.py:138 +msgid "owner" +msgstr "владелец" + +#: umap/models.py:139 +msgid "editors" +msgstr "редакторы" + +#: umap/models.py:140 +msgid "edit status" +msgstr "статус редактирования" + +#: umap/models.py:141 +msgid "share status" +msgstr "статус совместного использования" + +#: umap/models.py:142 +msgid "settings" +msgstr "настройки" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Копия" + +#: umap/models.py:261 +msgid "display on load" +msgstr "показывать при загрузке" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Показать этот слой при загрузке." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Перейти на заглавную страницу" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Просмотр карт пользователя %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "У пользователя %(current_user)sнет карт." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Войдите, используя свою учётную запись" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Имя пользователя" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Пароль" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Войти" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Выберите провайдера аутентификации" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap даёт вам возможность создавать карты, основанные на данных OpenStreetMap, в считанные минуты, и публиковать их на своём сайте." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Выбирайте слои для вашей карты" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Добавляйте точки интереса: маркеры, линии, полигоны..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Выбирайте нужные цвета и изображения для объектов" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Меняйте свойства карты: отображение миникарты и других элементов управления..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Импортируйте свои геоданные (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Выберите лицензию для вашей карты" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Встраивайте вашу карту и делитесь ей" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "И это открытое ПО!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Пробная карта" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Карты uMap" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Смотрите чужие карты и вдохновляйтесь" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Вы вошли. Продолжим..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "от" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Ещё" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "О проекте" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Обратная связь" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Сменить пароль" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "Изменение пароля" -#: templates/umap/password_change.html:7 +#: umap/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 "Введите старый пароль для безопасности, затем введите новый пароль дважды, чтобы убедиться, что он набран без ошибок." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "Старый пароль" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "Новый пароль" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "Новый пароль для проверки" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "Изменить пароль" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "Пароль изменён" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "Ваш пароль был изменён." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Карта не найдена." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Поиск карт" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Найти" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Посмотреть карту" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Поздравляем, ваша карта готова!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Карта обновлена!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Редакторы карты успешно обновлены!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Только владелец карты может удалить её." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Поздравляем, ваша карта скопирована!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Слой удалён." diff --git a/umap/locale/si_LK/LC_MESSAGES/django.mo b/umap/locale/si_LK/LC_MESSAGES/django.mo new file mode 100644 index 00000000..75220180 Binary files /dev/null and b/umap/locale/si_LK/LC_MESSAGES/django.mo differ diff --git a/umap/locale/si_LK/LC_MESSAGES/django.po b/umap/locale/si_LK/LC_MESSAGES/django.po new file mode 100644 index 00000000..754cdd36 --- /dev/null +++ b/umap/locale/si_LK/LC_MESSAGES/django.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/openstreetmap/umap/language/si_LK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: si_LK\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/sk_SK/LC_MESSAGES/django.mo b/umap/locale/sk_SK/LC_MESSAGES/django.mo new file mode 100644 index 00000000..00edf927 Binary files /dev/null and b/umap/locale/sk_SK/LC_MESSAGES/django.mo differ diff --git a/umap/locale/sk_SK/LC_MESSAGES/django.po b/umap/locale/sk_SK/LC_MESSAGES/django.po index cd4e7a8c..64c20baf 100644 --- a/umap/locale/sk_SK/LC_MESSAGES/django.po +++ b/umap/locale/sk_SK/LC_MESSAGES/django.po @@ -10,110 +10,17 @@ 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-10-09 11:19+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/yohanboniface/umap/language/sk_SK/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Slovak (Slovakia) (http://www.transifex.com/openstreetmap/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" -msgstr "Prejsť na domovskú stránku" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "Prezerať si mapy používateľa %(current_user)s" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Vložte prezývku prispievateľa k pridaniu…" - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "Zadajte novú prezývku vlastníka…" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr ", autor:" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Viac" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "Prosím, prihláste sa pomocou vášho účtu" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "Používateľské meno" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "Heslo" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "Prihlásiť" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "Prosím vyberte poskytovateľa mapy" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "Vytvárajte a zdieľajte vlastné OpenStreet mapy a behom pár minút ich použite na svojom webe." - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "Zvoľte vrstvy vašej mapy" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "Pridajte značky, čiary, trasy, oblasti." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "Nastavte farby a ikony pre POI" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "Nastavte ďalšie možnosti - minimapu, polohu používateľa pri štarte, …" - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "Import existujúcich geoúdajov v mnohých formátoch (geojson, gpx, kml, osm...)" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "Vyberte licenciu pre vaše údaje" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "Zdieľajte a vložte mapu na inú webstránku" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "A celé je to open source!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Vytvoriť mapu" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "Hrajte sa s demom" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -122,88 +29,351 @@ msgid "" "instance, it's open source!" msgstr "Toto je ukážková verzia, používaná na testovanie nových vydaní uMap. Ak potrebujete stabilnú verzu, použite %(stable_url)s. Môžete si tiež stiahnúť celý projekt a nainštalovať ho na svoj server - je to open source!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "Mapa všetkých uMap" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Vytvoriť mapu" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "Inšpirujte sa prezeraním iných máp" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "Moje mapy" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "Prihlásiť sa" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "Zaregistrovať sa" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "O uMap" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "Napíšte nám" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "Zmeniť heslo" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "Odhlásiť sa" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Hľadať mapy" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Hľadať" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Tajný odkaz umožňujúci úpravu mapy je %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Hocikto môže upravovať" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Možné upravovať iba pomocou tajného odkazu" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "názov" + +#: umap/models.py:48 +msgid "details" +msgstr "podrobnosti" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Odkaz na stránku s podrobnejším popisom licencie." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Vzor URL vo formáte pre dlaždice OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Poradie vrstiev pri úprave" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Upravovať môžu iba prispievatelia" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Upravovať môže iba vlastník" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "hocikto (verejná)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "hocikto pomocou odkazu" + +#: umap/models.py:122 +msgid "editors only" +msgstr "iba prispievatelia" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "popis" + +#: umap/models.py:127 +msgid "center" +msgstr "stred" + +#: umap/models.py:128 +msgid "zoom" +msgstr "priblíženie" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokalizovať" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Nájsť polohu používateľa pri štarte?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Vyberte si licenciu mapy." + +#: umap/models.py:133 +msgid "licence" +msgstr "licencia" + +#: umap/models.py:138 +msgid "owner" +msgstr "vlastník" + +#: umap/models.py:139 +msgid "editors" +msgstr "prispievatelia" + +#: umap/models.py:140 +msgid "edit status" +msgstr "kto môže vykonávať úpravy" + +#: umap/models.py:141 +msgid "share status" +msgstr "nastavenie zdieľania" + +#: umap/models.py:142 +msgid "settings" +msgstr "nastavenia" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kópia" + +#: umap/models.py:261 +msgid "display on load" +msgstr "zobraziť pri štarte" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Zobraziť túto vrstvu pri štarte." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Prejsť na domovskú stránku" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Prezerať si mapy používateľa %(current_user)s" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Prosím, prihláste sa pomocou vášho účtu" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Používateľské meno" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Heslo" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Prihlásiť" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Prosím vyberte poskytovateľa mapy" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Zvoľte vrstvy vašej mapy" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Pridajte značky, čiary, trasy, oblasti." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Nastavte farby a ikony pre POI" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Nastavte ďalšie možnosti - minimapu, polohu používateľa pri štarte, …" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Import existujúcich geoúdajov v mnohých formátoch (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Vyberte licenciu pre vaše údaje" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Zdieľajte a vložte mapu na inú webstránku" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "A celé je to open source!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Hrajte sa s demom" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Mapa všetkých uMap" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inšpirujte sa prezeraním iných máp" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Ste prihláseni. Pokračujeme ďalej…" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr ", autor:" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Viac" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "O uMap" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Napíšte nám" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Zmeniť heslo" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "Zmena hesla" -#: templates/umap/password_change.html:7 +#: umap/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 "Prosím, z dôvodu bezpečnosti zadajte vaše staré heslo a potom zadajte nové heslo dvakrát, aby sme mohli overiť, že ste ho zadali správne." -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "Staré heslo" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "Nové heslo" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "Potvrďte nové heslo" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "Zmeniť moje heslo" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "Heslo sa úspešne zmenilo" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "Vaše heslo sa zmenilo." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Žiadna mapa sa nenašla." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Hľadať mapy" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Hľadať" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Prezrieť si túto mapu" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Gratulujeme, vaša mapa bola vytvorená!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Mapa bola aktualizována!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Zoznam prispievovateľov bol úspešne upravený!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Iba vlastník môže vymazať túto mapu." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Gratulujeme, bola vytvorená kópia mapy!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Vrstva bola úspešne vymazaná." diff --git a/umap/locale/sl/LC_MESSAGES/django.mo b/umap/locale/sl/LC_MESSAGES/django.mo new file mode 100644 index 00000000..8329c51c Binary files /dev/null and b/umap/locale/sl/LC_MESSAGES/django.mo differ diff --git a/umap/locale/sl/LC_MESSAGES/django.po b/umap/locale/sl/LC_MESSAGES/django.po new file mode 100644 index 00000000..4b265f9f --- /dev/null +++ b/umap/locale/sl/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Matej Urbančič <>, 2018 +# Štefan Baebler , 2019 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Slovenian (http://www.transifex.com/openstreetmap/umap/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Preizkusna različica je na voljo za pregled in spoznavanje funkcionalnosti. Če potrebujete stabilno različico, uporabite %(stable_url)s. Seveda lahko vzpostavite svoj strežnik, saj je orodje odprtokodno!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Ustvari zemljevid" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Moji zemljevidi" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Prijava" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Vpis" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Odjava" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Poišči zemljevide" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Poišči" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Skrivna povezava za urejanje je %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Vsakdo lahko ureja" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Urejanje je mogoče le prek posebne skrivne povezave" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Zaradi vzdrževanja je strežnik na voljo samo za ogled." + +#: umap/models.py:17 +msgid "name" +msgstr "ime" + +#: umap/models.py:48 +msgid "details" +msgstr "podrobnosti" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Povezava do strani, kjer je objavljeno dovoljenje." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Predloga naslova URL z uporabo zapisa OSM." + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Vrstni red plasti v urejevalniku" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Urejajo lahko le uredniki" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Ureja lahko le lastnik" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "kdorkoli (javno)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "kdorkoli s povezavo" + +#: umap/models.py:122 +msgid "editors only" +msgstr "le uredniki" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "opis" + +#: umap/models.py:127 +msgid "center" +msgstr "središče" + +#: umap/models.py:128 +msgid "zoom" +msgstr "približaj" + +#: umap/models.py:129 +msgid "locate" +msgstr "določi mesto" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Al naj se ob zagonu določi trenutno mesto uporabnika?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Izbor dovoljenja za zemljevid." + +#: umap/models.py:133 +msgid "licence" +msgstr "dovoljenje" + +#: umap/models.py:138 +msgid "owner" +msgstr "lastnik" + +#: umap/models.py:139 +msgid "editors" +msgstr "uredniki" + +#: umap/models.py:140 +msgid "edit status" +msgstr "stanje urejanja" + +#: umap/models.py:141 +msgid "share status" +msgstr "stanje souporabe" + +#: umap/models.py:142 +msgid "settings" +msgstr "nastavitve" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Klon zemljevida" + +#: umap/models.py:261 +msgid "display on load" +msgstr "pokaži ob zagonu" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Pokaži to plast med nalaganjem." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Nazaj na začetno stran" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Prebrskaj zemljevide (%(current_user)s)" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s nima nobenega zemljevida." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Prijavite se z računom" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Uporabniško ime" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Geslo" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Prijava" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Izbor ponudnika" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Izbor plasti na zemljevidu" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Dodajanje točk POI: označbe, črte, polja ..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Prilagajanje ikon in barv točk POI" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Upravljanje možnosti zemljevidov: določanje uporabnikov, vrst prikaza ..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Paketno uvažanje geografskih podatkov (geojson, gpx, kml, osm ...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Izbor dovoljenja za vpisane podatke" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Vstavljanje in objavljanje zemljevida" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Povrh vsega pa je projekt še odprtokoden!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Pokaži preizkusne strani" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Zemljevid spletišča uMaps" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Poiščite zamisli, prebrskajte zemljevide" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Prijava je uspešno končana. Poteka nalaganje vsebine ..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "–" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Več" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "O projektu" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Odziv" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Zamenjaj geslo" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Spremeni geslo" + +#: umap/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 "Iz varnostnih razlogov morate vpisati staro geslo in nato še dvakrat vpisati novo, da se prepričate v pravilnost vpisa." + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Staro geslo" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Novo geslo" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Potrditev novega gesla" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Spremeni geslo" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Geslo je uspešno spremenjeno." + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Geslo je spremenjeno." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Zemljevida ni mogoče najti." + +#: umap/views.py:220 +msgid "View the map" +msgstr "Pogled zemljevida" + +#: umap/views.py:524 +#, 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 "Zemljevid je ustvarjen! Za urejanje z drugega računalnika uporabite povezavo: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Zemljevid je uspešno ustvarjen!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Zemljevid je posodobljen!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "seznam urednikov je posodobljen!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Zemljevid lahko izbriše le lastnik." + +#: umap/views.py:637 +#, 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 "Zemljevid je kloniran! Za urejanje z drugega računalnika uporabite povezavo: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Zemljevid je uspešno kloniran!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Plast je uspešno izbrisana." diff --git a/umap/locale/sr/LC_MESSAGES/django.mo b/umap/locale/sr/LC_MESSAGES/django.mo new file mode 100644 index 00000000..26fc0d46 Binary files /dev/null and b/umap/locale/sr/LC_MESSAGES/django.mo differ diff --git a/umap/locale/sr/LC_MESSAGES/django.po b/umap/locale/sr/LC_MESSAGES/django.po new file mode 100644 index 00000000..18faaf2f --- /dev/null +++ b/umap/locale/sr/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# kingserbi , 2019 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-06-02 11:23+0000\n" +"Last-Translator: kingserbi \n" +"Language-Team: Serbian (http://www.transifex.com/openstreetmap/umap/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\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" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Направи мапу" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Моје мапе" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Пријава" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Регистрација" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Одјавите се" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Претражите мапе" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Претрага" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Тајни лик за уређивање је %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Свако може да уређује" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Могуће је уређивати само са тајним линком" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "Име" + +#: umap/models.py:48 +msgid "details" +msgstr "Детаљи" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Само уређивачи могу да уређују" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Само власник може да уређује" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "свако (јавно)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "свако са линком" + +#: umap/models.py:122 +msgid "editors only" +msgstr "само уређивачи" + +#: umap/models.py:123 +msgid "blocked" +msgstr "блокирано" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "опис" + +#: umap/models.py:127 +msgid "center" +msgstr "центар" + +#: umap/models.py:128 +msgid "zoom" +msgstr "увећање" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Изаберите лиценцу мапе" + +#: umap/models.py:133 +msgid "licence" +msgstr "лиценца" + +#: umap/models.py:138 +msgid "owner" +msgstr "власник" + +#: umap/models.py:139 +msgid "editors" +msgstr "уређивачи" + +#: umap/models.py:140 +msgid "edit status" +msgstr "статус уређивања" + +#: umap/models.py:141 +msgid "share status" +msgstr "подели статус" + +#: umap/models.py:142 +msgid "settings" +msgstr "подешавања" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Врати ме на почетну страницу" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Молимо Вас улогујте се са корисничким налогом" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Корисничко име" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Лозинка" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Пријава" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Молимо Вас одаберите провајдера" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap омогућава креирање мапа саOpenStreetMap лејерима у минути и омогућава уграђивање исте у оквиру вашег сајта." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Изаберите лејере мапе" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Додајте линије, ознаке, полигоне" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Уређујте боје и иконе елемената" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Уређујте мапе: приказивањем мини мапа, локализацијом..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Импортујте податке (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Изаберите лиценцу ваших података" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Уређујте и делите мапу" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "И све је отвореног кода!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Тестирајте демо верзију" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "Мапа Umaps-a" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Инспиришите се, претражите мапе" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Више" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "О апликацији" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Промени лозинку" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Промена лозинке" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Стара лозинка" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Нова лозинка" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Захтев за нову лозинку" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Промени лозинку" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Лозинка успешно промењена" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Ваша лозинка је промењена." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "Мапа није пронађена" + +#: umap/views.py:220 +msgid "View the map" +msgstr "Преглед мапе" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Чесистамо, ваша мапа је креирана!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Мапа је апдејтована!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Власник мапе једино може да обрише мапу." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Честитамо, ваша мапа је дуплирана!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Лејер успешно избрисан." diff --git a/umap/locale/sv/LC_MESSAGES/django.mo b/umap/locale/sv/LC_MESSAGES/django.mo new file mode 100644 index 00000000..47d47195 Binary files /dev/null and b/umap/locale/sv/LC_MESSAGES/django.mo differ diff --git a/umap/locale/sv/LC_MESSAGES/django.po b/umap/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 00000000..fb38a4c9 --- /dev/null +++ b/umap/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Acrylic Boy, 2020 +# carlbacker, 2020 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-03-10 20:08+0000\n" +"Last-Translator: Binnette \n" +"Language-Team: Swedish (http://www.transifex.com/openstreetmap/umap/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Det här är en demo-instans, som används för tester och förhandsversioner. Om du behöver en stabil instans, använd %(stable_url)s. Du kan också vara värd för din egen instans med öppen källkod!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Skapa en karta" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Mina kartor" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Logga in" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Logga in" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Logga ut" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Sök karta" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Sök" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Privat redigeringslänk är %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Alla kan redigera" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Redigering är bara tillåten med privat redigeringslänk" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Webbplatsen är skrivskyddad för underhållsarbete." + +#: umap/models.py:17 +msgid "name" +msgstr "namn" + +#: umap/models.py:48 +msgid "details" +msgstr "detaljer" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Länk till sida med detaljerad licens information." + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL-mall med OSM:s tile-format" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Ordningen för tile-lager i redigeringsrutan" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Bara redaktörer kan redigera" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Bara ägaren kan redigera" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "alla (publik)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "alla med en länk" + +#: umap/models.py:122 +msgid "editors only" +msgstr "enbart redaktörer" + +#: umap/models.py:123 +msgid "blocked" +msgstr "låst" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "beskrivning" + +#: umap/models.py:127 +msgid "center" +msgstr "centrera" + +#: umap/models.py:128 +msgid "zoom" +msgstr "zooma" + +#: umap/models.py:129 +msgid "locate" +msgstr "lokalisera" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Lokalisera användaren vid uppstart?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Välj licens för kartan." + +#: umap/models.py:133 +msgid "licence" +msgstr "licens" + +#: umap/models.py:138 +msgid "owner" +msgstr "ägare" + +#: umap/models.py:139 +msgid "editors" +msgstr "redaktörer" + +#: umap/models.py:140 +msgid "edit status" +msgstr "redigeringsstatus" + +#: umap/models.py:141 +msgid "share status" +msgstr "delningsstatus" + +#: umap/models.py:142 +msgid "settings" +msgstr "inställningar" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kopia av" + +#: umap/models.py:261 +msgid "display on load" +msgstr "visa vid uppstart" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Visa detta lager från start." + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Ta mig till startsidan" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "Bläddra bland %(current_user)ss kartor" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s har inga kartor." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Vänligen logga in med ditt konto" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Användarnamn" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Lösenord" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Logga in" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Välj en leverantör" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "Med uMap kan du på minuter skapa egna kartor med OpenStreetMap lager och sedan bädda in dem på din webbsida." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Välj lager för din karta" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "Lägg till POI:er, markörer, linjer, polygoner..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Ändra färger och ikoner för POI:er" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "Hantera kartalternativ: visa en minikarta, lokalisera användaren..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "Importera strukturerad geodata (geojson, gpx, kml, osm...)" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "Välja licens för dina data" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "Bädda in och dela din karta" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "Och det är öppen källkod!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "Lek med demotjänsten" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "Inspireras av andra kartor" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Du är nu inloggad. Fortsätter..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "av" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Mer" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "Om" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "Återkoppling" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "Byt lösenord" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "Byte av lösenord" + +#: umap/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 "Fyll i ditt nuvarande lösenord för säkerhets skull, och sedan ditt nya lösenord två gånger så vi kan undvika felskrivningar. " + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "Nuvarande lösenord" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "Nytt lösenord" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "Bekräfta nytt lösenord" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "Ändra mitt lösenord" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "Lösenordet har ändrats!" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "Ditt lösenord har ändrats." + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "Se kartan" + +#: umap/views.py:524 +#, 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 "Din karta har skapats! Om du vill redigera den här kartan från en annan dator, använd denna länk: %(anonymous_url)s" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Grattis, din karta har skapats!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Kartan har uppdaterats!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Kartans redaktörer har uppdaterats!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Bara ägaren kan radera kartan." + +#: umap/views.py:637 +#, 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 "Din karta har kopierats! Om du vill redigera den här kartan från en annan dator, använd denna länk: %(anonymous_url)s" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Grattis, din karta har kopierats!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "Lagret har raderats." diff --git a/umap/locale/th_TH/LC_MESSAGES/django.mo b/umap/locale/th_TH/LC_MESSAGES/django.mo new file mode 100644 index 00000000..01cd4296 Binary files /dev/null and b/umap/locale/th_TH/LC_MESSAGES/django.mo differ diff --git a/umap/locale/th_TH/LC_MESSAGES/django.po b/umap/locale/th_TH/LC_MESSAGES/django.po new file mode 100644 index 00000000..b1199c71 --- /dev/null +++ b/umap/locale/th_TH/LC_MESSAGES/django.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Thai (Thailand) (http://www.transifex.com/openstreetmap/umap/language/th_TH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th_TH\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "" + +#: umap/models.py:48 +msgid "details" +msgstr "" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "" + +#: umap/models.py:127 +msgid "center" +msgstr "" + +#: umap/models.py:128 +msgid "zoom" +msgstr "" + +#: umap/models.py:129 +msgid "locate" +msgstr "" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "" + +#: umap/models.py:133 +msgid "licence" +msgstr "" + +#: umap/models.py:138 +msgid "owner" +msgstr "" + +#: umap/models.py:139 +msgid "editors" +msgstr "" + +#: umap/models.py:140 +msgid "edit status" +msgstr "" + +#: umap/models.py:141 +msgid "share status" +msgstr "" + +#: umap/models.py:142 +msgid "settings" +msgstr "" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "" + +#: umap/models.py:261 +msgid "display on load" +msgstr "" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/tr/LC_MESSAGES/django.mo b/umap/locale/tr/LC_MESSAGES/django.mo new file mode 100644 index 00000000..9ae705d6 Binary files /dev/null and b/umap/locale/tr/LC_MESSAGES/django.mo differ diff --git a/umap/locale/tr/LC_MESSAGES/django.po b/umap/locale/tr/LC_MESSAGES/django.po new file mode 100644 index 00000000..03373401 --- /dev/null +++ b/umap/locale/tr/LC_MESSAGES/django.po @@ -0,0 +1,377 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Roman Neumüller, 2020 +msgid "" +msgstr "" +"Project-Id-Version: uMap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-27 11:54+0000\n" +"Last-Translator: Roman Neumüller\n" +"Language-Team: Turkish (http://www.transifex.com/openstreetmap/umap/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "Bu örnek, testler ve yayın öncesi sürümler için kullanılan bir demo örneğidir. Kararlı bir örneğe ihtiyacınız varsa, lütfen %(stable_url)s kullanın. Kendi örneğinizi de barındırabilirsiniz, cünkü açık kaynak yazılım!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Bir harita oluştur" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Haritalarım" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Oturum aç" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Katıl" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Oturum kapat" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Harita ara" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Ara" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Herkes düzeltebilir" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "adı" + +#: umap/models.py:48 +msgid "details" +msgstr "ayrıntılar" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Sadece editörlerin düzelteme hakkı var" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Sadece sahibin düzelteme hakkı var" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "herkes (kamu)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "" + +#: umap/models.py:122 +msgid "editors only" +msgstr "sadece editörler" + +#: umap/models.py:123 +msgid "blocked" +msgstr "engellenmiş" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "açıklama" + +#: umap/models.py:127 +msgid "center" +msgstr "ortalaştır" + +#: umap/models.py:128 +msgid "zoom" +msgstr "yakınlaştır" + +#: umap/models.py:129 +msgid "locate" +msgstr "yerini belirt" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Harita lisansi seç" + +#: umap/models.py:133 +msgid "licence" +msgstr "lisans" + +#: umap/models.py:138 +msgid "owner" +msgstr "sahibi" + +#: umap/models.py:139 +msgid "editors" +msgstr "editörler" + +#: umap/models.py:140 +msgid "edit status" +msgstr "düzeltme durumu" + +#: umap/models.py:141 +msgid "share status" +msgstr "durum paylaş" + +#: umap/models.py:142 +msgid "settings" +msgstr "ayarlar" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Kopya" + +#: umap/models.py:261 +msgid "display on load" +msgstr "yüklerken görüntüle" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Yüklerken bu katman görüntüle" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "Anasayfa aç" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "%(current_user)s'nın haritaları görüntüle" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s'nın haritaları yok." + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "Lütfen hesabınızla giriş yapın" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "Kullanıcı adı" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "Şifre" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "Giriş yap" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "Lütfen bir sağlayıcı seçin" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap ile bir dakikada OpenStreetMap katmanları kullanıp kendi sitenize gömmesi özel haritalar oluşturmanıza sağlar." + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "Haritanızın katmanlarını seçin" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "İlgi noktaları ekle: işaretler, çizgiler, çokgenler" + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "Renkleri ve sembolleri yönet" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "" + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "" + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "" + +#: umap/templates/umap/password_change.html:6 +msgid "Password change" +msgstr "" + +#: umap/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 "" + +#: umap/templates/umap/password_change.html:12 +msgid "Old password" +msgstr "" + +#: umap/templates/umap/password_change.html:14 +msgid "New password" +msgstr "" + +#: umap/templates/umap/password_change.html:16 +msgid "New password confirmation" +msgstr "" + +#: umap/templates/umap/password_change.html:18 +msgid "Change my password" +msgstr "" + +#: umap/templates/umap/password_change_done.html:6 +msgid "Password change successful" +msgstr "" + +#: umap/templates/umap/password_change_done.html:7 +msgid "Your password was changed." +msgstr "" + +#: umap/templates/umap/search.html:13 +msgid "Not map found." +msgstr "" + +#: umap/views.py:220 +msgid "View the map" +msgstr "" + +#: umap/views.py:524 +#, 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 "" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "" + +#: umap/views.py:637 +#, 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 "" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "" diff --git a/umap/locale/uk_UA/LC_MESSAGES/django.mo b/umap/locale/uk_UA/LC_MESSAGES/django.mo index 0626adfc..18bc0d8d 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..84868083 100644 --- a/umap/locale/uk_UA/LC_MESSAGES/django.po +++ b/umap/locale/uk_UA/LC_MESSAGES/django.po @@ -1,222 +1,378 @@ # 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 +# Andrey Golovin, 2020 +# Сергій Дубик , 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" -"Last-Translator: Сергій Дубик \n" -"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/umap/" -"language/uk_UA/)\n" -"Language: uk_UA\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2020-02-27 13:06+0000\n" +"Last-Translator: Andrey Golovin\n" +"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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. Ви також можете створити свою інсталяцію, оскільки це відкрите ПЗ!" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Створити мапу" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Мої мапи" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Увійти" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Зареєструватися" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Вийти" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Пошук за мапами" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Шукати" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Секретне посилання для редагування: %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Кожен може редагувати" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "Редагування можливе лише за наявності секретного посилання" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "Сайт доступний лише для перегляду на час робіт з його обслуговування." + +#: umap/models.py:17 +msgid "name" +msgstr "назва" + +#: umap/models.py:48 +msgid "details" +msgstr "подробиці" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "Посилання на сторінку з описом ліцензії" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "шаблон посилання використовує формат шару OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Розташуйте шари мап у вікні редагування" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Лише редактори можуть редагувати" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Лише власник може редагувати" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "усі (відкритий доступ)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "усі, у кого є посилання" + +#: umap/models.py:122 +msgid "editors only" +msgstr "лише редактори" + +#: umap/models.py:123 +msgid "blocked" +msgstr "заблоковано" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "опис" + +#: umap/models.py:127 +msgid "center" +msgstr "центр" + +#: umap/models.py:128 +msgid "zoom" +msgstr "масштаб" + +#: umap/models.py:129 +msgid "locate" +msgstr "геолокація" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Використовувати геолокацію при завантаженні?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Виберіть ліцензію для мапи." + +#: umap/models.py:133 +msgid "licence" +msgstr "ліцензія" + +#: umap/models.py:138 +msgid "owner" +msgstr "власник" + +#: umap/models.py:139 +msgid "editors" +msgstr "редактори" + +#: umap/models.py:140 +msgid "edit status" +msgstr "статус редагування" + +#: umap/models.py:141 +msgid "share status" +msgstr "статус спільного використання" + +#: umap/models.py:142 +msgid "settings" +msgstr "налаштування" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Копія " + +#: umap/models.py:261 +msgid "display on load" +msgstr "показувати при завантаженні" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Показати цей шар при завантаженні." + +#: umap/templates/404.html:7 msgid "Take me to the home page" -msgstr "" +msgstr "Перемістіть мене на головну сторінку" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Перегляд мап користувача %(current_user)s" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "Введіть ім’я редактора, щоб додати…" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s не маємап." -#: templates/leaflet_storage/map_detail.html:27 -#, fuzzy -#| msgid "Type editors nick to add…" -msgid "Type new owner nick…" -msgstr "Введіть ім’я редактора, щоб додати…" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr " від " - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Ще" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" -msgstr "" +msgstr "Будь ласка, увійдіть за обліковим записом" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" -msgstr "" +msgstr "Користувач" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" -msgstr "" +msgstr "Пароль" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" -msgstr "" +msgstr "Логін" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Виберіть провайдера автентифікації" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Вибирайте шари для Вашої мапи" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Додавайте цікаві точки: позначки, лінії, полігони …" -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Вибирайте потрібні кольори та значки для цікавих об’єктів" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "Імпорт Ваших геоданих (GeoJSON, GPX, KML, OSM …)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Виберіть ліцензію для Вашої мапи" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Вбудовуйте Вашу мапу та діліться нею" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "І це відкрите ПЗ!" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Створити мапу" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Погратися з демо-версією" -#: templates/umap/home.html:10 -#, 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. Ви також можете створити свою " -"інсталяцію, оскільки це відкрите ПЗ!" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Мапи на uMap" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Дивіться чужі мапи та надихайтеся" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Мої мапи" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Ви увійшли. Продовжимо …" -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Увійти" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr " від " -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Зареєструватися" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Ще" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Про проект" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Зворотній зв’язок" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" -msgstr "" +msgstr "Зміна паролю" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Вийти" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" -msgstr "" +msgstr "Зміна паролю" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" -msgstr "" +msgstr "Старий пароль" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" -msgstr "" +msgstr "Новий пароль" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" -msgstr "" +msgstr "Підтвердження для нового паролю" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" -msgstr "" +msgstr "Змінити мій пароль" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" -msgstr "" +msgstr "Зміна паролю успішна." -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." -msgstr "" +msgstr "Ваш пароль змінено." -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Не знайдено жодної мапи." -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Пошук за мапами" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Шукати" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Переглянути мапу" -#~ msgid "Map settings" -#~ msgstr "Налаштування мапи" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Вітаємо, Ваша мапа готова!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Мапа оновлена!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Редактори мапи успішно оновлені!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Лише власник мапи може вилучити її." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Вітаємо, Ваша мапа скопійована!" + +#: umap/views.py:809 +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..9af2191c 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..47de018b 100644 --- a/umap/locale/vi/LC_MESSAGES/django.po +++ b/umap/locale/vi/LC_MESSAGES/django.po @@ -1,221 +1,377 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Thanh Le Viet , 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-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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Vietnamese (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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ở" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "Tạo bản đồ" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "Bản đồ của tôi" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "Đăng nhập" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "Đăng nhập" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "Thoát" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "Tìm bản đồ" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "Tìm" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "Link chỉnh sửa bí mật là %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "Ai cũng có thể chỉnh sửa" + +#: umap/forms.py:45 +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" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "tên" + +#: umap/models.py:48 +msgid "details" +msgstr "chi tiết" + +#: umap/models.py:49 +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" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "Mẫu URL sử dụng định dạng tile của OSM" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "Thứ tự các titlelayer trong hộp chỉnh sửa" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "Chỉ chỉnh sửa bởi người có quyền" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "Chỉ người sở hữu có thể chỉnh sửa" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "mọi người" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "bất kì ai với liên kết" + +#: umap/models.py:122 +msgid "editors only" +msgstr "chỉ người có quyền" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "mô tả" + +#: umap/models.py:127 +msgid "center" +msgstr "trung tâm" + +#: umap/models.py:128 +msgid "zoom" +msgstr "thu phóng" + +#: umap/models.py:129 +msgid "locate" +msgstr "xác định" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "Xác định người dùng khi tải trang?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "Chọn bản quyền cho bản đồ" + +#: umap/models.py:133 +msgid "licence" +msgstr "bản quyền" + +#: umap/models.py:138 +msgid "owner" +msgstr "chủ nhân" + +#: umap/models.py:139 +msgid "editors" +msgstr "người chỉnh sửa" + +#: umap/models.py:140 +msgid "edit status" +msgstr "trạng thái chỉnh sửa" + +#: umap/models.py:141 +msgid "share status" +msgstr "chia sẻ trạng thái" + +#: umap/models.py:142 +msgid "settings" +msgstr "thiết lập" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "Sao chép của" + +#: umap/models.py:261 +msgid "display on load" +msgstr "hiển thị khi tải trang" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "Hiển thị layer này khi tải trang" + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "Xem bản đồ của %(current_user)s" -#: templates/leaflet_storage/map_detail.html:24 -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..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." msgstr "" -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "Thêm" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "Hãy chọn một nhà cung cấp" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets 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" -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "Chọn layer của bản đồ" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "Thêm POI: điểm, đường, vùng..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "Quản lý màu và biểu tượng POI" -#: templates/umap/about_summary.html:14 +#: umap/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 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "Import hàng loạt dữ liệu địa lý (geojson, gpx, kml, osm...)" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "Chọn bản quyền cho dữ liệu của bạn" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "Chèn và chia sẻ bản đồ" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "Và nó là mã nguồn mở ! " -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "Tạo bản đồ" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "Xem thử demo" -#: templates/umap/home.html:10 -#, 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ở" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "Bản đồ của uMaps" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "Tham khảo các bản đồ" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "Bản đồ của tôi" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "Bạn đã đăng nhập, Đang tiếp tục..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "Đăng nhập" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "Đăng nhập" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "Thêm" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "Về" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "Đóng góp" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "Thoát" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "Không tìm thấy bản đồ" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "Tìm bản đồ" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "Tìm" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "Xem bản đồ" -#~ msgid "Map settings" -#~ msgstr "Thiết lập bản đồ" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "Chúc mừng, bản đồ của bạn đã được tạo!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "Bản đồ đã được cập nhật!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "Bản đồ được cập nhật thành công!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "Chỉ chủ nhân của bản đồ mới có quyền xóa." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "Chúc mừng, bản đồ của bạn đã được sao chép!" + +#: umap/views.py:809 +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..061901e7 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..af72eff3 100644 --- a/umap/locale/zh/LC_MESSAGES/django.po +++ b/umap/locale/zh/LC_MESSAGES/django.po @@ -1,211 +1,378 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: +# danielzhang130 , 2018 # sun wei , 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-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" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-04-07 14:28+0000\n" +"Last-Translator: yohanboniface \n" +"Language-Team: Chinese (http://www.transifex.com/openstreetmap/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 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 +#, 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 "" + +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "创建地图" + +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 +msgid "My maps" +msgstr "我的地图" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Log in" +msgstr "登录" + +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 +msgid "Sign in" +msgstr "签到" + +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 +msgid "Log out" +msgstr "退出" + +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "搜索地图" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "搜索" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "秘密的编辑链接是%s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "所有人可编辑" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "有秘密编辑链接的人可以编辑" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "" + +#: umap/models.py:17 +msgid "name" +msgstr "名称" + +#: umap/models.py:48 +msgid "details" +msgstr "详细" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "含有许可信息的页面链接" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "使用OSM瓦片格式的URL模板" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "编辑框内瓦片图层的顺序" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "编辑员可编辑" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "所有者可编辑" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "所有人(公开)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "任何有链接的人" + +#: umap/models.py:122 +msgid "editors only" +msgstr "编辑员" + +#: umap/models.py:123 +msgid "blocked" +msgstr "" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "描述" + +#: umap/models.py:127 +msgid "center" +msgstr "中心" + +#: umap/models.py:128 +msgid "zoom" +msgstr "缩放" + +#: umap/models.py:129 +msgid "locate" +msgstr "定位" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "是否在加载时定位用户?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "选择地图许可" + +#: umap/models.py:133 +msgid "licence" +msgstr "许可" + +#: umap/models.py:138 +msgid "owner" +msgstr "所有者" + +#: umap/models.py:139 +msgid "editors" +msgstr "编辑" + +#: umap/models.py:140 +msgid "edit status" +msgstr "编辑状态" + +#: umap/models.py:141 +msgid "share status" +msgstr "分享状态" + +#: umap/models.py:142 +msgid "settings" +msgstr "设置" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "复制" + +#: umap/models.py:261 +msgid "display on load" +msgstr "加载时显示" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "加载时显示该图层" + +#: umap/templates/404.html:7 msgid "Take me to the home page" msgstr "" -#: templates/auth/user_detail.html:7 +#: umap/templates/auth/user_detail.html:7 #, python-format msgid "Browse %(current_user)s's maps" msgstr "浏览%(current_user)s的所有地图" -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." msgstr "" -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "" - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "由" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "更多" - -#: templates/registration/login.html:4 +#: umap/templates/registration/login.html:4 msgid "Please log in with your account" msgstr "" -#: templates/registration/login.html:18 +#: umap/templates/registration/login.html:18 msgid "Username" msgstr "" -#: templates/registration/login.html:20 +#: umap/templates/registration/login.html:20 msgid "Password" msgstr "" -#: templates/registration/login.html:21 +#: umap/templates/registration/login.html:21 msgid "Login" msgstr "" -#: templates/registration/login.html:27 +#: umap/templates/registration/login.html:27 msgid "Please choose a provider" msgstr "选择提供者" -#: templates/umap/about_summary.html:6 +#: umap/templates/umap/about_summary.html:6 #, python-format msgid "" -"uMap let you create maps with OpenStreetMap " +"uMap lets you create maps with OpenStreetMap " "layers in a minute and embed them in your site." msgstr "" -#: templates/umap/about_summary.html:11 +#: umap/templates/umap/about_summary.html:11 msgid "Choose the layers of your map" msgstr "选择地图的图层" -#: templates/umap/about_summary.html:12 +#: umap/templates/umap/about_summary.html:12 msgid "Add POIs: markers, lines, polygons..." msgstr "添加兴趣点:点,线,面..." -#: templates/umap/about_summary.html:13 +#: umap/templates/umap/about_summary.html:13 msgid "Manage POIs colours and icons" msgstr "管理兴趣点颜色与图标" -#: templates/umap/about_summary.html:14 +#: umap/templates/umap/about_summary.html:14 msgid "Manage map options: display a minimap, locate user on load…" msgstr "地图选项:显示鹰眼图,加载时用户定位" -#: templates/umap/about_summary.html:15 +#: umap/templates/umap/about_summary.html:15 msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" msgstr "" -#: templates/umap/about_summary.html:16 +#: umap/templates/umap/about_summary.html:16 msgid "Choose the license for your data" msgstr "选择数据的许可" -#: templates/umap/about_summary.html:17 +#: umap/templates/umap/about_summary.html:17 msgid "Embed and share your map" msgstr "嵌入与分享地图" -#: templates/umap/about_summary.html:23 +#: umap/templates/umap/about_summary.html:23 #, python-format msgid "And it's open source!" msgstr "" -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "创建地图" - -#: templates/umap/about_summary.html:34 +#: umap/templates/umap/about_summary.html:35 msgid "Play with the demo" msgstr "试用示例" -#: templates/umap/home.html:10 -#, 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 "" - -#: templates/umap/home.html:17 +#: umap/templates/umap/home.html:17 msgid "Map of the uMaps" msgstr "uMaps的地图" -#: templates/umap/home.html:24 +#: umap/templates/umap/home.html:24 msgid "Get inspired, browse maps" msgstr "浏览地图得灵感" -#: templates/umap/navigation.html:12 -msgid "My maps" -msgstr "我的地图" +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "已登录。继续..." -#: templates/umap/navigation.html:14 -msgid "Log in" -msgstr "登录" +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "由" -#: templates/umap/navigation.html:14 -msgid "Sign in" -msgstr "签到" +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "更多" -#: templates/umap/navigation.html:16 +#: umap/templates/umap/navigation.html:14 msgid "About" msgstr "关于" -#: templates/umap/navigation.html:17 +#: umap/templates/umap/navigation.html:15 msgid "Feedback" msgstr "" -#: templates/umap/navigation.html:20 +#: umap/templates/umap/navigation.html:18 msgid "Change password" msgstr "" -#: templates/umap/navigation.html:22 -msgid "Log out" -msgstr "退出" - -#: templates/umap/password_change.html:6 +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "" -#: templates/umap/password_change.html:7 +#: umap/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 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "没有搜索到地图" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "搜索地图" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "搜索" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "浏览地图" -#~ msgid "Map settings" -#~ msgstr "地图设置" +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "你的地图已创建,祝贺!" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "地图已更新!" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "地图编辑员成功更新地图!" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "只有地图所有者可以删除地图." + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "你的地图已复制,祝贺!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "图层删除成功。" diff --git a/umap/locale/zh_TW/LC_MESSAGES/django.mo b/umap/locale/zh_TW/LC_MESSAGES/django.mo index f9b9c015..c59439ce 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..9df19b42 100644 --- a/umap/locale/zh_TW/LC_MESSAGES/django.po +++ b/umap/locale/zh_TW/LC_MESSAGES/django.po @@ -3,118 +3,28 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Supaplex , 2019 +# Chia-liang Kao , 2014 +# coop.shen , 2014 +# Hsin-lin Cheng (lancetw) , 2014 +# Sean Young , 2016,2018 # Supaplex , 2014 -# Hsin-lin Cheng , 2014 -# Sean Young , 2016 # Yuan CHAO , 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: 2016-12-04 11:18+0000\n" -"Last-Translator: Sean Young \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/yohanboniface/umap/language/zh_TW/)\n" +"POT-Creation-Date: 2019-04-07 14:28+0000\n" +"PO-Revision-Date: 2019-08-11 12:37+0000\n" +"Last-Translator: Supaplex \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/openstreetmap/umap/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: templates/404.html:7 -msgid "Take me to the home page" -msgstr "帶我回主頁" - -#: templates/auth/user_detail.html:7 -#, python-format -msgid "Browse %(current_user)s's maps" -msgstr "瀏覽 %(current_user)s 的地圖" - -#: templates/leaflet_storage/map_detail.html:24 -msgid "Type editors nick to add…" -msgstr "輸入編輯者的暱稱以加入..." - -#: templates/leaflet_storage/map_detail.html:27 -msgid "Type new owner nick…" -msgstr "輸入擁有者暱稱..." - -#: templates/leaflet_storage/map_list.html:7 views.py:184 -msgid "by" -msgstr "由" - -#: templates/leaflet_storage/map_list.html:11 -msgid "More" -msgstr "更多" - -#: templates/registration/login.html:4 -msgid "Please log in with your account" -msgstr "請先登入" - -#: templates/registration/login.html:18 -msgid "Username" -msgstr "使用者名稱" - -#: templates/registration/login.html:20 -msgid "Password" -msgstr "密碼" - -#: templates/registration/login.html:21 -msgid "Login" -msgstr "登入" - -#: templates/registration/login.html:27 -msgid "Please choose a provider" -msgstr "選擇服務商" - -#: templates/umap/about_summary.html:6 -#, python-format -msgid "" -"uMap let you create maps with OpenStreetMap " -"layers in a minute and embed them in your site." -msgstr "uMap 讓您使用 OpenStreetMap 圖層來建立您的地圖﹐只需要幾分鐘就可以完成並嵌入您的網頁。" - -#: templates/umap/about_summary.html:11 -msgid "Choose the layers of your map" -msgstr "選擇您地圖的圖層" - -#: templates/umap/about_summary.html:12 -msgid "Add POIs: markers, lines, polygons..." -msgstr "新增景點 POI:標記、線段、多邊形..." - -#: templates/umap/about_summary.html:13 -msgid "Manage POIs colours and icons" -msgstr "管理景點 POI 的顏色與圖示" - -#: templates/umap/about_summary.html:14 -msgid "Manage map options: display a minimap, locate user on load…" -msgstr "管理地圖選項:顯示小型地圖﹐設定初始位置..." - -#: templates/umap/about_summary.html:15 -msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" -msgstr "批次匯入地理資訊 (geojson, gpx, kml, osm... )" - -#: templates/umap/about_summary.html:16 -msgid "Choose the license for your data" -msgstr "選擇您的資料的授權條例" - -#: templates/umap/about_summary.html:17 -msgid "Embed and share your map" -msgstr "內嵌並分享您的地圖" - -#: templates/umap/about_summary.html:23 -#, python-format -msgid "And it's open source!" -msgstr "而且是 開放原始碼 的!" - -#: templates/umap/about_summary.html:32 templates/umap/navigation.html:31 -msgid "Create a map" -msgstr "建立地圖" - -#: templates/umap/about_summary.html:34 -msgid "Play with the demo" -msgstr "播放展示" - -#: templates/umap/home.html:10 +#: tmp/framacarte/templates/umap/home.html:8 umap/templates/umap/home.html:9 #, python-format msgid "" "This is a demo instance, used for tests and pre-rolling releases. If you " @@ -123,88 +33,351 @@ msgid "" "instance, it's open source!" msgstr "這是範例服務﹐提供測試與正式版發行前驗證使用。如果您需要穩定的服務,請使用 %(stable_url)s。您也可以自行架設服務﹐完全是 開放原始碼 的!" -#: templates/umap/home.html:17 -msgid "Map of the uMaps" -msgstr "uMaps 地圖" +#: tmp/framacarte/templates/umap/home.html:83 +#: tmp/framacarte/templates/umap/navigation.html:14 +#: umap/templates/umap/about_summary.html:33 +#: umap/templates/umap/navigation.html:26 +msgid "Create a map" +msgstr "建立地圖" -#: templates/umap/home.html:24 -msgid "Get inspired, browse maps" -msgstr "找點子,瀏覽其他地圖" - -#: templates/umap/navigation.html:12 +#: tmp/framacarte/templates/umap/navigation.html:7 +#: umap/templates/umap/navigation.html:10 msgid "My maps" msgstr "我的地圖" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Log in" msgstr "登入" -#: templates/umap/navigation.html:14 +#: tmp/framacarte/templates/umap/navigation.html:9 +#: umap/templates/umap/navigation.html:12 msgid "Sign in" msgstr "註冊" -#: templates/umap/navigation.html:16 -msgid "About" -msgstr "關於" - -#: templates/umap/navigation.html:17 -msgid "Feedback" -msgstr "回報問題" - -#: templates/umap/navigation.html:20 -msgid "Change password" -msgstr "更改密碼" - -#: templates/umap/navigation.html:22 +#: tmp/framacarte/templates/umap/navigation.html:12 +#: umap/templates/umap/navigation.html:20 msgid "Log out" msgstr "登出" -#: templates/umap/password_change.html:6 +#: tmp/framacarte/templates/umap/search_bar.html:6 +#: umap/templates/umap/search_bar.html:6 +msgid "Search maps" +msgstr "搜尋地圖" + +#: tmp/framacarte/templates/umap/search_bar.html:10 +#: tmp/framacarte/templates/umap/search_bar.html:13 +#: umap/templates/umap/search_bar.html:9 +msgid "Search" +msgstr "搜尋" + +#: umap/forms.py:40 +#, python-format +msgid "Secret edit link is %s" +msgstr "不公開的私密編輯連結 %s" + +#: umap/forms.py:44 umap/models.py:115 +msgid "Everyone can edit" +msgstr "所有人皆可編輯" + +#: umap/forms.py:45 +msgid "Only editable with secret edit link" +msgstr "僅能由私密連結編輯" + +#: umap/middleware.py:14 +msgid "Site is readonly for maintenance" +msgstr "網站目前因維護中設定為唯讀狀態" + +#: umap/models.py:17 +msgid "name" +msgstr "名稱" + +#: umap/models.py:48 +msgid "details" +msgstr "詳情" + +#: umap/models.py:49 +msgid "Link to a page where the licence is detailed." +msgstr "連結至授權條款說明網址" + +#: umap/models.py:63 +msgid "URL template using OSM tile format" +msgstr "URL 樣板,使用 OSM 地圖磚格式" + +#: umap/models.py:71 +msgid "Order of the tilelayers in the edit box" +msgstr "編輯方塊中地圖磚的圖層順序" + +#: umap/models.py:116 +msgid "Only editors can edit" +msgstr "僅編輯群可編輯" + +#: umap/models.py:117 +msgid "Only owner can edit" +msgstr "僅擁有者可編輯" + +#: umap/models.py:120 +msgid "everyone (public)" +msgstr "所有人(公開)" + +#: umap/models.py:121 +msgid "anyone with link" +msgstr "任何有連結的人" + +#: umap/models.py:122 +msgid "editors only" +msgstr "只有編輯者允許" + +#: umap/models.py:123 +msgid "blocked" +msgstr "已經封鎖了" + +#: umap/models.py:126 umap/models.py:256 +msgid "description" +msgstr "描述" + +#: umap/models.py:127 +msgid "center" +msgstr "中心" + +#: umap/models.py:128 +msgid "zoom" +msgstr "縮放" + +#: umap/models.py:129 +msgid "locate" +msgstr "定位" + +#: umap/models.py:129 +msgid "Locate user on load?" +msgstr "載入時使用定位功能?" + +#: umap/models.py:132 +msgid "Choose the map licence." +msgstr "選擇地圖授權" + +#: umap/models.py:133 +msgid "licence" +msgstr "授權" + +#: umap/models.py:138 +msgid "owner" +msgstr "擁有者" + +#: umap/models.py:139 +msgid "editors" +msgstr "編輯者" + +#: umap/models.py:140 +msgid "edit status" +msgstr "編輯狀態" + +#: umap/models.py:141 +msgid "share status" +msgstr "分享狀態" + +#: umap/models.py:142 +msgid "settings" +msgstr "設定" + +#: umap/models.py:210 +msgid "Clone of" +msgstr "複製" + +#: umap/models.py:261 +msgid "display on load" +msgstr "載入時顯示" + +#: umap/models.py:262 +msgid "Display this layer on load." +msgstr "載入此圖層時顯示" + +#: umap/templates/404.html:7 +msgid "Take me to the home page" +msgstr "帶我回主頁" + +#: umap/templates/auth/user_detail.html:7 +#, python-format +msgid "Browse %(current_user)s's maps" +msgstr "瀏覽 %(current_user)s 的地圖" + +#: umap/templates/auth/user_detail.html:15 +#, python-format +msgid "%(current_user)s has no maps." +msgstr "%(current_user)s 沒有任何地圖。" + +#: umap/templates/registration/login.html:4 +msgid "Please log in with your account" +msgstr "請先登入" + +#: umap/templates/registration/login.html:18 +msgid "Username" +msgstr "使用者名稱" + +#: umap/templates/registration/login.html:20 +msgid "Password" +msgstr "密碼" + +#: umap/templates/registration/login.html:21 +msgid "Login" +msgstr "登入" + +#: umap/templates/registration/login.html:27 +msgid "Please choose a provider" +msgstr "選擇服務商" + +#: umap/templates/umap/about_summary.html:6 +#, python-format +msgid "" +"uMap lets you create maps with OpenStreetMap " +"layers in a minute and embed them in your site." +msgstr "uMap 讓你在幾分鐘的時間內用 開放街圖的圖層創建地圖,並且內嵌到你的網站上。" + +#: umap/templates/umap/about_summary.html:11 +msgid "Choose the layers of your map" +msgstr "選擇您地圖的圖層" + +#: umap/templates/umap/about_summary.html:12 +msgid "Add POIs: markers, lines, polygons..." +msgstr "新增景點 POI:標記、線段、多邊形..." + +#: umap/templates/umap/about_summary.html:13 +msgid "Manage POIs colours and icons" +msgstr "管理景點 POI 的顏色與圖示" + +#: umap/templates/umap/about_summary.html:14 +msgid "Manage map options: display a minimap, locate user on load…" +msgstr "管理地圖選項:顯示小型地圖﹐設定初始位置..." + +#: umap/templates/umap/about_summary.html:15 +msgid "Batch import geostructured data (geojson, gpx, kml, osm...)" +msgstr "批次匯入地理資訊 (geojson, gpx, kml, osm... )" + +#: umap/templates/umap/about_summary.html:16 +msgid "Choose the license for your data" +msgstr "選擇您的資料的授權條例" + +#: umap/templates/umap/about_summary.html:17 +msgid "Embed and share your map" +msgstr "內嵌並分享您的地圖" + +#: umap/templates/umap/about_summary.html:23 +#, python-format +msgid "And it's open source!" +msgstr "而且是 開放原始碼 的!" + +#: umap/templates/umap/about_summary.html:35 +msgid "Play with the demo" +msgstr "播放展示" + +#: umap/templates/umap/home.html:17 +msgid "Map of the uMaps" +msgstr "uMaps 地圖" + +#: umap/templates/umap/home.html:24 +msgid "Get inspired, browse maps" +msgstr "找點子,瀏覽其他地圖" + +#: umap/templates/umap/login_popup_end.html:2 +msgid "You are logged in. Continuing..." +msgstr "您已登入,繼續中..." + +#: umap/templates/umap/map_list.html:7 umap/views.py:214 +msgid "by" +msgstr "由" + +#: umap/templates/umap/map_list.html:11 +msgid "More" +msgstr "更多" + +#: umap/templates/umap/navigation.html:14 +msgid "About" +msgstr "關於" + +#: umap/templates/umap/navigation.html:15 +msgid "Feedback" +msgstr "回報問題" + +#: umap/templates/umap/navigation.html:18 +msgid "Change password" +msgstr "更改密碼" + +#: umap/templates/umap/password_change.html:6 msgid "Password change" msgstr "密碼變更" -#: templates/umap/password_change.html:7 +#: umap/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 "為確保賬戸安全,請先輸入你的舊有密碼。然後輸入新密碼兩次,以便確認新密碼輸入正確。" -#: templates/umap/password_change.html:12 +#: umap/templates/umap/password_change.html:12 msgid "Old password" msgstr "舊密碼" -#: templates/umap/password_change.html:14 +#: umap/templates/umap/password_change.html:14 msgid "New password" msgstr "新密碼" -#: templates/umap/password_change.html:16 +#: umap/templates/umap/password_change.html:16 msgid "New password confirmation" msgstr "再次輸入新密碼" -#: templates/umap/password_change.html:18 +#: umap/templates/umap/password_change.html:18 msgid "Change my password" msgstr "更改我的密碼" -#: templates/umap/password_change_done.html:6 +#: umap/templates/umap/password_change_done.html:6 msgid "Password change successful" msgstr "成功更改密碼" -#: templates/umap/password_change_done.html:7 +#: umap/templates/umap/password_change_done.html:7 msgid "Your password was changed." msgstr "你的密碼已更改。" -#: templates/umap/search.html:13 +#: umap/templates/umap/search.html:13 msgid "Not map found." msgstr "找不到地圖。" -#: templates/umap/search_bar.html:6 -msgid "Search maps" -msgstr "搜尋地圖" - -#: templates/umap/search_bar.html:9 -msgid "Search" -msgstr "搜尋" - -#: views.py:190 +#: umap/views.py:220 msgid "View the map" msgstr "檢視地圖" + +#: umap/views.py:524 +#, 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" + +#: umap/views.py:529 +msgid "Congratulations, your map has been created!" +msgstr "恭喜您的地圖已經新增完成" + +#: umap/views.py:561 +msgid "Map has been updated!" +msgstr "地圖已經更新" + +#: umap/views.py:587 +msgid "Map editors updated with success!" +msgstr "地圖編輯者更新完成" + +#: umap/views.py:612 +msgid "Only its owner can delete the map." +msgstr "只有擁有者可以刪除此地圖" + +#: umap/views.py:637 +#, 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" + +#: umap/views.py:642 +msgid "Congratulations, your map has been cloned!" +msgstr "恭喜,您的地圖已被複製!" + +#: umap/views.py:809 +msgid "Layer successfully deleted." +msgstr "圖層已刪除" diff --git a/umap/management/commands/anonymous_edit_url.py b/umap/management/commands/anonymous_edit_url.py new file mode 100644 index 00000000..f23d0f56 --- /dev/null +++ b/umap/management/commands/anonymous_edit_url.py @@ -0,0 +1,28 @@ +import sys + +from django.core.management.base import BaseCommand +from django.conf import settings + +from umap.models import Map + + +class Command(BaseCommand): + help = ('Retrieve anonymous edit url of a map. ' + 'Eg.: python manage.py anonymous_edit_url 1234') + + def add_arguments(self, parser): + parser.add_argument('pk', help='PK of the map to retrieve.') + + def abort(self, msg): + self.stderr.write(msg) + sys.exit(1) + + def handle(self, *args, **options): + pk = options['pk'] + try: + map_ = Map.objects.get(pk=pk) + except Map.DoesNotExist: + self.abort('Map with pk {} not found'.format(pk)) + if map_.owner: + self.abort('Map is not anonymous (owner: {})'.format(map_.owner)) + print(settings.SITE_URL + map_.get_anonymous_edit_url()) diff --git a/umap/management/commands/generate_js_locale.py b/umap/management/commands/generate_js_locale.py new file mode 100644 index 00000000..3e312fac --- /dev/null +++ b/umap/management/commands/generate_js_locale.py @@ -0,0 +1,37 @@ +from pathlib import Path + +from django.core.management.base import BaseCommand +from django.conf import settings +from django.template.loader import render_to_string +from django.utils.translation import to_locale + +ROOT = Path(settings.PROJECT_DIR) / 'static/umap/locale/' + + +class Command(BaseCommand): + + def handle(self, *args, **options): + self.verbosity = options['verbosity'] + for code, name in settings.LANGUAGES: + code = to_locale(code) + if self.verbosity > 0: + print("Processing", name) + path = ROOT / '{code}.json'.format(code=code) + if not path.exists(): + print(path, 'does not exist.', 'Skipping') + else: + with path.open(encoding="utf-8") as f: + if self.verbosity > 1: + print("Found file", path) + self.render(code, f.read()) + + def render(self, code, json): + path = ROOT / '{code}.js'.format(code=code) + with path.open("w", encoding="utf-8") as f: + content = render_to_string('umap/locale.js', { + "locale": json, + "locale_code": code + }) + if self.verbosity > 1: + print("Exporting to", path) + f.write(content) diff --git a/umap/management/commands/import_pictograms.py b/umap/management/commands/import_pictograms.py index 11cae597..80cd6799 100644 --- a/umap/management/commands/import_pictograms.py +++ b/umap/management/commands/import_pictograms.py @@ -3,7 +3,7 @@ import os from django.core.files import File from django.core.management.base import BaseCommand -from leaflet_storage.models import Pictogram +from umap.models import Pictogram class Command(BaseCommand): @@ -14,7 +14,7 @@ class Command(BaseCommand): parser.add_argument('--attribution', required=True, help='Attribution of the imported pictograms') parser.add_argument('--suffix', - help='Optionnal suffix to add to each name') + help='Optional suffix to add to each name') parser.add_argument('--force', action='store_true', help='Update picto if it already exists.') diff --git a/umap/managers.py b/umap/managers.py new file mode 100644 index 00000000..d1728890 --- /dev/null +++ b/umap/managers.py @@ -0,0 +1,8 @@ +from django.db.models import Manager + + +class PublicManager(Manager): + + def get_queryset(self): + return super(PublicManager, self).get_queryset().filter( + share_status=self.model.PUBLIC) diff --git a/umap/middleware.py b/umap/middleware.py new file mode 100644 index 00000000..dc76490f --- /dev/null +++ b/umap/middleware.py @@ -0,0 +1,18 @@ +from django.conf import settings +from django.core.exceptions import MiddlewareNotUsed +from django.http import HttpResponseForbidden +from django.utils.translation import ugettext as _ + + +def readonly_middleware(get_response): + + if not settings.UMAP_READONLY: + raise MiddlewareNotUsed + + def middleware(request): + if request.method not in ['GET', 'OPTIONS']: + return HttpResponseForbidden(_('Site is readonly for maintenance')) + + return get_response(request) + + return middleware diff --git a/umap/migrations/0001_initial.py b/umap/migrations/0001_initial.py new file mode 100644 index 00000000..fff32572 --- /dev/null +++ b/umap/migrations/0001_initial.py @@ -0,0 +1,107 @@ +# Generated by Django 2.0.5 on 2018-05-19 09:27 + +from django.conf import settings +import django.contrib.gis.db.models.fields +from django.db import migrations, models +import django.db.models.deletion +import umap.fields +import umap.models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='DataLayer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200, verbose_name='name')), + ('description', models.TextField(blank=True, null=True, verbose_name='description')), + ('geojson', models.FileField(blank=True, null=True, upload_to=umap.models.upload_to)), + ('display_on_load', models.BooleanField(default=False, help_text='Display this layer on load.', verbose_name='display on load')), + ('rank', models.SmallIntegerField(default=0)), + ], + options={ + 'ordering': ('rank',), + }, + ), + migrations.CreateModel( + name='Licence', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200, verbose_name='name')), + ('details', models.URLField(help_text='Link to a page where the licence is detailed.', verbose_name='details')), + ], + options={ + 'ordering': ('name',), + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Map', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200, verbose_name='name')), + ('slug', models.SlugField()), + ('description', models.TextField(blank=True, null=True, verbose_name='description')), + ('center', django.contrib.gis.db.models.fields.PointField(geography=True, srid=4326, verbose_name='center')), + ('zoom', models.IntegerField(default=7, verbose_name='zoom')), + ('locate', models.BooleanField(default=False, help_text='Locate user on load?', verbose_name='locate')), + ('modified_at', models.DateTimeField(auto_now=True)), + ('edit_status', models.SmallIntegerField(choices=[(1, 'Everyone can edit'), (2, 'Only editors can edit'), (3, 'Only owner can edit')], default=3, verbose_name='edit status')), + ('share_status', models.SmallIntegerField(choices=[(1, 'everyone (public)'), (2, 'anyone with link'), (3, 'editors only')], default=1, verbose_name='share status')), + ('settings', umap.fields.DictField(blank=True, null=True, verbose_name='settings')), + ('editors', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='editors')), + ('licence', models.ForeignKey(default=umap.models.get_default_licence, help_text='Choose the map licence.', on_delete=django.db.models.deletion.SET_DEFAULT, to='umap.Licence', verbose_name='licence')), + ('owner', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='owned_maps', to=settings.AUTH_USER_MODEL, verbose_name='owner')), + ], + options={ + 'ordering': ('name',), + 'abstract': False, + }, + ), + migrations.CreateModel( + name='Pictogram', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200, verbose_name='name')), + ('attribution', models.CharField(max_length=300)), + ('pictogram', models.ImageField(upload_to='pictogram')), + ], + options={ + 'ordering': ('name',), + 'abstract': False, + }, + ), + migrations.CreateModel( + name='TileLayer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200, verbose_name='name')), + ('url_template', models.CharField(help_text='URL template using OSM tile format', max_length=200)), + ('minZoom', models.IntegerField(default=0)), + ('maxZoom', models.IntegerField(default=18)), + ('attribution', models.CharField(max_length=300)), + ('rank', models.SmallIntegerField(blank=True, help_text='Order of the tilelayers in the edit box', null=True)), + ], + options={ + 'ordering': ('rank', 'name'), + }, + ), + migrations.AddField( + model_name='map', + name='tilelayer', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='maps', to='umap.TileLayer', verbose_name='background'), + ), + migrations.AddField( + model_name='datalayer', + name='map', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='umap.Map'), + ), + ] diff --git a/umap/migrations/0002_tilelayer_tms.py b/umap/migrations/0002_tilelayer_tms.py new file mode 100644 index 00000000..9b966815 --- /dev/null +++ b/umap/migrations/0002_tilelayer_tms.py @@ -0,0 +1,18 @@ +# Generated by Django 2.0.5 on 2018-05-19 09:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('umap', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='tilelayer', + name='tms', + field=models.BooleanField(default=False), + ), + ] diff --git a/umap/migrations/0001_add_tilelayer.py b/umap/migrations/0003_add_tilelayer.py similarity index 84% rename from umap/migrations/0001_add_tilelayer.py rename to umap/migrations/0003_add_tilelayer.py index 6f1281ad..c1e35be9 100644 --- a/umap/migrations/0001_add_tilelayer.py +++ b/umap/migrations/0003_add_tilelayer.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.3 on 2016-11-26 16:02 from __future__ import unicode_literals @@ -6,7 +5,7 @@ from django.db import migrations def add_tilelayer(apps, *args): - TileLayer = apps.get_model('leaflet_storage', 'TileLayer') + TileLayer = apps.get_model('umap', 'TileLayer') if TileLayer.objects.count(): return TileLayer( @@ -21,7 +20,7 @@ def add_tilelayer(apps, *args): class Migration(migrations.Migration): dependencies = [ - ('leaflet_storage', '0001_initial'), + ('umap', '0002_tilelayer_tms'), ] operations = [ diff --git a/umap/migrations/0002_add_licence.py b/umap/migrations/0004_add_licence.py similarity index 78% rename from umap/migrations/0002_add_licence.py rename to umap/migrations/0004_add_licence.py index 3edfb73d..c5e7bff7 100644 --- a/umap/migrations/0002_add_licence.py +++ b/umap/migrations/0004_add_licence.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.3 on 2016-11-26 16:11 from __future__ import unicode_literals @@ -6,7 +5,7 @@ from django.db import migrations def add_licence(apps, *args): - Licence = apps.get_model('leaflet_storage', 'Licence') + Licence = apps.get_model('umap', 'Licence') if Licence.objects.count(): return Licence( @@ -17,7 +16,7 @@ def add_licence(apps, *args): class Migration(migrations.Migration): dependencies = [ - ('umap', '0001_add_tilelayer'), + ('umap', '0003_add_tilelayer'), ] operations = [ diff --git a/umap/migrations/0005_remove_map_tilelayer.py b/umap/migrations/0005_remove_map_tilelayer.py new file mode 100644 index 00000000..e6a57cbe --- /dev/null +++ b/umap/migrations/0005_remove_map_tilelayer.py @@ -0,0 +1,17 @@ +# Generated by Django 2.0.7 on 2018-07-14 11:58 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('umap', '0004_add_licence'), + ] + + operations = [ + migrations.RemoveField( + model_name='map', + name='tilelayer', + ), + ] diff --git a/umap/migrations/0006_auto_20190407_0719.py b/umap/migrations/0006_auto_20190407_0719.py new file mode 100644 index 00000000..baa93ca0 --- /dev/null +++ b/umap/migrations/0006_auto_20190407_0719.py @@ -0,0 +1,19 @@ +# Generated by Django 2.1.5 on 2019-04-07 07:19 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('umap', '0005_remove_map_tilelayer'), + ] + + operations = [ + migrations.AlterField( + model_name='map', + name='settings', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default=dict, null=True, verbose_name='settings'), + ), + ] diff --git a/umap/migrations/0007_auto_20190416_1757.py b/umap/migrations/0007_auto_20190416_1757.py new file mode 100644 index 00000000..51cbbc13 --- /dev/null +++ b/umap/migrations/0007_auto_20190416_1757.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2 on 2019-04-16 17:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('umap', '0006_auto_20190407_0719'), + ] + + operations = [ + migrations.AlterField( + model_name='map', + name='share_status', + field=models.SmallIntegerField(choices=[(1, 'everyone (public)'), (2, 'anyone with link'), (3, 'editors only'), (9, 'blocked')], default=1, verbose_name='share status'), + ), + ] diff --git a/umap/models.py b/umap/models.py new file mode 100644 index 00000000..b77f2394 --- /dev/null +++ b/umap/models.py @@ -0,0 +1,352 @@ +import os +import time + +from django.contrib.gis.db import models +from django.conf import settings +from django.urls import reverse +from django.utils.translation import ugettext_lazy as _ +from django.core.signing import Signer +from django.template.defaultfilters import slugify +from django.core.files.base import File +from django.contrib.postgres.fields import JSONField + +from .managers import PublicManager + + +class NamedModel(models.Model): + name = models.CharField(max_length=200, verbose_name=_("name")) + + class Meta: + abstract = True + ordering = ('name', ) + + def __unicode__(self): + return self.name + + def __str__(self): + return self.name + + +def get_default_licence(): + """ + Returns a default Licence, creates it if it doesn't exist. + Needed to prevent a licence deletion from deleting all the linked + maps. + """ + return Licence.objects.get_or_create( + # can't use ugettext_lazy for database storage, see #13965 + name=getattr(settings, "UMAP_DEFAULT_LICENCE_NAME", + 'No licence set') + )[0] + + +class Licence(NamedModel): + """ + The licence one map is published on. + """ + details = models.URLField( + verbose_name=_('details'), + help_text=_('Link to a page where the licence is detailed.') + ) + + @property + def json(self): + return { + 'name': self.name, + 'url': self.details + } + + +class TileLayer(NamedModel): + url_template = models.CharField( + max_length=200, + help_text=_("URL template using OSM tile format") + ) + minZoom = models.IntegerField(default=0) + maxZoom = models.IntegerField(default=18) + attribution = models.CharField(max_length=300) + rank = models.SmallIntegerField( + blank=True, + null=True, + help_text=_('Order of the tilelayers in the edit box') + ) + # See https://wiki.openstreetmap.org/wiki/TMS#The_Y_coordinate + tms = models.BooleanField(default=False) + + @property + def json(self): + return dict((field.name, getattr(self, field.name)) + for field in self._meta.fields) + + @classmethod + def get_default(cls): + """ + Returns the default tile layer (used for a map when no layer is set). + """ + return cls.objects.order_by('rank')[0] # FIXME, make it administrable + + @classmethod + def get_list(cls): + default = cls.get_default() + l = [] + for t in cls.objects.all(): + fields = t.json + if default and default.pk == t.pk: + fields['selected'] = True + l.append(fields) + return l + + class Meta: + ordering = ('rank', 'name', ) + + +class Map(NamedModel): + """ + A single thematical map. + """ + ANONYMOUS = 1 + EDITORS = 2 + OWNER = 3 + PUBLIC = 1 + OPEN = 2 + PRIVATE = 3 + BLOCKED = 9 + EDIT_STATUS = ( + (ANONYMOUS, _('Everyone can edit')), + (EDITORS, _('Only editors can edit')), + (OWNER, _('Only owner can edit')), + ) + SHARE_STATUS = ( + (PUBLIC, _('everyone (public)')), + (OPEN, _('anyone with link')), + (PRIVATE, _('editors only')), + (BLOCKED, _('blocked')), + ) + slug = models.SlugField(db_index=True) + description = models.TextField(blank=True, null=True, verbose_name=_("description")) + center = models.PointField(geography=True, verbose_name=_("center")) + zoom = models.IntegerField(default=7, verbose_name=_("zoom")) + locate = models.BooleanField(default=False, verbose_name=_("locate"), help_text=_("Locate user on load?")) + licence = models.ForeignKey( + Licence, + help_text=_("Choose the map licence."), + verbose_name=_('licence'), + on_delete=models.SET_DEFAULT, + default=get_default_licence + ) + modified_at = models.DateTimeField(auto_now=True) + owner = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name="owned_maps", verbose_name=_("owner"), on_delete=models.PROTECT) + editors = models.ManyToManyField(settings.AUTH_USER_MODEL, blank=True, verbose_name=_("editors")) + edit_status = models.SmallIntegerField(choices=EDIT_STATUS, default=OWNER, verbose_name=_("edit status")) + share_status = models.SmallIntegerField(choices=SHARE_STATUS, default=PUBLIC, verbose_name=_("share status")) + settings = JSONField(blank=True, null=True, verbose_name=_("settings"), default=dict) + + objects = models.Manager() + public = PublicManager() + + def get_absolute_url(self): + return reverse("map", kwargs={'slug': self.slug or "map", 'pk': self.pk}) + + def get_anonymous_edit_url(self): + signer = Signer() + signature = signer.sign(self.pk) + return reverse('map_anonymous_edit_url', kwargs={'signature': signature}) + + def is_anonymous_owner(self, request): + if self.owner: + # edit cookies are only valid while map hasn't owner + return False + key, value = self.signed_cookie_elements + try: + has_anonymous_cookie = int(request.get_signed_cookie(key, False)) == value + except ValueError: + has_anonymous_cookie = False + return has_anonymous_cookie + + def can_edit(self, user=None, request=None): + """ + Define if a user can edit or not the instance, according to his account + or the request. + """ + can = False + if request and not self.owner: + if (getattr(settings, "UMAP_ALLOW_ANONYMOUS", False) + and self.is_anonymous_owner(request)): + can = True + if self.edit_status == self.ANONYMOUS: + can = True + elif not user.is_authenticated: + pass + elif user == self.owner: + can = True + elif self.edit_status == self.EDITORS and user in self.editors.all(): + can = True + return can + + def can_view(self, request): + if self.share_status == self.BLOCKED: + can = False + elif self.owner is None: + can = True + elif self.share_status in [self.PUBLIC, self.OPEN]: + can = True + elif request.user == self.owner: + can = True + else: + can = not (self.share_status == self.PRIVATE + and request.user not in self.editors.all()) + return can + + @property + def signed_cookie_elements(self): + return ('anonymous_owner|%s' % self.pk, self.pk) + + def get_tilelayer(self): + return self.tilelayer or TileLayer.get_default() + + def clone(self, **kwargs): + new = self.__class__.objects.get(pk=self.pk) + new.pk = None + new.name = u"%s %s" % (_("Clone of"), self.name) + if "owner" in kwargs: + # can be None in case of anonymous cloning + new.owner = kwargs["owner"] + new.save() + for editor in self.editors.all(): + new.editors.add(editor) + for datalayer in self.datalayer_set.all(): + datalayer.clone(map_inst=new) + return new + + +class Pictogram(NamedModel): + """ + An image added to an icon of the map. + """ + attribution = models.CharField(max_length=300) + pictogram = models.ImageField(upload_to="pictogram") + + @property + def json(self): + return { + "id": self.pk, + "attribution": self.attribution, + "name": self.name, + "src": self.pictogram.url + } + + +# Must be out of Datalayer for Django migration to run, because of python 2 +# serialize limitations. +def upload_to(instance, filename): + if instance.pk: + return instance.upload_to() + name = "%s.geojson" % slugify(instance.name)[:50] or "untitled" + return os.path.join(instance.storage_root(), name) + + +class DataLayer(NamedModel): + """ + Layer to store Features in. + """ + map = models.ForeignKey(Map, on_delete=models.CASCADE) + description = models.TextField( + blank=True, + null=True, + verbose_name=_("description") + ) + geojson = models.FileField(upload_to=upload_to, blank=True, null=True) + display_on_load = models.BooleanField( + default=False, + verbose_name=_("display on load"), + help_text=_("Display this layer on load.") + ) + rank = models.SmallIntegerField(default=0) + + class Meta: + ordering = ('rank',) + + def save(self, force_insert=False, force_update=False, **kwargs): + is_new = not bool(self.pk) + super(DataLayer, self).save(force_insert, force_update, **kwargs) + + if is_new: + force_insert, force_update = False, True + filename = self.upload_to() + old_name = self.geojson.name + new_name = self.geojson.storage.save(filename, self.geojson) + self.geojson.storage.delete(old_name) + self.geojson.name = new_name + super(DataLayer, self).save(force_insert, force_update, **kwargs) + self.purge_old_versions() + + def upload_to(self): + root = self.storage_root() + name = '%s_%s.geojson' % (self.pk, int(time.time() * 1000)) + return os.path.join(root, name) + + def storage_root(self): + path = ["datalayer", str(self.map.pk)[-1]] + if len(str(self.map.pk)) > 1: + path.append(str(self.map.pk)[-2]) + path.append(str(self.map.pk)) + return os.path.join(*path) + + @property + def metadata(self): + return { + "name": self.name, + "id": self.pk, + "displayOnLoad": self.display_on_load + } + + def clone(self, map_inst=None): + new = self.__class__.objects.get(pk=self.pk) + new.pk = None + if map_inst: + new.map = map_inst + new.geojson = File(new.geojson.file.file) + new.save() + return new + + def is_valid_version(self, name): + return name.startswith('%s_' % self.pk) and name.endswith('.geojson') + + def version_metadata(self, name): + els = name.split('.')[0].split('_') + return { + "name": name, + "at": els[1], + "size": self.geojson.storage.size(self.get_version_path(name)) + } + + def get_versions(self): + root = self.storage_root() + names = self.geojson.storage.listdir(root)[1] + names = [name for name in names if self.is_valid_version(name)] + names.sort(reverse=True) # Recent first. + return names + + @property + def versions(self): + names = self.get_versions() + return [self.version_metadata(name) for name in names] + + def get_version(self, name): + path = self.get_version_path(name) + with self.geojson.storage.open(path, 'r') as f: + return f.read() + + def get_version_path(self, name): + return '{root}/{name}'.format(root=self.storage_root(), name=name) + + def purge_old_versions(self): + root = self.storage_root() + names = self.get_versions()[settings.UMAP_KEEP_VERSIONS:] + for name in names: + for ext in ['', '.gz']: + path = os.path.join(root, name + ext) + try: + self.geojson.storage.delete(path) + except FileNotFoundError: + pass diff --git a/umap/settings/__init__.py b/umap/settings/__init__.py index 000bffd2..2d65ffc2 100644 --- a/umap/settings/__init__.py +++ b/umap/settings/__init__.py @@ -35,4 +35,13 @@ else: print('Loaded local config from', path) for key in dir(d): if key.isupper(): - globals()[key] = getattr(d, key) + value = getattr(d, key) + if key.startswith('LEAFLET_STORAGE'): + # Retrocompat pre 1.0, remove me in 1.1. + globals()['UMAP' + key[15:]] = value + elif key == 'UMAP_CUSTOM_TEMPLATES': + globals()['TEMPLATES'][0]['DIRS'].insert(0, value) + elif key == 'UMAP_CUSTOM_STATICS': + globals()['STATICFILES_DIRS'].insert(0, value) + else: + globals()[key] = value diff --git a/umap/settings/base.py b/umap/settings/base.py index 9c9c1166..d244cbbe 100644 --- a/umap/settings/base.py +++ b/umap/settings/base.py @@ -1,17 +1,37 @@ -# -*- coding:utf-8 -*- - """Base settings shared by all environments""" # Import global settings to make it easier to extend settings. from django.conf.global_settings import * # pylint: disable=W0614,W0401 from django.template.defaultfilters import slugify +from django.conf.locale import LANG_INFO -#============================================================================== +# ============================================================================= # Generic Django project settings -#============================================================================== +# ============================================================================= DEBUG = True SITE_ID = 1 +# Add languages we're missing from Django +LANG_INFO.update({ + 'am-et': { + 'bidi': False, + 'name': 'Amharic', + 'code': 'am-et', + 'name_local': 'አማርኛ' + }, + 'zh': { + 'bidi': False, + 'code': 'zh', + 'name': 'Chinese', + 'name_local': '简体中文', + }, + 'si': { + 'bidi': False, + 'code': 'si', + 'name': 'Sinhala', + 'name_local': 'සිංහල', + }, +}) # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name TIME_ZONE = 'UTC' @@ -20,27 +40,48 @@ USE_I18N = True USE_L10N = True LANGUAGE_CODE = 'en' LANGUAGES = ( + ('am-et', 'Amharic'), + ('ar', 'Arabic'), + ('ast', 'Asturian'), + ('bg', 'Bulgarian'), + ('ca', 'Catalan'), + ('cs-cz', 'Czech'), + ('da', 'Danish'), + ('de', 'German'), + ('el', 'Greek'), ('en', 'English'), - ('fr', u'Francais'), - ('it', u'Italiano'), - ('pt', u'Portuguese'), - ('nl', u'Dutch'), - ('es', u'Español'), - ('fi', u'Finnish'), - ('de', u'Deutsch'), - ('da', u'Danish'), - ('ja', u'Japanese'), - ('lt', u'Lithuanian'), - ('cs-cz', u'Czech'), - ('ca', u'Catalan'), - ('zh', u'Chinese'), - ('zh-tw', u'Chinese'), - ('ru', u'Russian'), - ('bg', u'Bulgarian'), - ('vi', u'Vietnamese'), - ('uk-ua', u'Ukrainian'), - ('am-et', u'Amharic'), + ('es', 'Spanish'), + ('et', 'Estonian'), + ('fi', 'Finnish'), + ('fr', 'French'), + ('gl', 'Galician'), + ('he', 'Hebrew'), + ('hr', 'Croatian'), + ('hu', 'Hungarian'), + ('id', 'Indonesian'), + ('is', 'Icelandic'), + ('it', 'Italian'), + ('ja', 'Japanese'), + ('ko', 'Korean'), + ('lt', 'Lithuanian'), + ('nl', 'Dutch'), + ('no', 'Norwegian'), + ('pl', 'Polish'), + ('pt-br', 'Portuguese (Brazil)'), + ('pt-pt', 'Portuguese (Portugal)'), + ('ro', 'Romanian'), + ('ru', 'Russian'), + ('si-lk', 'Sinhala (Sri Lanka)'), ('sk-sk', 'Slovak'), + ('sl', 'Slovenian'), + ('sr', 'Serbian'), + ('sv', 'Swedish'), + ('th-th', 'Thai (Thailand)'), + ('tr', 'Turkish'), + ('uk-ua', 'Ukrainian'), + ('vi', 'Vietnamese'), + ('zh', 'Chinese'), + ('zh-tw', 'Chinese (Taiwan)'), ) # Make this unique, and don't share it with anybody. @@ -56,10 +97,10 @@ INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.gis', - 'leaflet_storage', 'umap', 'compressor', 'social_django', + 'agnocomplete', ) # ============================================================================= @@ -88,14 +129,8 @@ MEDIA_URL = '/uploads/' STATIC_ROOT = os.path.join('static') MEDIA_ROOT = os.path.join('uploads') - -STATICFILES_DIRS = ( - os.path.join(PROJECT_DIR, 'static'), -) - STATICFILES_FINDERS = [ 'compressor.finders.CompressorFinder', - # 'npm.finders.NpmFinder', ] + STATICFILES_FINDERS # ============================================================================= @@ -118,6 +153,7 @@ TEMPLATES = [ 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', + 'django.contrib.messages.context_processors.messages', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'umap.context_processors.settings', @@ -132,39 +168,38 @@ TEMPLATES = [ # Middleware # ============================================================================= -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', + 'umap.middleware.readonly_middleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', ) + # ============================================================================= # Auth / security # ============================================================================= ENABLE_ACCOUNT_LOGIN = False -AUTHENTICATION_BACKENDS += ( -) # ============================================================================= # Miscellaneous project settings # ============================================================================= -LEAFLET_STORAGE_ALLOW_ANONYMOUS = False -LEAFLET_STORAGE_EXTRA_URLS = { +UMAP_ALLOW_ANONYMOUS = False +UMAP_EXTRA_URLS = { 'routing': 'http://www.openstreetmap.org/directions?engine=osrm_car&route={lat},{lng}&locale={locale}#map={zoom}/{lat}/{lng}', # noqa - 'ajax_proxy': '/ajax-proxy/?url={url}' + 'ajax_proxy': '/ajax-proxy/?url={url}&ttl={ttl}' } -LEAFLET_STORAGE_KEEP_VERSIONS = 10 +UMAP_KEEP_VERSIONS = 10 SITE_URL = "http://umap.org" SITE_NAME = 'uMap' UMAP_DEMO_SITE = False UMAP_EXCLUDE_DEFAULT_MAPS = False UMAP_MAPS_PER_PAGE = 5 UMAP_MAPS_PER_PAGE_OWNER = 10 -MAP_SHORT_URL_NAME = "umap_short_url" UMAP_USE_UNACCENT = False UMAP_FEEDBACK_LINK = "https://wiki.openstreetmap.org/wiki/UMap#Feedback_and_help" # noqa USER_MAPS_URL = 'user_maps' @@ -174,6 +209,8 @@ DATABASES = { 'NAME': 'umap', } } +UMAP_READONLY = False +LOCALE_PATHS = [os.path.join(PROJECT_DIR, 'locale')] # ============================================================================= # Third party app settings @@ -183,6 +220,7 @@ COMPRESS_OFFLINE = True SOCIAL_AUTH_DEFAULT_USERNAME = lambda u: slugify(u) SOCIAL_AUTH_ASSOCIATE_BY_EMAIL = True +SOCIAL_AUTH_NO_DEFAULT_PROTECTED_USER_FIELDS = True LOGIN_URL = "login" SOCIAL_AUTH_LOGIN_REDIRECT_URL = "/login/popup/end/" SOCIAL_AUTH_PIPELINE = ( diff --git a/umap/settings/local.py.sample b/umap/settings/local.py.sample index 3af92754..204b8575 100644 --- a/umap/settings/local.py.sample +++ b/umap/settings/local.py.sample @@ -55,7 +55,7 @@ SOCIAL_AUTH_TWITTER_KEY = "xxx" SOCIAL_AUTH_TWITTER_SECRET = "xxx" SOCIAL_AUTH_OPENSTREETMAP_KEY = 'xxx' SOCIAL_AUTH_OPENSTREETMAP_SECRET = 'xxx' -MIDDLEWARE_CLASSES += ( +MIDDLEWARE += ( 'social_django.middleware.SocialAuthExceptionMiddleware', ) SOCIAL_AUTH_RAISE_EXCEPTIONS = False @@ -69,7 +69,7 @@ SOCIAL_AUTH_BACKEND_ERROR_URL = "/" UMAP_DEMO_SITE = True # Whether to allow non authenticated people to create maps. -LEAFLET_STORAGE_ALLOW_ANONYMOUS = True +UMAP_ALLOW_ANONYMOUS = True # This setting will exclude empty maps (in fact, it will exclude all maps where # the default center has not been updated) @@ -98,6 +98,10 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' # CREATE EXTENSION unaccent; UMAP_USE_UNACCENT = False +# Put the site in readonly mode (useful for migration or any maintenance) +UMAP_READONLY = False + + # For static deployment STATIC_ROOT = '/home/srv/var/static' @@ -110,4 +114,4 @@ LEAFLET_LATITUDE = 51 LEAFLET_ZOOM = 6 # Number of old version to keep per datalayer. -LEAFLET_STORAGE_KEEP_VERSIONS = 10 +UMAP_KEEP_VERSIONS = 10 diff --git a/umap/static/umap/base.css b/umap/static/umap/base.css new file mode 100644 index 00000000..e4d9eed4 --- /dev/null +++ b/umap/static/umap/base.css @@ -0,0 +1,850 @@ +/* +* Generic +*/ +body, div, ul, ol, li, a, section, nav, +h1, h2, h3, h4, h5, h6, label, +hr, input, textarea { + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + box-sizing: border-box; + margin: 0; + padding: 0; + font-family: "fira_sans", -apple-system, BlinkMacSystemFont, + "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", + "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; +} +body, div, ul, ol, li, a, section, nav, +h1, h2, h3, h4, h5, h6, label, hr { + padding: 0; +} +a { + text-decoration: none; + color: SeaGreen; +} +hr { + clear: both; + width: 100%; + height: 0; + max-width: 980px; + margin: 28px auto; + -moz-border-bottom-colors: none; + -moz-border-left-colors: none; + -moz-border-right-colors: none; + -moz-border-top-colors: none; + border-color: #ddd; + border-image: none; + border-style: solid; + border-width: 1px 0 0; +} +h1, h2 { + margin-bottom: 28px; +} +h3, h4, h5 { + margin-bottom: 14px; +} +p { + line-height: 21px; + margin-top: 14px; + margin-bottom: 14px; +} + +/* +* List +*/ +ul { + list-style-image:none; + list-style-position:inside; + list-style-type:none; +} + +/* ************************************************* */ +/* *********************** GRID ******************** */ +/* ************************************************* */ +.wrapper { + width: 100%; + clear: both; +} +.wrapper:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} +.row { + width: 100%; + max-width: 1200px; + clear: both; + margin-left: auto; + margin-right: auto; + margin-top: 0; + margin-bottom: 2rem; +} +.col { + float: left; +} +.right { + float: right; +} +.col + .col { + padding-left: 20px; +} +.half { + width: 50%; +} +.third { + width: 33.33%; +} +.two-third { + width: 66.66% +} +.quarter { + width: 25%; +} +.wide { + width: 100%; +} +.col + .wide { + padding-left: inherit; +} +.mshow, .tshow { + display: none; +} +.center { + margin-left: auto; + margin-right: auto; + float: none; +} + + +/* *********** */ +/* forms */ +/* *********** */ +input[type="text"], input[type="password"], input[type="date"], +input[type="datetime"], input[type="email"], input[type="number"], +input[type="search"], input[type="tel"], input[type="time"], +input[type="url"], textarea { + background-color: white; + border: 1px solid #CCCCCC; + border-radius: 2px 2px 2px 2px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset; + color: rgba(0, 0, 0, 0.75); + display: block; + font-family: inherit; + font-size: 14px; + height: 32px; + margin: 0 0 14px; + padding: 7px; + width: 100%; +} +input[type="range"] { + margin-top: 10px; + margin-bottom: 5px; + width: 100%; +} +input[type="checkbox"] { + margin: 0 5px; + vertical-align: middle; +} +textarea { + height: inherit; + padding: 7px; +} +select { + width: 100%; + height: 28px; + line-height: 28px; + color: #efefef; + border: 1px solid #222; + background-color: #393F3F; + margin-top: 5px; +} +select[multiple="multiple"] { + height: auto; +} +.button, input[type="submit"] { + display: block; + margin-bottom: 14px; + text-align: center; + border-radius: 2px; + font-weight: normal; + cursor: pointer; + padding: 7px; + width: 100%; + min-height: 32px; + line-height: 32px; + border: none; + text-decoration: none; +} +.dark .button { + background-color: #2a2e30; + color: #eeeeec; + border: 1px solid #1b1f20; +} +.dark .button:hover, .dark input[type="submit"]:hover { + background-color: #2e3436; +} +.help-text, .helptext { + display: block; + padding: 7px 7px; + margin-bottom: 14px; + background: #393F3F; + color: #ddd; + font-size: 10px; + border-radius: 0 2px; +} +input + .help-text { + margin-top: -14px; +} +.formbox { + min-height: 36px; + line-height: 28px; + margin-bottom: 14px; +} +.formbox.with-switch { + padding-top: 2px; +} +.formbox select { + width: calc(100% - 14px); +} +label { + display: block; + font-size: 12px; + line-height: 21px; + width: 100%; +} +input[type="checkbox"] + label { + display: inline; + padding: 0 14px; +} +select + .error, +input + .error { + display: block; + padding: 7px 7px; + margin-top: -14px; + margin-bottom: 14px; + background: #ddd; + color: #fff; + background-color: #cc0000; + font-size: 11px; + border-radius: 0 2px; +} +input[type="file"] + .error { + margin-top: 0; +} +.fieldset { + border: 1px solid #222; + margin-bottom: 5px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.fieldset .fields { + visibility: hidden; + opacity: 0; + transition: visibility 0s, opacity 0.5s linear; + height: 0; + overflow: hidden; +} +.fieldset.toggle.on .fields { + visibility: visible; + opacity: 1; + height: initial; + padding: 10px; +} +.fieldset.toggle .legend { + text-align: center; + display: block; + cursor: pointer; + background-color: #232729; + height: 30px; + line-height: 30px; + color: #fff; + margin: 0; + font-family: fira_sans; + font-weight: normal; + font-size: 1.2em; + padding: 0 5px; +} +/* Switch */ +input.switch:empty { + display: none; +} +input.switch:empty ~ label { + white-space: nowrap; + position: relative; + float: left; + line-height: 2em; + height: 2em; + text-indent: 6em; + margin: 0.2em 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.1); + width: 80px; +} +input.switch:empty ~ label:before, +input.switch:empty ~ label:after { + position: absolute; + display: block; + top: 0; + bottom: 0; + left: 0; + content: ' '; + width: 6em; + -webkit-transition: all 100ms ease-in; + transition: all 100ms ease-in; + color: #c9c9c7; + font-weight: bold; + background-color: #ededed; +} +.dark input.switch:empty ~ label:before, +.dark input.switch:empty ~ label:after { + background-color: #272c2e; +} +input.switch:empty ~ label:after { + width: 3em; + margin-left: 0.1em; + background-color: #ededed; + content: "OFF"; + text-indent: 3.5em; + border: 1px solid #374E75; + font-weight: bold; +} +.dark input.switch:empty ~ label:after { + border: 1px solid #202425; + background-color: #2c3233; +} +input.switch:checked:empty ~ label:after { + content: ' '; +} +.dark input.switch:checked ~ label:before, +input.switch:checked ~ label:before { + background-color: #215d9c; + content: "ON"; + text-indent: 0.7em; + text-align: left; + font-weight: bold; +} +input.switch:checked ~ label:after { + margin-left: 3em; +} +.button-bar { + margin-top: 5px; + text-align: center; + display: grid; + grid-gap: 7px; + width: 100% +} +.button-bar.half { + grid-template-columns: 1fr 1fr; +} +.button-bar.third { + grid-template-columns: 1fr 1fr 1fr; +} +.button-bar .button { + display: inline-block; +} +.umap-multiplechoice input[type='radio'] { + display: none; +} +.umap-multiplechoice label { + border: 1px solid #374E75; + cursor: pointer; + background-color: #c9c9c7; + height: 30px; + line-height: 30px; + text-align: center; + width: calc(100% / 3); + display: inline-block; +} +.umap-multiplechoice.by4 label { + width: calc(100% / 4); +} +.dark .umap-multiplechoice label { + border: 1px solid black; + background-color: #2c3233; +} +.umap-multiplechoice input[type='radio']:checked + label { + background-color: #215d9c; + box-shadow: inset 0 0 6px 0px #2c3233; + color: #ededed; +} +.inheritable .header, +.inheritable { + clear: both; + overflow: hidden; +} +.inheritable .header { + margin-bottom: 5px; +} +.inheritable .header label { + padding-top: 6px; +} +.inheritable + .inheritable { + border-top: 1px solid #222; + padding-top: 5px; + margin-top: 5px; +} +.inheritable .define, +.inheritable .undefine { + float: right; + width: initial; + min-height: 18px; + line-height: 18px; + margin-bottom: 0; +} +.inheritable .quick-actions { + float: right; +} +.inheritable .quick-actions .formbox { + margin-bottom: 0; +} +.inheritable .quick-actions input { + width: 100px; + margin-right: 5px; +} +.inheritable .define, +.inheritable.undefined .undefine, +.inheritable.undefined .show-on-defined { + display: none; +} +.inheritable.undefined .define { + display: block; +} +i.info { + background-repeat: no-repeat; + background-image: url('./img/16.png'); + background-position: -170px -50px; + display: inline-block; + margin-left: 5px; + vertical-align: middle; + width: 16px; + height: 18px; +} +.dark i.info { + background-image: url('./img/16-white.png'); +} +.with-transition { + /*transition: top .7s, right .7s, left .7s, width .7s, visibility .7s;*/ + transition: all .7s; +} + +.umap-delete:before, .umap-empty:before, .umap-to-polygon:before, +.umap-clone:before, .umap-edit:before, .umap-download:before, +.umap-to-polyline:before { + background-repeat: no-repeat; + text-indent: 38px; + height: 24px; + line-height: 24px; + display: inline-block; + background-image: url('./img/24.png'); + vertical-align: bottom; + content: " "; +} +.dark .umap-delete:before, .dark .umap-empty:before, +.dark .umap-to-polygon:before, +.dark .umap-clone:before, +.dark .umap-edit:before, .dark .umap-download:before, +.dark .umap-to-polyline:before { + background-image: url('./img/24-white.png'); + vertical-align: middle; +} +.umap-to-polygon:before { + background-position: -80px -48px; +} +.umap-to-polyline:before { + background-position: -120px -48px; +} +.umap-clone:before { + background-position: -160px -88px; +} +.umap-delete:before { + background-position: -40px -8px; +} +.umap-edit:before { + background-position: -6px -6px; +} +.umap-empty:before { + background-position: -160px -126px; +} +.umap-download:before { + background-position: -88px -168px; +} +.umap-edit-actions { + padding-top: 5px; + clear: both; +} +.umap-edit-actions li { + height: 36px; + line-height: 36px; + cursor: pointer; + margin-bottom: 5px; + border-radius: 2px; + border: 1px solid #222; +} +.umap-edit-actions li i { + background-image: url('./img/24-white.png'); + background-repeat: no-repeat; + display: table-cell; + width: 36px; + height: 36px; +} +.umap-edit-actions li span { + display: table-cell; + vertical-align: middle; +} +.umap-edit-actions li:hover { + background-color: #353c3e; +} +.permissions-panel, +.umap-upload, +.umap-share, +.umap-edit-container, +.umap-datalayer-container, +.umap-layer-properties-container, +.umap-footer-container, +.umap-browse-data, +.umap-browse-datalayers { + padding: 0 10px; +} +.umap-form-iconfield { + position: relative; + overflow: hidden; + padding-bottom: 5px; + padding-top: 5px; + line-height: 30px; +} +.umap-icon-list, .umap-pictogram-list { + clear: both; +} +.umap-icon-choice { + display: block; + float: left; + width: 30px; + height: 30px; + line-height: 30px; + position: relative; + cursor: pointer; + background-image: url('./img/icon-bg.png'); + text-align: center; + box-shadow: 0 0 4px 0 black inset; + margin-bottom: 5px; + margin-right: 5px; +} +.umap-icon-choice img { + vertical-align: middle; + max-width: 24px; +} +.umap-icon-choice:hover, +.umap-icon-choice.selected, +.umap-color-picker span:hover { + box-shadow: 0 0 4px 0 black; +} +.umap-icon-choice .leaflet-marker-icon { + bottom: 0; + left: 30px; + position: absolute; +} +.umap-color-picker { + clear: both; + margin-bottom: 20px; + overflow: hidden; + display: none; +} +.umap-color-picker span { + width: 20px; + height: 20px; + display: block; + padding: 0; + margin: 0; + cursor: pointer; + float: left; +} +input.blur { + width: calc(100% - 40px); + display: inline-block; + vertical-align: middle; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.blur + .button:before { + content: '✔'; +} +.blur + .button { + width: 40px; + height: 18px; + display: inline-block; + vertical-align: middle; + line-height: 18px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + box-sizing: border-box; +} +input[type=hidden].blur + .button { + display: none; +} + +/* *********** */ +/* Panel */ +/* *********** */ +.leaflet-ui-container { + overflow-x: hidden; +} +#umap-ui-container { + width: 400px; + position: absolute; + top: 0; + bottom: 0; + right: -400px; + padding: 0 10px; + border-left: 1px solid #ddd; + overflow-x: auto; + z-index: 1010; + background-color: #fff; + opacity: 0.98; + cursor: initial; +} +#umap-ui-container.login-panel { + position: fixed; /* Should not scroll when used in content pages (like home page) */ + z-index: 1011; /* Above a map panel if any */ +} +#umap-ui-container.dark { + border-left: 1px solid #222; + background-color: #323737; + color: #efefef; +} +#umap-ui-container.fullwidth { + width: 100%; + z-index: 10000; + padding-left: 0; + padding-right: 0; + transition: all .7s; +} +.umap-edit-enabled #umap-ui-container { + top: 46px; +} +.umap-caption-bar-enabled #umap-ui-container { + bottom: 46px; +} +.umap-ui #umap-ui-container { + right: 0; +} +.leaflet-top, +.leaflet-right { + transition: all .7s; +} +.umap-ui .leaflet-right { + right: 400px; +} +#umap-ui-container, +#umap-alert-container, +#umap-tooltip-container { + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + box-sizing: border-box; +} +#umap-ui-container .umap-popup-content img { + /* See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 */ + max-width: 99% !important; +} +#umap-ui-container .umap-popup-content { + max-height: inherit; +} +#umap-ui-container .body { + clear: both; + height: calc(100% - 54px); /* Minus size of toolbox */ +} +#umap-ui-container .toolbox { + padding: 5px 10px; + overflow: hidden; +} +#umap-ui-container .toolbox li { + color: #2e3436; + line-height: 32px; + cursor: pointer; + float: right; + display: inline; + padding: 0 7px; + border: 1px solid #b6b6b3; + border-radius: 2px; +} +#umap-ui-container.dark .toolbox li { + color: #d3dfeb; + border: 1px solid #202425; +} +#umap-ui-container .toolbox li:hover { + color: #2e3436; + background-color: #d4d4d2; +} +#umap-ui-container.dark .toolbox li:hover { + color: #eeeeec; + background-color: #353c3e; +} +#umap-ui-container .toolbox li + li { + margin-right: 5px; + margin-left: 5px; +} +.dark input, .dark textarea { + background-color: #232729; + border-color: #1b1f20; + /*box-shadow: inset 0 0 0 1px #215d9c;*/ + color: #efefef; +} + +/* *********** */ +/* Alerts */ +/* *********** */ +#umap-alert-container { + min-height: 46px; + line-height: 46px; + padding-left: 10px; + width: calc(100% - 500px); + position: absolute; + top: -46px; + left: 250px; /* Keep save/cancel button accessible. */ + right: 250px; + box-shadow: 0 1px 7px #999999; + visibility: hidden; + background: none repeat scroll 0 0 rgba(20, 22, 23, 0.8); + font-weight: bold; + color: #fff; + font-size: 0.8em; + z-index: 1002; + border-radius: 2px; +} +#umap-alert-container.error { + background-color: #c60f13; +} +.umap-alert #umap-alert-container { + visibility: visible; + top: 23px; +} +.umap-alert .umap-action { + margin-left: 10px; + background-color: #fff; + color: #999; + padding: 5px; + border-radius: 4px; +} +.umap-alert .umap-action:hover { + color: #000; +} +.umap-alert .error .umap-action { + background-color: #666; + color: #eee; +} +.umap-alert .error .umap-action:hover { + color: #fff; +} + +/* *********** */ +/* Tooltip */ +/* *********** */ +#umap-tooltip-container { + line-height: 20px; + padding: 5px 10px; + width: auto; + position: absolute; + box-shadow: 0 1px 7px #999999; + display: none; + background-color: rgba(40, 40, 40, 0.8); + color: #eeeeec; + font-size: 0.8em; + border-radius: 2px; + z-index: 1004; + font-weight: normal; + max-width: 300px; +} +.umap-tooltip #umap-tooltip-container { + display: block; +} +#umap-tooltip-container.tooltip-top:after { + top: 100%; + left: calc(50% - 11px); + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-top-color: rgba(30, 30, 30, 0.8); + border-width: 11px; + margin-left: calc(-50% + 21px); +} +#umap-tooltip-container.tooltip.tooltip-left:after { + left: 100%; + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border-color: rgba(136, 183, 213, 0); + border-left-color: #333; + border-width: 11px; + margin-top: -10px; +} + + + +/* *********** */ +/* Close link */ +/* *********** */ +.umap-close-icon { + background-repeat: no-repeat; + background-image: url('./img/16.png'); + background-position: -52px -13px; + display: inline; + padding: 0 10px; + vertical-align: middle; +} +.dark .umap-close-icon { + background-image: url('./img/16-white.png'); +} +.dark .umap-close-link { + border: 1px solid #202425; + color: #eeeeec; + padding: 0 7px; + line-height: 32px; + background-color: #323737; +} +.dark .umap-close-link:hover { + background-color: #2e3436; +} +#umap-alert-container .umap-close-link { + color: #fff; + float: right; + padding-right: 10px; +} +#umap-alert-container .umap-close-icon { + background-position: -128px -93px; +} + + +/* *********** */ +/* Mobile */ +/* *********** */ +@media all and (orientation:portrait) { + .umap-ui #umap-ui-container { + height: 50%; + max-height: 400px; + width: 100%; + top: inherit!important; + bottom: 0; + right: 0; + left: 0; + } + .umap-ui .leaflet-right { + right: 0; + } + #umap-alert-container { + width: 100%; + left: 0; + right: 0; + } +} diff --git a/umap/static/umap/umap.css b/umap/static/umap/content.css similarity index 56% rename from umap/static/umap/umap.css rename to umap/static/umap/content.css index 25332167..41734935 100644 --- a/umap/static/umap/umap.css +++ b/umap/static/umap/content.css @@ -1,164 +1,6 @@ -/* ************************************************* */ -/* *********************** FONT ******************** */ -/* ************************************************* */ - - -@font-face { - font-family: 'fira_sans'; - src: url('./font/FiraSans-Light.woff2') format('woff2'), - url('./font/FiraSans-Light.woff') format('woff'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'fira_sans'; - src: url('./font/FiraSans-SemiBold.woff2') format('woff2'), - url('./font/FiraSans-SemiBold.woff') format('woff'); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: 'fira_sans'; - src: url('./font/FiraSans-LightItalic.woff2') format('woff2'), - url('./font/FiraSans-LightItalic.woff') format('woff'); - font-weight: normal; - font-style: italic; -} - - -/* -* Generic -*/ -body, div, ul, ol, li, a, section, nav, -h1, h2, h3, h4, h5, h6, label, -hr, input, textarea { - -moz-box-sizing:border-box; - -webkit-box-sizing:border-box; - box-sizing: border-box; - margin: 0; - font-family: "fira_sans", -apple-system, BlinkMacSystemFont, - "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", - "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -} -body, div, ul, ol, li, a, section, nav, -h1, h2, h3, h4, h5, h6, label, hr { - padding: 0; -} -a { - text-decoration: none; - color: SeaGreen; -} -hr { - clear: both; - width: 100%; - height: 0; - max-width: 980px; - margin: 28px auto; - -moz-border-bottom-colors: none; - -moz-border-left-colors: none; - -moz-border-right-colors: none; - -moz-border-top-colors: none; - border-color: #ddd; - border-image: none; - border-style: solid; - border-width: 1px 0 0; -} -h1, h2 { - margin-bottom: 28px; -} -h3, h4, h5 { - margin-bottom: 14px; -} -p { - line-height: 21px; - margin-top: 14px; - margin-bottom: 14px; -} - -/* -* List -*/ -ul { - list-style-image:none; - list-style-position:inside; - list-style-type:none; -} - -/* ************************************************* */ -/* *********************** GRID ******************** */ -/* ************************************************* */ -.wrapper { - width: 100%; - clear: both; -} -.wrapper:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; -} -.row { - width: 100%; - max-width: 1200px; - clear: both; - margin-left: auto; - margin-right: auto; - margin-top: 0; - margin-bottom: 2rem; -} -.col { - float: left; -} -.right { - float: right; -} -.col + .col { - padding-left: 20px; -} -.half { - width: 50%; -} -.third { - width: 33.33%; -} -.two-third { - width: 66.66% -} -.quarter { - width: 25%; -} -.wide { - width: 100%; -} -.col + .wide { - padding-left: inherit; -} -.mshow, .tshow { - display: none; -} -.center { - margin-left: auto; - margin-right: auto; - float: none; -} - /* * Content */ -.tintbox, .tintbox a { - font-family: serif; -} -.tintbox { - background-color: #f2f2f2; - padding: 28px; -} -.tintbox p { - color: #6f6f6f; -} body.content { width: 100%; height: 100%; @@ -166,23 +8,6 @@ body.content { } -/* - Foundation use a position:relative; on body, which break the 100% rule - on #map -*/ -body.map_detail { - width: 100%; - height: 100%; - position: inherit; -} - -/* Global alert */ -.alert-box.global { - z-index: 1001; - margin-right: auto; - margin-left: auto; -} - /* Search form */ input::-webkit-input-placeholder, ::-webkit-input-placeholder { color: #a5a5a5; @@ -192,19 +17,19 @@ input:-moz-placeholder, :-moz-placeholder { color: #a5a5a5; } -#storage-ui-container textarea { +#umap-ui-container textarea { height: 100px; margin-bottom: 14px; } -#storage-ui-container select { +#umap-ui-container select { margin-bottom: 10px; } -#storage-ui-container.warning .button { +#umap-ui-container.warning .button { background-color: #c60f13; border: 1px solid #7f0a0c; } -#storage-ui-container.warning .button:hover { +#umap-ui-container.warning .button:hover { background-color: #970b0e; } @@ -241,34 +66,6 @@ input:-moz-placeholder, :-moz-placeholder { background-image: url("./openstreetmap.png"); } -/* -* Navigation -*/ -header { - margin: 14px 0; -} - -footer { - height: 140px; - margin-top: 40px; - background-color: #2E3641; - text-align: center; - line-height: 140px; - color: #8F96A3; -} -footer a.branding { - background-image: url("./img/logo_filigree.png"); - background-position: left center; - background-repeat: no-repeat; - background-size: 60px auto; - font-size: 30px; - font-weight: bold; - height: 140px; - padding-left: 70px; - color: #8F96A3; - display: inline-block; -} - /* **************************** */ /* home */ @@ -346,21 +143,6 @@ h2.section { display: inline-block; height: 128px; } -.button-bar { - text-align: center; -} -.button-bar .button { - display: inline-block; -} -.button-bar .button + .button { - margin-left: 14px; -} -.button-bar .button.half { - width: calc(50% - 7px); -} -.button-bar .button.third { - width: calc(100% / 3 - 10px); -} .demo-instance-warning { background-color: #c0392b; color: #efefef; @@ -374,6 +156,9 @@ h2.section { color: #efefef; text-decoration: underline; } +body.content #umap-ui-container { + background-color: #fff; +} /* **************************** */ @@ -479,21 +264,9 @@ ul.umap-autocomplete { /* **************************** */ /* Override Leaflet.Storage */ /* **************************** */ -body.content #storage-ui-container { -/* width: 100%; - top: 0; - right: 0; - left: 0; - bottom: inherit; - height: 30%;*/ - background-color: #fff; -} #id_editors + br + span.helptext { display: none; } -.storage-loader { - background-color: #79c1c0 !important; -} .leaflet-container a.button { color: #eeeeec; } diff --git a/umap/static/umap/font.css b/umap/static/umap/font.css new file mode 100644 index 00000000..5a7dbd05 --- /dev/null +++ b/umap/static/umap/font.css @@ -0,0 +1,30 @@ +/* ************************************************* */ +/* *********************** FONT ******************** */ +/* ************************************************* */ + + +@font-face { + font-family: 'fira_sans'; + src: url('./font/FiraSans-Light.woff2') format('woff2'), + url('./font/FiraSans-Light.woff') format('woff'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: 'fira_sans'; + src: url('./font/FiraSans-SemiBold.woff2') format('woff2'), + url('./font/FiraSans-SemiBold.woff') format('woff'); + font-weight: bold; + font-style: normal; +} + +@font-face { + font-family: 'fira_sans'; + src: url('./font/FiraSans-LightItalic.woff2') format('woff2'), + url('./font/FiraSans-LightItalic.woff') format('woff'); + font-weight: normal; + font-style: italic; +} + + diff --git a/umap/static/umap/img/16-white.png b/umap/static/umap/img/16-white.png new file mode 100644 index 00000000..74e2ad64 Binary files /dev/null and b/umap/static/umap/img/16-white.png differ diff --git a/umap/static/umap/img/16-white.svg b/umap/static/umap/img/16-white.svg new file mode 100644 index 00000000..e5595623 --- /dev/null +++ b/umap/static/umap/img/16-white.svg @@ -0,0 +1,733 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umap/static/umap/img/16.png b/umap/static/umap/img/16.png new file mode 100644 index 00000000..5aa09823 Binary files /dev/null and b/umap/static/umap/img/16.png differ diff --git a/umap/static/umap/img/16.svg b/umap/static/umap/img/16.svg new file mode 100644 index 00000000..f103cb96 --- /dev/null +++ b/umap/static/umap/img/16.svg @@ -0,0 +1,681 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umap/static/umap/img/24-white.png b/umap/static/umap/img/24-white.png new file mode 100644 index 00000000..95edf1d6 Binary files /dev/null and b/umap/static/umap/img/24-white.png differ diff --git a/umap/static/umap/img/24-white.svg b/umap/static/umap/img/24-white.svg new file mode 100644 index 00000000..28c7fc4d --- /dev/null +++ b/umap/static/umap/img/24-white.svg @@ -0,0 +1,475 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umap/static/umap/img/24.png b/umap/static/umap/img/24.png new file mode 100644 index 00000000..c4a9bddf Binary files /dev/null and b/umap/static/umap/img/24.png differ diff --git a/umap/static/umap/img/24.svg b/umap/static/umap/img/24.svg new file mode 100644 index 00000000..5835faf0 --- /dev/null +++ b/umap/static/umap/img/24.svg @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + +   + + + + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/umap/static/umap/img/edit-16.png b/umap/static/umap/img/edit-16.png new file mode 100644 index 00000000..bfe389cb Binary files /dev/null and b/umap/static/umap/img/edit-16.png differ diff --git a/umap/static/umap/img/icon-bg.png b/umap/static/umap/img/icon-bg.png new file mode 100644 index 00000000..1f7144b3 Binary files /dev/null and b/umap/static/umap/img/icon-bg.png differ diff --git a/umap/static/umap/img/marker.png b/umap/static/umap/img/marker.png new file mode 100644 index 00000000..3119b806 Binary files /dev/null and b/umap/static/umap/img/marker.png differ diff --git a/umap/static/umap/img/search.gif b/umap/static/umap/img/search.gif new file mode 100644 index 00000000..c2bf64c0 Binary files /dev/null and b/umap/static/umap/img/search.gif differ diff --git a/umap/static/umap/js/autocomplete.js b/umap/static/umap/js/umap.autocomplete.js similarity index 63% rename from umap/static/umap/js/autocomplete.js rename to umap/static/umap/js/umap.autocomplete.js index 44cafc05..efd9bf03 100644 --- a/umap/static/umap/js/autocomplete.js +++ b/umap/static/umap/js/umap.autocomplete.js @@ -1,4 +1,4 @@ -L.S.AutoComplete = L.Class.extend({ +L.U.AutoComplete = L.Class.extend({ options: { placeholder: 'Start typing...', @@ -12,8 +12,10 @@ L.S.AutoComplete = L.Class.extend({ RESULTS: [], initialize: function (el, options) { - this.el = L.DomUtil.get(el); - L.setOptions(options); + this.el = el; + var ui = new L.U.UI(document.querySelector('header')); + this.xhr = new L.U.Xhr(ui); + L.setOptions(this, options); var CURRENT = null; try { Object.defineProperty(this, 'CURRENT', { @@ -37,9 +39,9 @@ L.S.AutoComplete = L.Class.extend({ this.input = L.DomUtil.element('input', { type: 'text', placeholder: this.options.placeholder, - autocomplete: 'off' - }); - L.DomUtil.before(this.el, this.input); + autocomplete: 'off', + className: this.options.className + }, this.el); L.DomEvent.on(this.input, 'keydown', this.onKeyDown, this); L.DomEvent.on(this.input, 'keyup', this.onKeyUp, this); L.DomEvent.on(this.input, 'blur', this.onBlur, this); @@ -62,24 +64,21 @@ L.S.AutoComplete = L.Class.extend({ onKeyDown: function (e) { switch (e.keyCode) { - case L.S.Keys.TAB: - if(this.CURRENT !== null) - { - this.setChoice(); - } + case L.U.Keys.TAB: + if(this.CURRENT !== null) this.setChoice(); L.DomEvent.stop(e); break; - case L.S.Keys.ENTER: + case L.U.Keys.ENTER: L.DomEvent.stop(e); this.setChoice(); break; - case L.S.Keys.ESC: + case L.U.Keys.ESC: L.DomEvent.stop(e); this.hide(); break; - case L.S.Keys.DOWN: + case L.U.Keys.DOWN: if(this.RESULTS.length > 0) { - if(this.CURRENT !== null && this.CURRENT < this.RESULTS.length - 1) { // what if one resutl? + if(this.CURRENT !== null && this.CURRENT < this.RESULTS.length - 1) { // what if one result? this.CURRENT++; this.highlight(); } @@ -89,7 +88,7 @@ L.S.AutoComplete = L.Class.extend({ } } break; - case L.S.Keys.UP: + case L.U.Keys.UP: if(this.CURRENT !== null) { L.DomEvent.stop(e); } @@ -109,16 +108,16 @@ L.S.AutoComplete = L.Class.extend({ onKeyUp: function (e) { var special = [ - L.S.Keys.TAB, - L.S.Keys.ENTER, - L.S.Keys.LEFT, - L.S.Keys.RIGHT, - L.S.Keys.DOWN, - L.S.Keys.UP, - L.S.Keys.APPLE, - L.S.Keys.SHIFT, - L.S.Keys.ALT, - L.S.Keys.CTRL + L.U.Keys.TAB, + L.U.Keys.ENTER, + L.U.Keys.LEFT, + L.U.Keys.RIGHT, + L.U.Keys.DOWN, + L.U.Keys.UP, + L.U.Keys.APPLE, + L.U.Keys.SHIFT, + L.U.Keys.ALT, + L.U.Keys.CTRL ]; if (special.indexOf(e.keyCode) === -1) { @@ -149,8 +148,8 @@ L.S.AutoComplete = L.Class.extend({ setChoice: function (choice) { choice = choice || this.RESULTS[this.CURRENT]; if (choice) { - this.input.value = choice.display; - this.select(choice); + this.input.value = choice.item.label; + this.options.on_select(choice); this.displaySelected(choice); this.hide(); if (this.options.callback) { @@ -165,26 +164,18 @@ L.S.AutoComplete = L.Class.extend({ this.clear(); return; } - if(!val) { - this.clear(); - return; - } - if( val + '' === this.CACHE + '') { - return; - } - else { - this.CACHE = val; - } - var results = this._do_search(val); - return this.handleResults(results); + if( val + '' === this.CACHE + '') return; + else this.CACHE = val; + this._do_search(val, function (data) { + this.handleResults(data.data); + }, this); }, createResult: function (item) { var el = L.DomUtil.element('li', {}, this.container); - el.innerHTML = item.display; + el.textContent = item.label; var result = { - value: item.value, - display: item.display, + item: item, el: el }; L.DomEvent.on(el, 'mouseover', function () { @@ -200,7 +191,7 @@ L.S.AutoComplete = L.Class.extend({ resultToIndex: function (result) { var out = null; this.forEach(this.RESULTS, function (item, index) { - if (item.value == result.value) { + if (item.item.value == result.item.value) { out = index; return; } @@ -223,13 +214,9 @@ L.S.AutoComplete = L.Class.extend({ highlight: function () { var self = this; - this.forEach(this.RESULTS, function (item, index) { - if (index === self.CURRENT) { - L.DomUtil.addClass(item.el, 'on'); - } - else { - L.DomUtil.removeClass(item.el, 'on'); - } + this.forEach(this.RESULTS, function (result, index) { + if (index === self.CURRENT) L.DomUtil.addClass(result.el, 'on'); + else L.DomUtil.removeClass(result.el, 'on'); }); }, @@ -260,114 +247,68 @@ L.S.AutoComplete = L.Class.extend({ }); -L.S.AutoComplete.BaseSelect = L.S.AutoComplete.extend({ +L.U.AutoComplete.Ajax = L.U.AutoComplete.extend({ initialize: function (el, options) { - L.S.AutoComplete.prototype.initialize.call(this, el, options); + L.U.AutoComplete.prototype.initialize.call(this, el, options); if (!this.el) return this; - this.el.style.display = 'none'; this.createInput(); this.createContainer(); - this.initSelectedContainer(); + this.selected_container = this.initSelectedContainer(); }, optionToResult: function (option) { return { value: option.value, - display: option.innerHTML + label: option.innerHTML }; }, - _do_search: function (val) { - var results = [], - self = this, - count = 0; - val = val.toLowerCase(); - this.forEach(this.el, function (item) { - var candidate = item.innerHTML.toLowerCase(); - if (candidate === val || (candidate.indexOf(val) !== -1 && !item.selected && count < self.options.maxResults)) { - results.push(self.optionToResult(item)); - count++; - } - }); - return results; - }, - - select: function (option) { - this.forEach(this.el, function (item) { - if (item.value == option.value) { - item.selected = true; - } - }); - }, - - unselect: function (option) { - this.forEach(this.el, function (item) { - if (item.value == option.value) { - item.selected = false; - } - }); + _do_search: function (val, callback, context) { + val = val.toLowerCase(); + this.xhr.get('/agnocomplete/AutocompleteUser/?q=' + encodeURIComponent(val), {callback: callback, context: context || this}); } }); -L.S.AutoComplete.MultiSelect = L.S.AutoComplete.BaseSelect.extend({ +L.U.AutoComplete.Ajax.SelectMultiple = L.U.AutoComplete.Ajax.extend({ initSelectedContainer: function () { - this.selected_container = L.DomUtil.after(this.input, L.DomUtil.element('ul', {className: 'umap-multiresult'})); - var self = this; - this.forEach(this.el, function (option) { - if (option.selected) { - self.displaySelected(self.optionToResult(option)); - } - }); + return L.DomUtil.after(this.input, L.DomUtil.element('ul', {className: 'umap-multiresult'})); }, displaySelected: function (result) { var result_el = L.DomUtil.element('li', {}, this.selected_container); - result_el.innerHTML = result.display; + result_el.textContent = result.item.label; var close = L.DomUtil.element('span', {className: 'close'}, result_el); - close.innerHTML = '×'; + close.textContent = '×'; L.DomEvent.on(close, 'click', function () { this.selected_container.removeChild(result_el); - this.unselect(result); + this.options.on_unselect(result); }, this); this.hide(); } }); -L.S.AutoComplete.multiSelect = function (el, options) { - return new L.S.AutoComplete.MultiSelect(el, options); -}; - -L.S.AutoComplete.Select = L.S.AutoComplete.BaseSelect.extend({ +L.U.AutoComplete.Ajax.Select = L.U.AutoComplete.Ajax.extend({ initSelectedContainer: function () { - this.selected_container = L.DomUtil.after(this.input, L.DomUtil.element('div', {className: 'umap-singleresult'})); - var self = this; - if (this.el.selectedIndex !== -1 && this.el[this.el.selectedIndex].value !== '') { - self.displaySelected(self.optionToResult(this.el[this.el.selectedIndex])); - } + return L.DomUtil.after(this.input, L.DomUtil.element('div', {className: 'umap-singleresult'})); }, displaySelected: function (result) { var result_el = L.DomUtil.element('div', {}, this.selected_container); - result_el.innerHTML = result.display; + result_el.textContent = result.item.label; var close = L.DomUtil.element('span', {className: 'close'}, result_el); - close.innerHTML = '×'; + close.textContent = '×'; this.input.style.display = 'none'; L.DomEvent.on(close, 'click', function () { this.selected_container.innerHTML = ''; - this.unselect(result); this.input.style.display = 'block'; }, this); this.hide(); } }); - -L.S.AutoComplete.select = function (el, options) { - return new L.S.AutoComplete.Select(el, options); -}; diff --git a/umap/static/umap/js/umap.controls.js b/umap/static/umap/js/umap.controls.js new file mode 100644 index 00000000..7a5285d7 --- /dev/null +++ b/umap/static/umap/js/umap.controls.js @@ -0,0 +1,1193 @@ +L.U.BaseAction = L.ToolbarAction.extend({ + + initialize: function (map) { + this.map = map; + this.options.toolbarIcon = { + className: this.options.className, + tooltip: this.options.tooltip + }; + L.ToolbarAction.prototype.initialize.call(this); + if (this.options.helpMenu && !this.map.helpMenuActions[this.options.className]) this.map.helpMenuActions[this.options.className] = this; + } + +}); + +L.U.ImportAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'upload-data dark', + tooltip: L._('Import data') + ' (Ctrl+I)' + }, + + addHooks: function () { + this.map.importPanel(); + } + +}); + +L.U.EditPropertiesAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'update-map-settings dark', + tooltip: L._('Edit map settings') + }, + + addHooks: function () { + this.map.edit(); + } + +}); + +L.U.ChangeTileLayerAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'dark update-map-tilelayers', + tooltip: L._('Change tilelayers') + }, + + addHooks: function () { + this.map.updateTileLayers(); + } + +}); + +L.U.ManageDatalayersAction = L.U.BaseAction.extend({ + + options: { + className: 'dark manage-datalayers', + tooltip: L._('Manage layers') + }, + + addHooks: function () { + this.map.manageDatalayers(); + } + +}); + +L.U.UpdateExtentAction = L.U.BaseAction.extend({ + + options: { + className: 'update-map-extent dark', + tooltip: L._('Save this center and zoom') + }, + + addHooks: function () { + this.map.updateExtent(); + } + +}); + +L.U.UpdatePermsAction = L.U.BaseAction.extend({ + + options: { + className: 'update-map-permissions dark', + tooltip: L._('Update permissions and editors') + }, + + addHooks: function () { + this.map.permissions.edit(); + } + +}); + +L.U.DrawMarkerAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'umap-draw-marker dark', + tooltip: L._('Draw a marker') + }, + + addHooks: function () { + this.map.startMarker(); + } + +}); + +L.U.DrawPolylineAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'umap-draw-polyline dark', + tooltip: L._('Draw a polyline') + }, + + addHooks: function () { + this.map.startPolyline(); + } + +}); + +L.U.DrawPolygonAction = L.U.BaseAction.extend({ + + options: { + helpMenu: true, + className: 'umap-draw-polygon dark', + tooltip: L._('Draw a polygon') + }, + + addHooks: function () { + this.map.startPolygon(); + } + +}); + +L.U.AddPolylineShapeAction = L.U.BaseAction.extend({ + + options: { + className: 'umap-draw-polyline-multi dark', + tooltip: L._('Add a line to the current multi') + }, + + addHooks: function () { + this.map.editedFeature.editor.newShape(); + } + +}); + +L.U.AddPolygonShapeAction = L.U.AddPolylineShapeAction.extend({ + + options: { + className: 'umap-draw-polygon-multi dark', + tooltip: L._('Add a polygon to the current multi') + } + +}); + +L.U.BaseFeatureAction = L.ToolbarAction.extend({ + + initialize: function (map, feature, latlng) { + this.map = map; + this.feature = feature; + this.latlng = latlng; + L.ToolbarAction.prototype.initialize.call(this); + this.postInit(); + }, + + postInit: function () {}, + + hideToolbar: function () { + this.map.removeLayer(this.toolbar); + }, + + addHooks: function () { + this.onClick({latlng: this.latlng}); + this.hideToolbar(); + } + +}); + +L.U.CreateHoleAction = L.U.BaseFeatureAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-new-hole', + tooltip: L._('Start a hole here') + } + }, + + onClick: function (e) { + this.feature.startHole(e); + } + +}); + +L.U.ToggleEditAction = L.U.BaseFeatureAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-toggle-edit', + tooltip: L._('Toggle edit mode (Shift+Click)') + } + }, + + onClick: function (e) { + if (this.feature._toggleEditing) this.feature._toggleEditing(e); // Path + else this.feature.edit(e); // Marker + } + +}); + +L.U.DeleteFeatureAction = L.U.BaseFeatureAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-delete-all', + tooltip: L._('Delete this feature') + } + }, + + postInit: function () { + if (!this.feature.isMulti()) this.options.toolbarIcon.className = 'umap-delete-one-of-one'; + }, + + onClick: function (e) { + this.feature.confirmDelete(e); + } + +}); + +L.U.DeleteShapeAction = L.U.BaseFeatureAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-delete-one-of-multi', + tooltip: L._('Delete this shape') + } + }, + + onClick: function (e) { + this.feature.enableEdit().deleteShapeAt(e.latlng); + } + +}); + +L.U.ExtractShapeFromMultiAction = L.U.BaseFeatureAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-extract-shape-from-multi', + tooltip: L._('Extract shape to separate feature') + } + }, + + onClick: function (e) { + this.feature.isolateShape(e.latlng); + } + +}); + +L.U.BaseVertexAction = L.U.BaseFeatureAction.extend({ + + initialize: function (map, feature, latlng, vertex) { + this.vertex = vertex; + L.U.BaseFeatureAction.prototype.initialize.call(this, map, feature, latlng); + } + +}); + +L.U.DeleteVertexAction = L.U.BaseVertexAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-delete-vertex', + tooltip: L._('Delete this vertex (Alt+Click)') + } + }, + + onClick: function () { + this.vertex.delete(); + } + +}); + +L.U.SplitLineAction = L.U.BaseVertexAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-split-line', + tooltip: L._('Split line') + } + }, + + onClick: function () { + this.vertex.split(); + } + +}); + +L.U.ContinueLineAction = L.U.BaseVertexAction.extend({ + + options: { + toolbarIcon: { + className: 'umap-continue-line', + tooltip: L._('Continue line') + } + }, + + onClick: function () { + this.vertex.continue(); + } + +}); + +// Leaflet.Toolbar doesn't allow twice same toolbar class… +L.U.SettingsToolbar = L.Toolbar.Control.extend({}); +L.U.DrawToolbar = L.Toolbar.Control.extend({ + + initialize: function (options) { + L.Toolbar.Control.prototype.initialize.call(this, options); + this.map = this.options.map; + this.map.on('seteditedfeature', this.redraw, this); + }, + + appendToContainer: function (container) { + this.options.actions = []; + if (this.map.options.enableMarkerDraw) { + this.options.actions.push(L.U.DrawMarkerAction); + } + if (this.map.options.enablePolylineDraw) { + this.options.actions.push(L.U.DrawPolylineAction); + if (this.map.editedFeature && this.map.editedFeature instanceof L.U.Polyline) { + this.options.actions.push(L.U.AddPolylineShapeAction); + } + } + if (this.map.options.enablePolygonDraw) { + this.options.actions.push(L.U.DrawPolygonAction); + if (this.map.editedFeature && this.map.editedFeature instanceof L.U.Polygon) { + this.options.actions.push(L.U.AddPolygonShapeAction); + } + } + L.Toolbar.Control.prototype.appendToContainer.call(this, container); + }, + + redraw: function () { + var container = this._control.getContainer(); + container.innerHTML = ''; + this.appendToContainer(container); + } + +}); + + +L.U.EditControl = L.Control.extend({ + + options: { + position: 'topright' + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', 'leaflet-control-edit-enable umap-control'), + edit = L.DomUtil.create('a', '', container); + edit.href = '#'; + edit.title = L._('Enable editing') + ' (Ctrl+E)'; + + L.DomEvent + .addListener(edit, 'click', L.DomEvent.stop) + .addListener(edit, 'click', map.enableEdit, map); + return container; + } + +}); + +/* Share control */ +L.Control.Embed = L.Control.extend({ + + options: { + position: 'topleft' + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', 'leaflet-control-embed umap-control'); + + var link = L.DomUtil.create('a', '', container); + link.href = '#'; + link.title = L._('Embed and share this map'); + + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', map.renderShareBox, map) + .on(link, 'dblclick', L.DomEvent.stopPropagation); + + return container; + } +}); + +L.U.MoreControls = L.Control.extend({ + + options: { + position: 'topleft' + }, + + onAdd: function () { + var container = L.DomUtil.create('div', ''), + more = L.DomUtil.create('a', 'umap-control-more umap-control-text', container), + less = L.DomUtil.create('a', 'umap-control-less umap-control-text', container); + more.href = '#'; + more.title = L._('More controls'); + + L.DomEvent + .on(more, 'click', L.DomEvent.stop) + .on(more, 'click', this.toggle, this); + + less.href = '#'; + less.title = L._('Hide controls'); + + L.DomEvent + .on(less, 'click', L.DomEvent.stop) + .on(less, 'click', this.toggle, this); + + return container; + }, + + toggle: function () { + var pos = this.getPosition(), + corner = this._map._controlCorners[pos], + className = 'umap-more-controls'; + if (L.DomUtil.hasClass(corner, className)) L.DomUtil.removeClass(corner, className); + else L.DomUtil.addClass(corner, className); + } + +}); + + +L.U.DataLayersControl = L.Control.extend({ + + options: { + position: 'topleft' + }, + + labels: { + zoomToLayer: L._('Zoom to layer extent'), + toggleLayer: L._('Show/hide layer'), + editLayer: L._('Edit') + }, + + initialize: function (map, options) { + this.map = map; + L.Control.prototype.initialize.call(this, options); + }, + + _initLayout: function (map) { + var container = this._container = L.DomUtil.create('div', 'leaflet-control-browse umap-control'), + actions = L.DomUtil.create('div', 'umap-browse-actions', container); + this._datalayers_container = L.DomUtil.create('ul', 'umap-browse-datalayers', actions); + + var link = L.DomUtil.create('a', 'umap-browse-link', actions); + link.href = '#'; + link.title = link.textContent = L._('Browse data'); + + var toggle = L.DomUtil.create('a', 'umap-browse-toggle', container); + toggle.href = '#'; + toggle.title = L._('See data layers') + + L.DomEvent + .on(toggle, 'click', L.DomEvent.stop); + + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', map.openBrowser, map); + + map.whenReady(function () { + this.update(); + }, this); + + if (L.Browser.pointer) { + L.DomEvent.disableClickPropagation(container); + L.DomEvent.on(container, 'mousewheel', L.DomEvent.stopPropagation); + L.DomEvent.on(container, 'MozMousePixelScroll', L.DomEvent.stopPropagation); + } + if (!L.Browser.touch) { + L.DomEvent.on(container, { + mouseenter: this.expand, + mouseleave: this.collapse + }, this); + } else { + L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation); + L.DomEvent.on(toggle, 'click', L.DomEvent.stop) + .on(toggle, 'click', this.expand, this); + map.on('click', this.collapse, this); + } + + return container; + }, + + onAdd: function (map) { + if (!this._container) this._initLayout(map); + if (map.options.datalayersControl === 'expanded') this.expand(); + return this._container; + }, + + onRemove: function (map) { + this.collapse(); + }, + + update: function () { + if (this._datalayers_container && this._map) { + this._datalayers_container.innerHTML = ''; + this._map.eachDataLayerReverse(function (datalayer) { + this.addDataLayer(this._datalayers_container, datalayer); + }, this) + } + }, + + expand: function () { + L.DomUtil.addClass(this._container, 'expanded'); + }, + + collapse: function () { + if (this._map.options.datalayersControl === 'expanded') return; + L.DomUtil.removeClass(this._container, 'expanded'); + }, + + addDataLayer: function (container, datalayer, draggable) { + var datalayerLi = L.DomUtil.create('li', '', container); + if (draggable) L.DomUtil.element('i', {className: 'drag-handle', title: L._('Drag to reorder')}, datalayerLi); + datalayer.renderToolbox(datalayerLi); + var title = L.DomUtil.add('span', 'layer-title', datalayerLi, datalayer.options.name); + + datalayerLi.id = 'browse_data_toggle_' + L.stamp(datalayer); + L.DomUtil.classIf(datalayerLi, 'off', !datalayer.isVisible()); + + title.textContent = datalayer.options.name; + }, + + newDataLayer: function () { + var datalayer = this.map.createDataLayer({}); + datalayer.edit(); + }, + + openPanel: function () { + if (!this.map.editEnabled) return; + var container = L.DomUtil.create('ul', 'umap-browse-datalayers'); + this.map.eachDataLayerReverse(function (datalayer) { + this.addDataLayer(container, datalayer, true); + }, this); + var orderable = new L.U.Orderable(container); + orderable.on('drop', function (e) { + var layer = this.map.datalayers[e.src.dataset.id], + other = this.map.datalayers[e.dst.dataset.id], + minIndex = Math.min(e.initialIndex, e.finalIndex); + if (e.finalIndex === 0) layer.bringToTop(); + else if (e.finalIndex > e.initialIndex) layer.insertBefore(other); + else layer.insertAfter(other); + this.map.eachDataLayerReverse(function (datalayer) { + if (datalayer.getRank() >= minIndex) datalayer.isDirty = true; + }); + this.map.indexDatalayers(); + }, this); + + var bar = L.DomUtil.create('div', 'button-bar', container), + add = L.DomUtil.create('a', 'show-on-edit block add-datalayer button', bar); + add.href = '#'; + add.textContent = add.title = L._('Add a layer'); + + L.DomEvent + .on(add, 'click', L.DomEvent.stop) + .on(add, 'click', this.newDataLayer, this); + + this.map.ui.openPanel({data: {html: container}, className: 'dark'}); + } + +}); + +L.U.DataLayer.include({ + + renderToolbox: function (container) { + var toggle = L.DomUtil.create('i', 'layer-toggle', container), + zoomTo = L.DomUtil.create('i', 'layer-zoom_to', container), + edit = L.DomUtil.create('i', 'layer-edit show-on-edit', container), + table = L.DomUtil.create('i', 'layer-table-edit show-on-edit', container), + remove = L.DomUtil.create('i', 'layer-delete show-on-edit', container); + zoomTo.title = L._('Zoom to layer extent'); + toggle.title = L._('Show/hide layer'); + edit.title = L._('Edit'); + table.title = L._('Edit properties in a table'); + remove.title = L._('Delete layer'); + L.DomEvent.on(toggle, 'click', this.toggle, this); + L.DomEvent.on(zoomTo, 'click', this.zoomTo, this); + L.DomEvent.on(edit, 'click', this.edit, this); + L.DomEvent.on(table, 'click', this.tableEdit, this); + L.DomEvent.on(remove, 'click', function () { + if (!this.isVisible()) return; + if (!confirm(L._('Are you sure you want to delete this layer?'))) return; + this._delete(); + this.map.ui.closePanel(); + }, this); + L.DomUtil.addClass(container, this.getHidableClass()); + L.DomUtil.classIf(container, 'off', !this.isVisible()); + container.dataset.id = L.stamp(this); + }, + + getHidableElements: function () { + return document.querySelectorAll('.' + this.getHidableClass()); + }, + + getHidableClass: function () { + return 'show_with_datalayer_' + L.stamp(this); + }, + + propagateRemote: function () { + var els = this.getHidableElements(); + for (var i = 0; i < els.length; i++) { + L.DomUtil.classIf(els[i], 'remotelayer', this.isRemoteLayer()); + } + }, + + propagateHide: function () { + var els = this.getHidableElements(); + for (var i = 0; i < els.length; i++) { + L.DomUtil.addClass(els[i], 'off'); + } + }, + + propagateShow: function () { + this.onceLoaded(function () { + var els = this.getHidableElements(); + for (var i = 0; i < els.length; i++) { + L.DomUtil.removeClass(els[i], 'off'); + } + }, this); + } + +}); + +L.U.DataLayer.addInitHook(function () { + this.on('hide', this.propagateHide); + this.on('show', this.propagateShow); + this.propagateShow(); +}); + + +L.U.Map.include({ + + _openBrowser: function () { + var browserContainer = L.DomUtil.create('div', 'umap-browse-data'), + title = L.DomUtil.add('h3', 'umap-browse-title', browserContainer, this.options.name), + filter = L.DomUtil.create('input', '', browserContainer), + filterValue = '', + featuresContainer = L.DomUtil.create('div', 'umap-browse-features', browserContainer), + filterKeys = this.getFilterKeys(); + filter.type = 'text'; + filter.placeholder = L._('Filter…'); + filter.value = this.options.filter || ''; + + var addFeature = function (feature) { + var feature_li = L.DomUtil.create('li', feature.getClassName() + ' feature'), + zoom_to = L.DomUtil.create('i', 'feature-zoom_to', feature_li), + edit = L.DomUtil.create('i', 'show-on-edit feature-edit', feature_li), + color = L.DomUtil.create('i', 'feature-color', feature_li), + title = L.DomUtil.create('span', 'feature-title', feature_li), + symbol = feature._getIconUrl ? L.U.Icon.prototype.formatUrl(feature._getIconUrl(), feature): null; + zoom_to.title = L._('Bring feature to center'); + edit.title = L._('Edit this feature'); + title.textContent = feature.getDisplayName() || '—'; + color.style.backgroundColor = feature.getOption('color'); + if (symbol) { + color.style.backgroundImage = 'url(' + symbol + ')'; + } + L.DomEvent.on(zoom_to, 'click', function (e) { + e.callback = L.bind(this.view, this); + this.bringToCenter(e); + }, feature); + L.DomEvent.on(title, 'click', function (e) { + e.callback = L.bind(this.view, this) + this.bringToCenter(e); + }, feature); + L.DomEvent.on(edit, 'click', function () { + this.edit(); + }, feature); + return feature_li; + }; + + var append = function (datalayer) { + var container = L.DomUtil.create('div', datalayer.getHidableClass(), featuresContainer), + headline = L.DomUtil.create('h5', '', container); + container.id = 'browse_data_datalayer_' + datalayer.umap_id; + datalayer.renderToolbox(headline); + L.DomUtil.add('span', '', headline, datalayer.options.name); + var ul = L.DomUtil.create('ul', '', container); + L.DomUtil.classIf(container, 'off', !datalayer.isVisible()); + + var build = function () { + ul.innerHTML = ''; + datalayer.eachFeature(function (feature) { + if (filterValue && !feature.matchFilter(filterValue, filterKeys)) return; + ul.appendChild(addFeature(feature)); + }); + }; + build(); + datalayer.on('datachanged', build); + datalayer.map.ui.once('panel:closed', function () { + datalayer.off('datachanged', build); + }); + datalayer.map.ui.once('panel:ready', function () { + datalayer.map.ui.once('panel:ready', function () { + datalayer.off('datachanged', build); + }); + }); + }; + + var appendAll = function () { + this.options.filter = filterValue = filter.value; + featuresContainer.innerHTML = ''; + this.eachBrowsableDataLayer(function (datalayer) { + append(datalayer); + }); + }; + var resetLayers = function () { + this.eachBrowsableDataLayer(function (datalayer) { + datalayer.resetLayer(true); + }); + } + L.bind(appendAll, this)(); + L.DomEvent.on(filter, 'input', appendAll, this); + L.DomEvent.on(filter, 'input', resetLayers, this); + var link = L.DomUtil.create('li', ''); + L.DomUtil.create('i', 'umap-icon-16 umap-caption', link); + var label = L.DomUtil.create('span', '', link); + label.textContent = label.title = L._('About'); + L.DomEvent.on(link, 'click', this.displayCaption, this); + this.ui.openPanel({data: {html: browserContainer}, actions: [link]}); + } + +}); + + + +L.U.TileLayerControl = L.Control.extend({ + + options: { + position: 'topleft' + }, + + initialize: function (map, options) { + this.map = map; + L.Control.prototype.initialize.call(this, options); + }, + + onAdd: function () { + var container = L.DomUtil.create('div', 'leaflet-control-tilelayers umap-control'); + + var link = L.DomUtil.create('a', '', container); + link.href = '#'; + link.title = L._('Change map background'); + + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', this.openSwitcher, this) + .on(link, 'dblclick', L.DomEvent.stopPropagation); + + return container; + }, + + openSwitcher: function (options) { + this._tilelayers_container = L.DomUtil.create('ul', 'umap-tilelayer-switcher-container'); + this.buildList(options); + }, + + buildList: function (options) { + this.map.eachTileLayer(function (tilelayer) { + if (window.location.protocol === 'https:' && tilelayer.options.url_template.indexOf('http:') === 0) return; + this.addTileLayerElement(tilelayer, options); + }, this); + this.map.ui.openPanel({data: {html: this._tilelayers_container}, className: options.className}); + }, + + addTileLayerElement: function (tilelayer, options) { + var selectedClass = this.map.hasLayer(tilelayer) ? 'selected' : '', + el = L.DomUtil.create('li', selectedClass, this._tilelayers_container), + img = L.DomUtil.create('img', '', el), + name = L.DomUtil.create('div', '', el); + img.src = L.Util.template(tilelayer.options.url_template, this.map.demoTileInfos); + name.textContent = tilelayer.options.name; + L.DomEvent.on(el, 'click', function () { + this.map.selectTileLayer(tilelayer); + this.map.ui.closePanel(); + if (options && options.callback) options.callback(tilelayer); + }, this); + } + + +}); + +L.U.AttributionControl = L.Control.Attribution.extend({ + + options: { + prefix: '' + }, + + _update: function () { + L.Control.Attribution.prototype._update.call(this); + if (this._map.options.shortCredit) { + L.DomUtil.add('span', '', this._container, ' — ' + L.Util.toHTML(this._map.options.shortCredit)); + } + var link = L.DomUtil.add('a', '', this._container, ' — ' + L._('About')); + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', this._map.displayCaption, this._map) + .on(link, 'dblclick', L.DomEvent.stop); + if (window.top === window.self) { + // We are not in iframe mode + var home = L.DomUtil.add('a', '', this._container, ' — ' + L._('Home')); + home.href = '/'; + } + } + +}); + + +L.U.LocateControl = L.Control.extend({ + + options: { + position: 'topleft' + }, + + onFound: function (e) { + this._map._geolocated_circle.setRadius(e.accuracy); + this._map._geolocated_circle.setLatLng(e.latlng); + this._map._geolocated_marker.setLatLng(e.latlng); + this._map.addLayer(this._map._geolocated_circle); + this._map.addLayer(this._map._geolocated_marker); + }, + + onError: function (e) { + this.ui.alert({content: L._('Unable to locate you.'), 'level': 'error'}); + }, + + activate: function () { + this._map.locate({ + setView: true, + enableHighAccuracy: true, + watch: true + }); + this._active = true; + }, + + deactivate: function () { + this._map._geolocated_marker.removeFrom(this._map) + this._map._geolocated_circle.removeFrom(this._map) + this._map.stopLocate(); + this._active = false; + }, + + toggle: function () { + if (!this._active) this.activate(); + else this.deactivate(); + L.DomUtil.classIf(this._container, "active", this._active); + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', 'leaflet-control-locate umap-control'), + link = L.DomUtil.create('a', '', container); + link.href = '#'; + link.title = L._('Center map on your location'); + + map._geolocated_circle = L.circle(map.getCenter(), { + radius: 10, + weight: 0 + }); + + map._geolocated_marker = L.marker(map.getCenter(), { + icon: L.divIcon({className: 'geolocated', iconAnchor: [8, 9]}), + }); + + map.on("locationerror", this.onError, this); + + map.on("locationfound", this.onFound, this); + + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', this.toggle, this) + .on(link, 'dblclick', L.DomEvent.stopPropagation); + + return container; + } +}); + + +L.U.Search = L.PhotonSearch.extend({ + + onBlur: function (e) { + // Overrided because we don't want to hide the results on blur. + this.fire('blur'); + }, + + formatResult: function (feature, el) { + var self = this; + var tools = L.DomUtil.create('span', 'search-result-tools', el), + zoom = L.DomUtil.create('i', 'feature-zoom_to', tools), + edit = L.DomUtil.create('i', 'feature-edit show-on-edit', tools); + zoom.title = L._('Zoom to this place'); + edit.title = L._('Save this location as new feature'); + // We need to use "mousedown" because Leaflet.Photon listen to mousedown + // on el. + L.DomEvent.on(zoom, 'mousedown', function (e) { + L.DomEvent.stop(e); + self.zoomToFeature(feature); + }); + L.DomEvent.on(edit, 'mousedown', function (e) { + L.DomEvent.stop(e); + var datalayer = self.map.defaultDataLayer(); + var layer = datalayer.geojsonToFeatures(feature); + layer.isDirty = true; + layer.edit(); + }); + this._formatResult(feature, el); + }, + + zoomToFeature: function (feature) { + var zoom = Math.max(this.map.getZoom(), 16); // Never unzoom. + this.map.setView([feature.geometry.coordinates[1], feature.geometry.coordinates[0]], zoom); + }, + + onSelected: function (feature) { + this.zoomToFeature(feature); + this.map.ui.closePanel(); + } + +}); + +L.U.SearchControl = L.Control.extend({ + + options: { + position: 'topleft', + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', 'leaflet-control-search umap-control'), + self = this; + + L.DomEvent.disableClickPropagation(container); + var link = L.DomUtil.create('a', '', container); + link.href = '#'; + link.title = L._('Search a place name') + L.DomEvent.on(link, 'click', function (e) { + L.DomEvent.stop(e); + self.openPanel(map); + }); + return container; + }, + + openPanel: function (map) { + var options = { + limit: 10, + noResultLabel: L._('No results'), + } + if (map.options.photonUrl) options.url = map.options.photonUrl; + var container = L.DomUtil.create('div', ''); + + var title = L.DomUtil.create('h3', '', container); + title.textContent = L._('Search location'); + var input = L.DomUtil.create('input', 'photon-input', container); + var resultsContainer = L.DomUtil.create('div', 'photon-autocomplete', container); + this.search = new L.U.Search(map, input, options); + var id = Math.random(); + this.search.on('ajax:send', function () { + map.fire('dataloading', {id: id}); + }); + this.search.on('ajax:return', function () { + map.fire('dataload', {id: id}); + }); + this.search.resultsContainer = resultsContainer; + map.ui.once('panel:ready', function () { + input.focus(); + }); + map.ui.openPanel({data: {html: container}}); + } + +}); + + +L.Control.MiniMap.include({ + + initialize: function (layer, options) { + L.Util.setOptions(this, options); + this._layer = this._cloneLayer(layer); + }, + + onMainMapBaseLayerChange: function (e) { + var layer = this._cloneLayer(e.layer); + if (this._miniMap.hasLayer(this._layer)) { + this._miniMap.removeLayer(this._layer); + } + this._layer = layer; + this._miniMap.addLayer(this._layer); + }, + + _cloneLayer: function (layer) { + return new L.TileLayer(layer._url, L.Util.extend({}, layer.options)); + } + +}); + + +L.Control.Loading.include({ + + onAdd: function (map) { + this._container = L.DomUtil.create('div', 'umap-loader', map._controlContainer); + map.on('baselayerchange', this._layerAdd, this); + this._addMapListeners(map); + this._map = map; + }, + + _showIndicator: function () { + L.DomUtil.addClass(this._map._container, 'umap-loading'); + }, + + _hideIndicator: function() { + L.DomUtil.removeClass(this._map._container, 'umap-loading'); + } + +}); + + +/* +* Make it dynamic +*/ +L.U.ContextMenu = L.Map.ContextMenu.extend({ + + _createItems: function (e) { + this._map.setContextMenuItems(e); + L.Map.ContextMenu.prototype._createItems.call(this); + }, + + _showAtPoint: function (pt, e) { + this._items = []; + this._container.innerHTML = ''; + this._createItems(e); + L.Map.ContextMenu.prototype._showAtPoint.call(this, pt, e); + } + +}); + +L.U.IframeExporter = L.Evented.extend({ + + options: { + includeFullScreenLink: true, + currentView: false, + keepCurrentDatalayers: false, + viewCurrentFeature: false + }, + + queryString: { + scaleControl: false, + miniMap: false, + scrollWheelZoom: false, + zoomControl: true, + allowEdit: false, + moreControl: true, + searchControl: null, + tilelayersControl: null, + embedControl: null, + datalayersControl: true, + onLoadPanel: 'none', + captionBar: false + }, + + dimensions: { + width: '100%', + height: '300px' + }, + + initialize: function (map) { + this.map = map; + this.baseUrl = L.Util.getBaseUrl(); + // Use map default, not generic default + this.queryString.onLoadPanel = this.map.options.onLoadPanel; + }, + + getMap: function () { + return this.map; + }, + + build: function () { + var datalayers = []; + if (this.options.viewCurrentFeature && this.map.currentFeature) { + this.queryString.feature = this.map.currentFeature.getSlug(); + } + if (this.options.keepCurrentDatalayers) { + this.map.eachDataLayer(function (datalayer) { + if (datalayer.isVisible() && datalayer.umap_id) { + datalayers.push(datalayer.umap_id); + } + }); + this.queryString.datalayers = datalayers.join(','); + } else { + delete this.queryString.datalayers; + } + var currentView = this.options.currentView ? window.location.hash : '', + iframeUrl = this.baseUrl + '?' + L.Util.buildQueryString(this.queryString) + currentView, + code = ''; + if (this.options.includeFullScreenLink) { + code += '

' + L._('See full screen') + '

'; + } + return code; + } + +}); + +L.U.Editable = L.Editable.extend({ + + initialize: function (map, options) { + L.Editable.prototype.initialize.call(this, map, options); + this.on('editable:drawing:start editable:drawing:click', this.drawingTooltip); + this.on('editable:drawing:end', this.closeTooltip); + // Layer for items added by users + this.on('editable:drawing:cancel', function (e) { + if (e.layer._latlngs && e.layer._latlngs.length < e.layer.editor.MIN_VERTEX) e.layer.del(); + if (e.layer instanceof L.U.Marker) e.layer.del(); + }); + this.on('editable:drawing:commit', function (e) { + e.layer.isDirty = true; + if (this.map.editedFeature !== e.layer) e.layer.edit(e); + }); + this.on('editable:editing', function (e) { + var layer = e.layer; + layer.isDirty = true; + if (layer._tooltip && layer.isTooltipOpen()) { + layer._tooltip.setLatLng(layer.getCenter()); + layer._tooltip.update(); + } + }); + this.on('editable:vertex:ctrlclick', function (e) { + var index = e.vertex.getIndex(); + if (index === 0 || index === e.vertex.getLastIndex() && e.vertex.continue) e.vertex.continue(); + }); + this.on('editable:vertex:altclick', function (e) { + if (e.vertex.editor.vertexCanBeDeleted(e.vertex)) e.vertex.delete(); + }); + this.on('editable:vertex:rawclick', this.onVertexRawClick); + }, + + createPolyline: function (latlngs) { + return new L.U.Polyline(this.map, latlngs); + }, + + createPolygon: function (latlngs) { + var polygon = new L.U.Polygon(this.map, latlngs); + return polygon; + }, + + createMarker: function (latlng) { + return new L.U.Marker(this.map, latlng); + }, + + connectCreatedToMap: function (layer) { + // Overrided from Leaflet.Editable + var datalayer = this.map.defaultDataLayer(); + datalayer.addLayer(layer); + layer.isDirty = true; + return layer; + }, + + drawingTooltip: function (e) { + var content; + if (e.layer instanceof L.Marker) content = L._('Click to add a marker'); + else if (e.layer instanceof L.Polyline) { + if (!e.layer.editor._drawnLatLngs.length) { + if (e.layer instanceof L.Polygon) content = L._('Click to start drawing a polygon'); + else if (e.layer instanceof L.Polyline) content = L._('Click to start drawing a line'); + } else if (e.layer.editor._drawnLatLngs.length < e.layer.editor.MIN_VERTEX) { + content = L._('Click to continue drawing'); + } else { + content = L._('Click last point to finish shape'); + } + } + if (content) this.map.ui.tooltip({content: content}); + }, + + closeTooltip: function () { + this.map.ui.closeTooltip(); + }, + + onVertexRawClick: function (e) { + e.layer.onVertexRawClick(e); + L.DomEvent.stop(e); + e.cancel(); + } + +}); diff --git a/umap/static/umap/js/umap.core.js b/umap/static/umap/js/umap.core.js new file mode 100644 index 00000000..1f3f8cbf --- /dev/null +++ b/umap/static/umap/js/umap.core.js @@ -0,0 +1,540 @@ +/* Poor man pub/sub handler, enough for now */ + +L.UmapSingleton = L.Evented.extend({}); +L.U = new L.UmapSingleton(); +L.U.Map = L.Map.extend({}); + +/* +* Utils +*/ +L.Util.queryString = function (name, fallback) { + var decode = function (s) { return decodeURIComponent(s.replace(/\+/g, ' ')); }; + var qs = window.location.search.slice(1).split('&'), qa = {}; + for (var i in qs) { + var key = qs[i].split('='); + if (!key) continue; + qa[decode(key[0])] = key[1] ? decode(key[1]) : 1; + } + return qa[name] || fallback; +}; + +L.Util.booleanFromQueryString = function (name) { + var value = L.Util.queryString(name); + return value === '1' || value === 'true'; +}; + +L.Util.setFromQueryString = function (options, name) { + var value = L.Util.queryString(name); + if (typeof value !== 'undefined') options[name] = value; +}; + +L.Util.setBooleanFromQueryString = function (options, name) { + var value = L.Util.queryString(name); + if (typeof value !== 'undefined') options[name] = value == '1' || value == 'true'; +}; +L.Util.setNullableBooleanFromQueryString = function (options, name) { + var value = L.Util.queryString(name); + if (typeof value !== 'undefined') { + if (value === 'null') value = null; + else if (value === '0' || value === 'false') value = false; + else value = true; + options[name] = value; + } +}; +L.Util.escapeHTML = function (s) { + s = s? s.toString() : ''; + return s.replace(/$1'); + r = r.replace(/^## (.*)/gm, '

$1

'); + r = r.replace(/^# (.*)/gm, '

$1

'); + r = r.replace(/^---/gm, '
'); + + // bold, italics + r = r.replace(/\*\*(.*?)\*\*/g, '$1'); + r = r.replace(/\*(.*?)\*/g, '$1'); + + // unordered lists + r = r.replace(/^\*\* (.*)/gm, '
    • $1
'); + r = r.replace(/^\* (.*)/gm, '
  • $1
'); + for (ii = 0; ii < 3; ii++) r = r.replace(new RegExp('' + newline + '
    ', 'g'), newline); + + // links + r = r.replace(/(\[\[http)/g, '[[h_t_t_p'); // Escape for avoiding clash between [[http://xxx]] and http://xxx + r = r.replace(/({{http)/g, '{{h_t_t_p'); + r = r.replace(/(=http)/g, '=h_t_t_p'); // http://xxx as query string, see https://github.com/umap-project/umap/issues/607 + r = r.replace(/(https?:[^ \<)\n]*)/g, '$1'); + r = r.replace(/\[\[(h_t_t_ps?:[^\]|]*?)\]\]/g, '$1'); + r = r.replace(/\[\[(h_t_t_ps?:[^|]*?)\|(.*?)\]\]/g, '$2'); + r = r.replace(/\[\[([^\]|]*?)\]\]/g, '$1'); + r = r.replace(/\[\[([^|]*?)\|(.*?)\]\]/g, '$2'); + + // iframe + r = r.replace(/{{{(h_t_t_ps?[^ |{]*)}}}/g, '
    '); + r = r.replace(/{{{(h_t_t_ps?[^ |{]*)\|(\d*)(px)?}}}/g, '
    '); + r = r.replace(/{{{(h_t_t_ps?[^ |{]*)\|(\d*)(px)?\*(\d*)(px)?}}}/g, '
    '); + + // images + r = r.replace(/{{([^\]|]*?)}}/g, ''); + r = r.replace(/{{([^|]*?)\|(\d*?)}}/g, ''); + + //Unescape http + r = r.replace(/(h_t_t_p)/g, 'http'); + + // Preserver line breaks + if (newline) r = r.replace(new RegExp(newline + '(?=[^]+)', 'g'), '
    ' + newline); + + return r; +}; +L.Util.isObject = function (what) { + return typeof what === 'object' && what !== null; +}; +L.Util.CopyJSON = function (geojson) { + return JSON.parse(JSON.stringify(geojson)); +}; +L.Util.detectFileType = function (f) { + var filename = f.name ? escape(f.name.toLowerCase()) : ''; + function ext(_) { + return filename.indexOf(_) !== -1; + } + if (f.type === 'application/vnd.google-earth.kml+xml' || ext('.kml')) { + return 'kml'; + } + if (ext('.gpx')) return 'gpx'; + if (ext('.geojson') || ext('.json')) return 'geojson'; + if (f.type === 'text/csv' || ext('.csv') || ext('.tsv') || ext('.dsv')) { + return 'csv'; + } + if (ext('.xml') || ext('.osm')) return 'osm'; + if (ext('.umap')) return 'umap'; +}; + +L.Util.usableOption = function (options, option) { + return options[option] !== undefined && options[option] !== ''; +}; + +L.Util.greedyTemplate = function (str, data, ignore) { + // Don't throw error if some key is missing + return str.replace(/\{ *([\w_\:\.]+) *\}/g, function (str, key) { + var path = key.split('.'), + leaf = path.length - 1, value = data; + for (var i = 0; i < path.length; i++) { + value = value[path[i]] + if (value === undefined) { + if (ignore) value = str; + else value = ''; + break; + } + } + return value; + }); +}; + +L.Util.sortFeatures = function (features, sortKey) { + var sortKeys = (sortKey || 'name').split(','); + + var sort = function (a, b, i) { + var sortKey = sortKeys[i], score, + valA = a.properties[sortKey] || '', + valB = b.properties[sortKey] || ''; + if (!valA) { + score = -1; + } else if (!valB) { + score = 1; + } else { + score = valA.toString().toLowerCase().localeCompare(valB.toString().toLowerCase()); + } + if (score === 0 && sortKeys[i + 1]) return sort(a, b, i + 1); + return score; + }; + + features.sort(function (a, b) { + if (!a.properties || !b.properties) { + return 0; + } + return sort(a, b, 0); + }); + + + return features; +}; + +L.Util.flattenCoordinates = function (coords) { + while (coords[0] && typeof coords[0][0] !== 'number') coords = coords[0]; + return coords; +}; + + +L.Util.buildQueryString = function (params) { + var query_string = []; + for (var key in params) { + query_string.push(encodeURIComponent(key) + '=' + encodeURIComponent(params[key])); + } + return query_string.join('&'); +}; + +L.Util.getBaseUrl = function () { + return '//' + window.location.host + window.location.pathname; +}; + +L.DomUtil.add = function (tagName, className, container, content) { + var el = L.DomUtil.create(tagName, className, container); + if (content) { + if (content.nodeType && content.nodeType === 1) { + el.appendChild(content); + } + else { + el.innerHTML = content; + } + } + return el; +}; + +L.DomUtil.createFieldset = function (container, legend, options) { + options = options || {}; + var fieldset = L.DomUtil.create('div', 'fieldset toggle', container); + var legendEl = L.DomUtil.add('h5', 'legend style_options_toggle', fieldset, legend); + var fieldsEl = L.DomUtil.add('div', 'fields with-transition', fieldset); + L.DomEvent.on(legendEl, 'click', function () { + if (L.DomUtil.hasClass(fieldset, 'on')) { + L.DomUtil.removeClass(fieldset, 'on'); + } else { + L.DomUtil.addClass(fieldset, 'on'); + if (options.callback) options.callback.call(options.context || this); + } + }); + return fieldsEl; +}; + +L.DomUtil.classIf = function (el, className, bool) { + if (bool) L.DomUtil.addClass(el, className); + else L.DomUtil.removeClass(el, className); +}; + + +L.DomUtil.element = function (what, attrs, parent) { + var el = document.createElement(what); + for (var attr in attrs) { + el[attr] = attrs[attr]; + } + if (typeof parent !== 'undefined') { + parent.appendChild(el); + } + return el; +}; + + +L.DomUtil.before = function (target, el) { + target.parentNode.insertBefore(el, target); + return el; +}; + +L.DomUtil.after = function (target, el) +{ + target.parentNode.insertBefore(el, target.nextSibling); + return el; +}; + +L.DomUtil.RGBRegex = /rgb *\( *([0-9]{1,3}) *, *([0-9]{1,3}) *, *([0-9]{1,3}) *\)/; + +L.DomUtil.TextColorFromBackgroundColor = function (el) { + var out = '#000000'; + if (!window.getComputedStyle) {return out;} + var rgb = window.getComputedStyle(el).getPropertyValue('background-color'); + rgb = L.DomUtil.RGBRegex.exec(rgb); + if (!rgb || rgb.length !== 4) {return out;} + rgb = parseInt(rgb[1], 10) + parseInt(rgb[2], 10) + parseInt(rgb[3], 10); + if (rgb < (255 * 3 / 2)) { + out = '#ffffff'; + } + return out; +}; +L.DomEvent.once = function (el, types, fn, context) { + // cf https://github.com/Leaflet/Leaflet/pull/3528#issuecomment-134551575 + + if (typeof types === 'object') { + for (var type in types) { + L.DomEvent.once(el, type, types[type], fn); + } + return L.DomEvent; + } + + var handler = L.bind(function () { + L.DomEvent + .off(el, types, fn, context) + .off(el, types, handler, context); + }, L.DomEvent); + + // add a listener that's executed once and removed after that + return L.DomEvent + .on(el, types, fn, context) + .on(el, types, handler, context); +}; + + +/* +* Global events +*/ +L.U.Keys = { + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + TAB: 9, + ENTER: 13, + ESC: 27, + APPLE: 91, + SHIFT: 16, + ALT: 17, + CTRL: 18, + E: 69, + F: 70, + H: 72, + I: 73, + L: 76, + M: 77, + P: 80, + S: 83, + Z: 90 +}; + + +L.U.Help = L.Class.extend({ + + initialize: function (map) { + this.map = map; + this.box = L.DomUtil.create('div', 'umap-help-box with-transition dark', document.body); + var closeLink = L.DomUtil.create('a', 'umap-close-link', this.box); + closeLink.href = '#'; + L.DomUtil.add('i', 'umap-close-icon', closeLink); + var label = L.DomUtil.create('span', '', closeLink); + label.title = label.textContent = L._('Close'); + this.content = L.DomUtil.create('div', 'umap-help-content', this.box); + L.DomEvent.on(closeLink, 'click', this.hide, this); + }, + + onKeyDown: function (e) { + var key = e.keyCode, + ESC = 27; + if (key === ESC) { + this.hide(); + } + }, + + show: function () { + this.content.innerHTML = ''; + for (var i = 0, name; i < arguments.length; i++) { + name = arguments[i]; + L.DomUtil.add('div', 'umap-help-entry', this.content, this.resolve(name)); + } + L.DomUtil.addClass(document.body, 'umap-help-on'); + }, + + hide: function () { + L.DomUtil.removeClass(document.body, 'umap-help-on'); + }, + + visible: function () { + return L.DomUtil.hasClass(document.body, 'umap-help-on') + }, + + resolve: function (name) { + return typeof this[name] === 'function' ? this[name]() : this[name]; + }, + + button: function (container, entries) { + var helpButton = L.DomUtil.create('a', 'umap-help-button', container); + helpButton.href = '#'; + if (entries) { + L.DomEvent + .on(helpButton, 'click', L.DomEvent.stop) + .on(helpButton, 'click', function (e) { + var args = typeof entries === 'string' ? [entries] : entries; + this.show.apply(this, args); + }, this); + } + return helpButton; + }, + + edit: function () { + var container = L.DomUtil.create('div', ''), + self = this, + title = L.DomUtil.create('h3', '', container), + actionsContainer = L.DomUtil.create('ul', 'umap-edit-actions', container); + var addAction = function (action) { + var actionContainer = L.DomUtil.add('li', '', actionsContainer); + L.DomUtil.add('i', action.options.className, actionContainer), + L.DomUtil.add('span', '', actionContainer, action.options.tooltip); + L.DomEvent.on(actionContainer, 'click', action.addHooks, action); + L.DomEvent.on(actionContainer, 'click', self.hide, self); + }; + title.textContent = L._('Where do we go from here?'); + for (var id in this.map.helpMenuActions) { + addAction(this.map.helpMenuActions[id]); + } + return container; + }, + + importFormats: function () { + var container = L.DomUtil.create('div'); + L.DomUtil.add('h3', '', container, 'GeojSON'); + L.DomUtil.add('p', '', container, L._('All properties are imported.')); + L.DomUtil.add('h3', '', container, 'GPX'); + L.DomUtil.add('p', '', container, L._('Properties imported:') + 'name, desc'); + L.DomUtil.add('h3', '', container, 'KML'); + L.DomUtil.add('p', '', container, L._('Properties imported:') + 'name, description'); + L.DomUtil.add('h3', '', container, 'CSV'); + L.DomUtil.add('p', '', container, L._('Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.')); + L.DomUtil.add('h3', '', container, 'uMap'); + L.DomUtil.add('p', '', container, L._('Imports all umap data, including layers and settings.')); + return container; + }, + + textFormatting: function () { + var container = L.DomUtil.create('div'), + title = L.DomUtil.add('h3', '', container, L._('Text formatting')), + elements = L.DomUtil.create('ul', '', container); + L.DomUtil.add('li', '', elements, L._('*simple star for italic*')); + L.DomUtil.add('li', '', elements, L._('**double star for bold**')); + L.DomUtil.add('li', '', elements, L._('# one hash for main heading')); + L.DomUtil.add('li', '', elements, L._('## two hashes for second heading')); + L.DomUtil.add('li', '', elements, L._('### three hashes for third heading')); + L.DomUtil.add('li', '', elements, L._('Simple link: [[http://example.com]]')); + L.DomUtil.add('li', '', elements, L._('Link with text: [[http://example.com|text of the link]]')); + L.DomUtil.add('li', '', elements, L._('Image: {{http://image.url.com}}')); + L.DomUtil.add('li', '', elements, L._('Image with custom width (in px): {{http://image.url.com|width}}')); + L.DomUtil.add('li', '', elements, L._('Iframe: {{{http://iframe.url.com}}}')); + L.DomUtil.add('li', '', elements, L._('Iframe with custom height (in px): {{{http://iframe.url.com|height}}}')); + L.DomUtil.add('li', '', elements, L._('Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}')); + L.DomUtil.add('li', '', elements, L._('--- for an horizontal rule')); + return container; + }, + + dynamicProperties: function () { + var container = L.DomUtil.create('div'); + L.DomUtil.add('h3', '', container, L._('Dynamic properties')); + L.DomUtil.add('p', '', container, L._('Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.')); + return container; + }, + + formatURL: L._('Supported variables that will be dynamically replaced') + ': {bbox}, {lat}, {lng}, {zoom}, {east}, {north}..., {left}, {top}...', + formatIconSymbol: L._('Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with "http://myserver.org/images/{name}.png", the {name} variable will be replaced by the "name" value of each marker.'), + colorValue: L._('Must be a valid CSS value (eg.: DarkBlue or #123456)'), + smoothFactor: L._('How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)'), + dashArray: L._('A comma separated list of numbers that defines the stroke dash pattern. Ex.: "5, 10, 15".'), + zoomTo: L._('Zoom level for automatic zooms'), + labelKey: L._('The name of the property to use as feature label (ex.: "nom")'), + stroke: L._('Whether to display or not polygons paths.'), + fill: L._('Whether to fill polygons with color.'), + fillColor: L._('Optional. Same as color if not set.'), + shortCredit: L._('Will be displayed in the bottom right corner of the map'), + longCredit: L._('Will be visible in the caption of the map'), + sortKey: L._('Property to use for sorting features'), + slugKey: L._('The name of the property to use as feature unique identifier.'), + filterKey: L._('Comma separated list of properties to use when filtering features'), + interactive: L._('If false, the polygon will act as a part of the underlying map.'), + outlink: L._('Define link to open in a new window on polygon click.'), + dynamicRemoteData: L._('Fetch data each time map view changes.'), + proxyRemoteData: L._('To use if remote server doesn\'t allow cross domain (slower)'), + browsable: L._('Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…') +}); + + +L.U.Orderable = L.Evented.extend({ + + options: { + selector: 'li', + color: '#374E75' + }, + + initialize: function (parent, options) { + L.Util.setOptions(this, options); + this.parent = parent; + this.src = null; + this.dst = null; + this.els = this.parent.querySelectorAll(this.options.selector); + for (var i = 0; i < this.els.length; i++) this.makeDraggable(this.els[i]); + }, + + makeDraggable: function (node) { + node.draggable = true; + L.DomEvent.on(node, 'dragstart', this.onDragStart, this); + L.DomEvent.on(node, 'dragenter', this.onDragEnter, this); + L.DomEvent.on(node, 'dragover', this.onDragOver, this); + L.DomEvent.on(node, 'dragleave', this.onDragLeave, this); + L.DomEvent.on(node, 'drop', this.onDrop, this); + L.DomEvent.on(node, 'dragend', this.onDragEnd, this); + }, + + nodeIndex: function (node) { + return Array.prototype.indexOf.call(this.parent.children, node); + }, + + findTarget: function (node) { + while (node) { + if (this.nodeIndex(node) !== -1) return node; + node = node.parentNode; + } + }, + + onDragStart: function (e) { + // e.target is the source node. + this.src = e.target; + this.initialIndex = this.nodeIndex(this.src); + this.srcBackgroundColor = this.src.style.backgroundColor; + this.src.style.backgroundColor = this.options.color; + e.dataTransfer.effectAllowed = 'move'; + e.dataTransfer.setData('text/html', this.src.innerHTML); + }, + + onDragOver: function (e) { + if (e.preventDefault) e.preventDefault(); // Necessary. Allows us to drop. + e.dataTransfer.dropEffect = 'move'; + return false; + }, + + onDragEnter: function (e) { + // e.target is the current hover target. + var dst = this.findTarget(e.target); + if (!dst || dst === this.src) return; + this.dst = dst; + var targetIndex = this.nodeIndex(this.dst), + srcIndex = this.nodeIndex(this.src); + if (targetIndex > srcIndex) this.parent.insertBefore(this.dst, this.src); + else this.parent.insertBefore(this.src, this.dst); + }, + + onDragLeave: function (e) { + // e.target is previous target element. + }, + + onDrop: function (e) { + // e.target is current target element. + if (e.stopPropagation) e.stopPropagation(); // Stops the browser from redirecting. + if (!this.dst) return; + this.fire('drop', { + src: this.src, + initialIndex: this.initialIndex, + finalIndex: this.nodeIndex(this.src), + dst: this.dst + }); + return false; + }, + + onDragEnd: function (e) { + // e.target is the source node. + this.src.style.backgroundColor = this.srcBackgroundColor; + } + +}); diff --git a/umap/static/umap/js/umap.features.js b/umap/static/umap/js/umap.features.js new file mode 100644 index 00000000..54a0394c --- /dev/null +++ b/umap/static/umap/js/umap.features.js @@ -0,0 +1,1062 @@ +L.U.FeatureMixin = { + + staticOptions: {}, + + initialize: function (map, latlng, options) { + this.map = map; + if(typeof options === 'undefined') { + options = {}; + } + // DataLayer the marker belongs to + this.datalayer = options.datalayer || null; + this.properties = {_umap_options: {}}; + if (options.geojson) { + this.populate(options.geojson); + } + var isDirty = false, + self = this; + try { + Object.defineProperty(this, 'isDirty', { + get: function () { + return isDirty; + }, + set: function (status) { + if (!isDirty && status) { + self.fire('isdirty'); + } + isDirty = status; + if (self.datalayer) { + self.datalayer.isDirty = status; + } + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + this.preInit(); + this.addInteractions(); + this.parentClass.prototype.initialize.call(this, latlng, options); + }, + + preInit: function () {}, + + isReadOnly: function () { + return this.datalayer && this.datalayer.isRemoteLayer(); + }, + + getSlug: function () { + return this.properties[this.map.options.slugKey || 'name'] || ''; + }, + + getPermalink: function () { + const slug = this.getSlug(); + if (slug) return L.Util.getBaseUrl() + "?" + L.Util.buildQueryString({feature: slug}) + window.location.hash; + }, + + view: function(e) { + if (this.map.editEnabled) return; + var outlink = this.properties._umap_options.outlink, + target = this.properties._umap_options.outlinkTarget + if (outlink) { + switch (target) { + case 'self': + window.location = outlink; + break; + case 'parent': + window.top.location = outlink; + break; + default: + var win = window.open(this.properties._umap_options.outlink); + } + return; + } + // TODO deal with an event instead? + if (this.map.slideshow) this.map.slideshow.current = this; + this.map.currentFeature = this; + this.attachPopup(); + this.openPopup(e && e.latlng || this.getCenter()); + }, + + openPopup: function () { + if (this.map.editEnabled) return; + this.parentClass.prototype.openPopup.apply(this, arguments); + }, + + edit: function(e) { + if(!this.map.editEnabled || this.isReadOnly()) return; + var container = L.DomUtil.create('div', 'umap-datalayer-container'); + + var builder = new L.U.FormBuilder(this, ['datalayer'], { + callback: function () {this.edit(e);} // removeLayer step will close the edit panel, let's reopen it + }); + container.appendChild(builder.build()); + + var properties = [], property; + for (var i = 0; i < this.datalayer._propertiesIndex.length; i++) { + property = this.datalayer._propertiesIndex[i]; + if (L.Util.indexOf(['name', 'description'], property) !== -1) {continue;} + properties.push(['properties.' + property, {label: property}]); + } + // We always want name and description for now (properties management to come) + properties.unshift('properties.description'); + properties.unshift('properties.name'); + builder = new L.U.FormBuilder(this, properties, + { + id: 'umap-feature-properties', + callback: this.resetTooltip + } + ); + container.appendChild(builder.build()); + this.appendEditFieldsets(container); + var advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions')); + this.getAdvancedEditActions(advancedActions); + this.map.ui.openPanel({data: {html: container}, className: 'dark'}); + this.map.editedFeature = this; + if (!this.isOnScreen()) this.bringToCenter(e); + }, + + getAdvancedEditActions: function (container) { + var deleteLink = L.DomUtil.create('a', 'button umap-delete', container); + deleteLink.href = '#'; + deleteLink.textContent = L._('Delete'); + L.DomEvent.on(deleteLink, 'click', function (e) { + L.DomEvent.stop(e); + if (this.confirmDelete()) this.map.ui.closePanel(); + }, this); + }, + + appendEditFieldsets: function (container) { + var optionsFields = this.getShapeOptions(); + var builder = new L.U.FormBuilder(this, optionsFields, { + id: 'umap-feature-shape-properties', + callback: this._redraw + }); + var shapeProperties = L.DomUtil.createFieldset(container, L._('Shape properties')); + shapeProperties.appendChild(builder.build()); + + var advancedOptions = this.getAdvancedOptions(); + var builder = new L.U.FormBuilder(this, advancedOptions, { + id: 'umap-feature-advanced-properties', + callback: this._redraw + }); + var advancedProperties = L.DomUtil.createFieldset(container, L._('Advanced properties')); + advancedProperties.appendChild(builder.build()); + + var interactionOptions = this.getInteractionOptions(); + builder = new L.U.FormBuilder(this, interactionOptions, { + callback: this._redraw + }); + var popupFieldset = L.DomUtil.createFieldset(container, L._('Interaction options')); + popupFieldset.appendChild(builder.build()); + + }, + + getInteractionOptions: function () { + return [ + 'properties._umap_options.popupShape', + 'properties._umap_options.popupTemplate', + 'properties._umap_options.showLabel', + 'properties._umap_options.labelDirection', + 'properties._umap_options.labelInteractive' + ]; + }, + + endEdit: function () {}, + + getDisplayName: function (fallback) { + if (fallback === undefined) fallback = this.datalayer.options.name; + var key = this.getOption('labelKey') || 'name'; + // Variables mode. + if (key.indexOf("{") != -1) return L.Util.greedyTemplate(key, this.extendedProperties()); + // Simple mode. + return this.properties[key] || this.properties.title || fallback; + }, + + hasPopupFooter: function () { + if (L.Browser.ielt9) return false; + if (this.datalayer.isRemoteLayer() && this.datalayer.options.remoteData.dynamic) return false; + return this.map.options.displayPopupFooter; + }, + + getPopupClass: function () { + var old = this.getOption('popupTemplate'); // Retrocompat. + return L.U.Popup[this.getOption('popupShape') || old] || L.U.Popup; + }, + + attachPopup: function () { + var Class = this.getPopupClass(); + this.bindPopup(new Class(this)); + }, + + confirmDelete: function () { + if (confirm(L._('Are you sure you want to delete the feature?'))) { + this.del(); + return true; + } + return false; + }, + + del: function () { + this.isDirty = true; + this.map.closePopup(); + if (this.datalayer) { + this.datalayer.removeLayer(this); + this.disconnectFromDataLayer(this.datalayer); + } + }, + + connectToDataLayer: function (datalayer) { + this.datalayer = datalayer; + this.options.renderer = this.datalayer.renderer; + }, + + disconnectFromDataLayer: function (datalayer) { + if (this.datalayer === datalayer) { + this.datalayer = null; + } + }, + + populate: function (feature) { + this.properties = L.extend({}, feature.properties); + this.properties._umap_options = L.extend({}, this.properties._storage_options, this.properties._umap_options); + // Retrocompat + if (this.properties._umap_options.clickable === false) { + this.properties._umap_options.interactive = false; + delete this.properties._umap_options.clickable; + } + }, + + changeDataLayer: function(datalayer) { + if(this.datalayer) { + this.datalayer.isDirty = true; + this.datalayer.removeLayer(this); + } + datalayer.addLayer(this); + datalayer.isDirty = true; + this._redraw(); + }, + + getOption: function (option, fallback) { + var value = fallback; + if (typeof this.staticOptions[option] !== 'undefined') { + value = this.staticOptions[option]; + } + else if (L.Util.usableOption(this.properties._umap_options, option)) { + value = this.properties._umap_options[option]; + } + else if (this.datalayer) { + value = this.datalayer.getOption(option); + } + else { + value = this.map.getOption(option); + } + return value; + }, + + bringToCenter: function (e) { + e = e || {}; + var latlng = e.latlng || this.getCenter(); + this.map.setView(latlng, e.zoomTo || this.map.getZoom()); + if (e.callback) e.callback.call(this); + }, + + zoomTo: function (e) { + e = e || {}; + var easing = e.easing !== undefined ? e.easing : this.map.options.easing; + if (easing) this.flyTo(); + else this.bringToCenter({zoomTo: this.getBestZoom(), callback: e.callback}); + }, + + getBestZoom: function () { + return this.getOption('zoomTo'); + }, + + flyTo: function () { + this.map.flyTo(this.getCenter(), this.getBestZoom()); + }, + + getNext: function () { + return this.datalayer.getNextFeature(this); + }, + + getPrevious: function () { + return this.datalayer.getPreviousFeature(this); + }, + + cloneProperties: function () { + var properties = L.extend({}, this.properties); + properties._umap_options = L.extend({}, properties._umap_options); + if (Object.keys && Object.keys(properties._umap_options).length === 0) { + delete properties._umap_options; // It can make a difference on big data sets + } + return properties; + }, + + deleteProperty: function (property) { + delete this.properties[property]; + this.makeDirty(); + }, + + renameProperty: function (from, to) { + this.properties[to] = this.properties[from]; + this.deleteProperty(from); + }, + + toGeoJSON: function () { + var geojson = this.parentClass.prototype.toGeoJSON.call(this); + geojson.properties = this.cloneProperties(); + return geojson; + }, + + addInteractions: function () { + this.on('contextmenu editable:vertex:contextmenu', this._showContextMenu, this); + this.on('click', this._onClick); + }, + + _onClick: function (e) { + if (this.map.measureTools && this.map.measureTools.enabled()) return; + this._popupHandlersAdded = true; // Prevent leaflet from managing event + if(!this.map.editEnabled) { + this.view(e); + } else if (!this.isReadOnly()) { + if(e.originalEvent.shiftKey) { + if(this._toggleEditing) + this._toggleEditing(e); + else + this.edit(e); + } + else { + new L.Toolbar.Popup(e.latlng, { + className: 'leaflet-inplace-toolbar', + anchor: this.getPopupToolbarAnchor(), + actions: this.getInplaceToolbarActions(e) + }).addTo(this.map, this, e.latlng); + } + } + L.DomEvent.stop(e); + }, + + getPopupToolbarAnchor: function () { + return [0, 0]; + }, + + getInplaceToolbarActions: function (e) { + return [L.U.ToggleEditAction, L.U.DeleteFeatureAction]; + }, + + _showContextMenu: function (e) { + L.DomEvent.stop(e); + var pt = this.map.mouseEventToContainerPoint(e.originalEvent); + e.relatedTarget = this; + this.map.contextmenu.showAt(pt, e); + }, + + makeDirty: function () { + this.isDirty = true; + }, + + getMap: function () { + return this.map; + }, + + getContextMenuItems: function (e) { + var permalink = this.getPermalink(), + items = []; + if (permalink) items.push({text: L._('Permalink'), callback: function() {window.open(permalink);}}); + if (this.map.editEnabled && !this.isReadOnly()) { + items = items.concat(this.getContextMenuEditItems(e)); + } + return items; + }, + + getContextMenuEditItems: function () { + var items = ['-']; + if (this.map.editedFeature !== this) { + items.push( + { + text: L._('Edit this feature'), + callback: this.edit, + context: this, + iconCls: 'umap-edit' + } + ); + } + items = items.concat( + { + text: L._('Edit feature\'s layer'), + callback: this.datalayer.edit, + context: this.datalayer, + iconCls: 'umap-edit' + }, + { + text: L._('Delete this feature'), + callback: this.confirmDelete, + context: this, + iconCls: 'umap-delete' + }, + { + text: L._('Clone this feature'), + callback: this.clone, + context: this + } + ); + return items; + }, + + onRemove: function (map) { + this.parentClass.prototype.onRemove.call(this, map); + if (this.map.editedFeature === this) { + this.endEdit(); + this.map.ui.closePanel(); + } + }, + + resetTooltip: function () { + var displayName = this.getDisplayName(null), + showLabel = this.getOption('showLabel'), + oldLabelHover = this.getOption('labelHover'), + options = { + direction: this.getOption('labelDirection'), + interactive: this.getOption('labelInteractive') + }; + if (oldLabelHover && showLabel) showLabel = null; // Retrocompat. + options.permanent = showLabel === true; + this.unbindTooltip(); + if ((showLabel === true || showLabel === null) && displayName) this.bindTooltip(L.Util.escapeHTML(displayName), options); + }, + + matchFilter: function (filter, keys) { + filter = filter.toLowerCase(); + for (var i = 0; i < keys.length; i++) { + if ((this.properties[keys[i]] || '').toLowerCase().indexOf(filter) !== -1) return true; + } + return false; + }, + + onVertexRawClick: function (e) { + new L.Toolbar.Popup(e.latlng, { + className: 'leaflet-inplace-toolbar', + actions: this.getVertexActions(e) + }).addTo(this.map, this, e.latlng, e.vertex); + }, + + getVertexActions: function () { + return [L.U.DeleteVertexAction]; + }, + + isMulti: function () { + return false; + }, + + clone: function () { + var layer = this.datalayer.geojsonToFeatures(this.toGeoJSON()); + layer.isDirty = true; + layer.edit(); + return layer; + }, + + extendedProperties: function () { + // Include context properties + properties = this.map.getGeoContext(); + center = this.getCenter(); + properties.lat = center.lat; + properties.lon = center.lng; + properties.lng = center.lng; + properties.rank = this.getRank() + 1; + if (typeof this.getMeasure !== 'undefined') { + properties.measure = this.getMeasure(); + } + return L.extend(properties, this.properties); + }, + + getRank: function () { + return this.datalayer._index.indexOf(L.stamp(this)); + } + +}; + +L.U.Marker = L.Marker.extend({ + parentClass: L.Marker, + includes: [L.U.FeatureMixin], + + preInit: function () { + this.setIcon(this.getIcon()); + }, + + addInteractions: function () { + L.U.FeatureMixin.addInteractions.call(this); + this.on('dragend', function (e) { + this.isDirty = true; + this.edit(e); + }, this); + if (!this.isReadOnly()) this.on('mouseover', this._enableDragging); + this.on('mouseout', this._onMouseOut); + this._popupHandlersAdded = true; // prevent Leaflet from binding event on bindPopup + }, + + _onMouseOut: function () { + if(this.dragging && this.dragging._draggable && !this.dragging._draggable._moving) { + // Do not disable if the mouse went out while dragging + this._disableDragging(); + } + }, + + _enableDragging: function () { + // TODO: start dragging after 1 second on mouse down + if(this.map.editEnabled) { + if (!this.editEnabled()) this.enableEdit(); + // Enabling dragging on the marker override the Draggable._OnDown + // event, which, as it stopPropagation, refrain the call of + // _onDown with map-pane element, which is responsible to + // set the _moved to false, and thus to enable the click. + // We should find a cleaner way to handle this. + this.map.dragging._draggable._moved = false; + } + }, + + _disableDragging: function () { + if(this.map.editEnabled) { + if (this.editor && this.editor.drawing) return; // when creating a new marker, the mouse can trigger the mouseover/mouseout event + // do not listen to them + this.disableEdit(); + } + }, + + _redraw: function() { + if (this.datalayer && this.datalayer.isVisible()) { + this._initIcon(); + this.update(); + } + }, + + _initIcon: function () { + this.options.icon = this.getIcon(); + L.Marker.prototype._initIcon.call(this); + this.resetTooltip(); + }, + + disconnectFromDataLayer: function (datalayer) { + this.options.icon.datalayer = null; + L.U.FeatureMixin.disconnectFromDataLayer.call(this, datalayer); + }, + + _getIconUrl: function (name) { + if (typeof name === 'undefined') name = 'icon'; + return this.getOption(name + 'Url'); + }, + + getIconClass: function () { + return this.getOption('iconClass'); + }, + + getIcon: function () { + var Class = L.U.Icon[this.getIconClass()] || L.U.Icon.Default; + return new Class(this.map, {feature: this}); + }, + + getCenter: function () { + return this._latlng; + }, + + getClassName: function () { + return 'marker'; + }, + + getShapeOptions: function () { + return [ + 'properties._umap_options.color', + 'properties._umap_options.iconClass', + 'properties._umap_options.iconUrl' + ]; + }, + + getAdvancedOptions: function () { + return [ + 'properties._umap_options.zoomTo' + ]; + }, + + appendEditFieldsets: function (container) { + L.U.FeatureMixin.appendEditFieldsets.call(this, container); + var coordinatesOptions = [ + ['_latlng.lat', {handler: 'FloatInput', label: L._('Latitude')}], + ['_latlng.lng', {handler: 'FloatInput', label: L._('Longitude')}] + ]; + var builder = new L.U.FormBuilder(this, coordinatesOptions, { + callback: function () { + this._redraw(); + this.bringToCenter(); + }, + callbackContext: this + }); + var fieldset = L.DomUtil.createFieldset(container, L._('Coordinates')); + fieldset.appendChild(builder.build()); + }, + + bringToCenter: function (e) { + if (this.datalayer.isClustered() && !this._icon) { + // callback is mandatory for zoomToShowLayer + this.datalayer.layer.zoomToShowLayer(this, e.callback || function (){}); + } else { + L.U.FeatureMixin.bringToCenter.call(this, e); + } + }, + + isOnScreen: function () { + var bounds = this.map.getBounds(); + return bounds.contains(this._latlng); + }, + + getPopupToolbarAnchor: function () { + return this.options.icon.options.popupAnchor; + } + +}); + + +L.U.PathMixin = { + + connectToDataLayer: function (datalayer) { + L.U.FeatureMixin.connectToDataLayer.call(this, datalayer); + // We keep markers on their own layer on top of the paths. + this.options.pane = this.datalayer.pane; + }, + + edit: function (e) { + if(this.map.editEnabled) { + if (!this.editEnabled()) this.enableEdit(); + L.U.FeatureMixin.edit.call(this, e); + } + }, + + _toggleEditing: function(e) { + if(this.map.editEnabled) { + if(this.editEnabled()) { + this.endEdit(); + this.map.ui.closePanel(); + } + else { + this.edit(e); + } + } + // FIXME: disable when disabling global edit + L.DomEvent.stop(e); + }, + + styleOptions: [ + 'smoothFactor', + 'color', + 'opacity', + 'stroke', + 'weight', + 'fill', + 'fillColor', + 'fillOpacity', + 'dashArray', + 'interactive' + ], + + getShapeOptions: function () { + return [ + 'properties._umap_options.color', + 'properties._umap_options.opacity', + 'properties._umap_options.weight' + ]; + }, + + getAdvancedOptions: function () { + return [ + 'properties._umap_options.smoothFactor', + 'properties._umap_options.dashArray', + 'properties._umap_options.zoomTo' + ]; + }, + + setStyle: function (options) { + options = options || {}; + var option; + for (var idx in this.styleOptions) { + option = this.styleOptions[idx]; + options[option] = this.getOption(option); + } + if (options.interactive) this.options.pointerEvents = 'visiblePainted'; + else this.options.pointerEvents = 'stroke'; + this.parentClass.prototype.setStyle.call(this, options); + }, + + _redraw: function () { + this.setStyle(); + this.resetTooltip(); + }, + + onAdd: function (map) { + this._container = null; + this.setStyle(); + // Show tooltip again when Leaflet.label allow static label on path. + // cf https://github.com/Leaflet/Leaflet/pull/3952 + // this.map.on('showmeasure', this.showMeasureTooltip, this); + // this.map.on('hidemeasure', this.removeTooltip, this); + this.parentClass.prototype.onAdd.call(this, map); + if (this.editing && this.editing.enabled()) this.editing.addHooks(); + this.resetTooltip(); + }, + + onRemove: function (map) { + // this.map.off('showmeasure', this.showMeasureTooltip, this); + // this.map.off('hidemeasure', this.removeTooltip, this); + if (this.editing && this.editing.enabled()) this.editing.removeHooks(); + L.U.FeatureMixin.onRemove.call(this, map); + }, + + getBestZoom: function () { + if (this.options.zoomTo) return this.options.zoomTo; + var bounds = this.getBounds(); + return this.map.getBoundsZoom(bounds, true); + }, + + endEdit: function () { + this.disableEdit(); + L.U.FeatureMixin.endEdit.call(this); + }, + + _onMouseOver: function () { + if (this.map.measureTools && this.map.measureTools.enabled()) { + this.map.ui.tooltip({content: this.getMeasure(), anchor: this}); + } else if (this.map.editEnabled && !this.map.editedFeature) { + this.map.ui.tooltip({content: L._('Click to edit'), anchor: this}); + } + }, + + addInteractions: function () { + L.U.FeatureMixin.addInteractions.call(this); + this.on('mouseover', this._onMouseOver); + this.on('edit', this.makeDirty); + this.on('drag editable:drag', this._onDrag); + }, + + _onDrag: function () { + if (this._tooltip) this._tooltip.setLatLng(this.getCenter()); + }, + + transferShape: function (at, to) { + var shape = this.enableEdit().deleteShapeAt(at); + this.disableEdit(); + if (!shape) return; + to.enableEdit().appendShape(shape); + if (!this._latlngs.length || !this._latlngs[0].length) this.del(); + }, + + isolateShape: function (at) { + if (!this.isMulti()) return; + var shape = this.enableEdit().deleteShapeAt(at); + this.disableEdit(); + if (!shape) return; + var properties = this.cloneProperties(); + var other = new (this instanceof L.U.Polyline ? L.U.Polyline : L.U.Polygon)(this.map, shape, {geojson: {properties: properties}}); + this.datalayer.addLayer(other); + other.edit(); + return other; + }, + + getContextMenuItems: function (e) { + var items = L.U.FeatureMixin.getContextMenuItems.call(this, e); + items.push({ + text: L._('Display measure'), + callback: function () { + this.map.ui.alert({content: this.getMeasure(), level: 'info'}) + }, + context: this + }) + if (this.map.editEnabled && !this.isReadOnly() && this.isMulti()) { + items = items.concat(this.getContextMenuMultiItems(e)); + } + return items; + }, + + getContextMenuMultiItems: function (e) { + var items = ['-', { + text: L._('Remove shape from the multi'), + callback: function () { + this.enableEdit().deleteShapeAt(e.latlng); + }, + context: this + }]; + var shape = this.shapeAt(e.latlng); + if (this._latlngs.indexOf(shape) > 0) { + items.push({ + text: L._('Make main shape'), + callback: function () { + this.enableEdit().deleteShape(shape); + this.editor.prependShape(shape); + }, + context: this + }); + } + return items; + }, + + getContextMenuEditItems: function (e) { + var items = L.U.FeatureMixin.getContextMenuEditItems.call(this, e); + if (this.map.editedFeature && this.isSameClass(this.map.editedFeature) && this.map.editedFeature !== this) { + items.push({ + text: L._('Transfer shape to edited feature'), + callback: function () { + this.transferShape(e.latlng, this.map.editedFeature); + }, + context: this + }); + } + if (this.isMulti()) { + items.push({ + text: L._('Extract shape to separate feature'), + callback: function () { + this.isolateShape(e.latlng, this.map.editedFeature); + }, + context: this + }); + } + return items; + }, + + getInplaceToolbarActions: function (e) { + var items = L.U.FeatureMixin.getInplaceToolbarActions.call(this, e); + if (this.isMulti()) { + items.push(L.U.DeleteShapeAction); + items.push(L.U.ExtractShapeFromMultiAction); + } + return items; + }, + + isOnScreen: function () { + var bounds = this.map.getBounds(); + return bounds.overlaps(this.getBounds()); + } + +}; + +L.U.Polyline = L.Polyline.extend({ + parentClass: L.Polyline, + includes: [L.U.FeatureMixin, L.U.PathMixin], + + staticOptions: { + stroke: true, + fill: false + }, + + isSameClass: function (other) { + return other instanceof L.U.Polyline; + }, + + getClassName: function () { + return 'polyline'; + }, + + getMeasure: function () { + var length = L.GeoUtil.lineLength(this.map, this._defaultShape()); + return L.GeoUtil.readableDistance(length, this.map.measureTools.getMeasureUnit()); + }, + + getContextMenuEditItems: function (e) { + var items = L.U.PathMixin.getContextMenuEditItems.call(this, e), + vertexClicked = e.vertex, index; + if (!this.isMulti()) { + items.push({ + text: L._('Transform to polygon'), + callback: this.toPolygon, + context: this + }); + } + if (vertexClicked) { + index = e.vertex.getIndex(); + if (index !== 0 && index !== e.vertex.getLastIndex()) { + items.push({ + text: L._('Split line'), + callback: e.vertex.split, + context: e.vertex + }); + } else if (index === 0 || index === e.vertex.getLastIndex()) { + items.push({ + text: L._('Continue line (Ctrl+Click)'), + callback: e.vertex.continue, + context: e.vertex.continue + }); + } + } + return items; + }, + + getContextMenuMultiItems: function (e) { + var items = L.U.PathMixin.getContextMenuMultiItems.call(this, e); + items.push({ + text: L._('Merge lines'), + callback: this.mergeShapes, + context: this + }); + return items; + }, + + toPolygon: function () { + var geojson = this.toGeoJSON(); + geojson.geometry.type = 'Polygon'; + geojson.geometry.coordinates = [L.Util.flattenCoordinates(geojson.geometry.coordinates)]; + var polygon = this.datalayer.geojsonToFeatures(geojson); + polygon.edit(); + this.del(); + }, + + getAdvancedEditActions: function (container) { + L.U.FeatureMixin.getAdvancedEditActions.call(this, container); + var toPolygon = L.DomUtil.create('a', 'button umap-to-polygon', container); + toPolygon.href = '#'; + toPolygon.textContent = L._('Transform to polygon'); + L.DomEvent.on(toPolygon, 'click', this.toPolygon, this); + }, + + _mergeShapes: function (from, to) { + var toLeft = to[0], + toRight = to[to.length - 1], + fromLeft = from[0], + fromRight = from[from.length - 1], + l2ldistance = toLeft.distanceTo(fromLeft), + l2rdistance = toLeft.distanceTo(fromRight), + r2ldistance = toRight.distanceTo(fromLeft), + r2rdistance = toRight.distanceTo(fromRight), + toMerge; + if (l2rdistance < Math.min(l2ldistance, r2ldistance, r2rdistance)) { + toMerge = [from, to]; + } else if (r2ldistance < Math.min(l2ldistance, l2rdistance, r2rdistance)) { + toMerge = [to, from]; + } else if (r2rdistance < Math.min(l2ldistance, l2rdistance, r2ldistance)) { + from.reverse(); + toMerge = [to, from]; + } else { + from.reverse(); + toMerge = [from, to]; + } + var a = toMerge[0], + b = toMerge[1], + p1 = this.map.latLngToContainerPoint(a[a.length - 1]), + p2 = this.map.latLngToContainerPoint(b[0]), + tolerance = 5; // px on screen + if (Math.abs(p1.x - p2.x) <= tolerance && Math.abs(p1.y - p2.y) <= tolerance) { + a.pop(); + } + return a.concat(b); + }, + + mergeShapes: function () { + if (!this.isMulti()) return; + var latlngs = this.getLatLngs(); + if (!latlngs.length) return; + while (latlngs.length > 1) { + latlngs.splice(0, 2, this._mergeShapes(latlngs[1], latlngs[0])); + } + this.setLatLngs(latlngs[0]); + if (!this.editEnabled()) this.edit(); + this.editor.reset(); + this.isDirty = true; + }, + + isMulti: function () { + return !L.LineUtil.isFlat(this._latlngs) && this._latlngs.length > 1; + }, + + getVertexActions: function (e) { + var actions = L.U.FeatureMixin.getVertexActions.call(this, e), + index = e.vertex.getIndex(); + if (index === 0 || index === e.vertex.getLastIndex()) actions.push(L.U.ContinueLineAction); + else actions.push(L.U.SplitLineAction); + return actions; + } + +}); + +L.U.Polygon = L.Polygon.extend({ + parentClass: L.Polygon, + includes: [L.U.FeatureMixin, L.U.PathMixin], + + isSameClass: function (other) { + return other instanceof L.U.Polygon; + }, + + getClassName: function () { + return 'polygon'; + }, + + getShapeOptions: function () { + var options = L.U.PathMixin.getShapeOptions(); + options.push('properties._umap_options.stroke', + 'properties._umap_options.fill', + 'properties._umap_options.fillColor', + 'properties._umap_options.fillOpacity' + ); + return options; + }, + + getInteractionOptions: function () { + var options = [ + ['properties._umap_options.interactive', {handler: 'Switch', label: L._('Allow interactions'), helpEntries: 'interactive', inheritable: true}], + ['properties._umap_options.outlink', {label: L._('Link to…'), helpEntries: 'outlink', placeholder: 'http://...', inheritable: true}], + ['properties._umap_options.outlinkTarget', {handler: 'OutlinkTarget', label: L._('Open link in…'), inheritable: true}] + ]; + return options.concat(L.U.FeatureMixin.getInteractionOptions()); + }, + + getMeasure: function () { + var area = L.GeoUtil.geodesicArea(this._defaultShape()); + return L.GeoUtil.readableArea(area, this.map.measureTools.getMeasureUnit()); + }, + + getContextMenuEditItems: function (e) { + var items = L.U.PathMixin.getContextMenuEditItems.call(this, e), + shape = this.shapeAt(e.latlng); + // No multi and no holes. + if (shape && !this.isMulti() && (L.LineUtil.isFlat(shape) || shape.length === 1)) { + items.push({ + text: L._('Transform to lines'), + callback: this.toPolyline, + context: this + }); + } + items.push({ + text: L._('Start a hole here'), + callback: this.startHole, + context: this + }); + return items; + }, + + startHole: function (e) { + this.enableEdit().newHole(e.latlng); + }, + + toPolyline: function () { + var geojson = this.toGeoJSON(); + geojson.geometry.type = 'LineString'; + geojson.geometry.coordinates = L.Util.flattenCoordinates(geojson.geometry.coordinates); + var polyline = this.datalayer.geojsonToFeatures(geojson); + polyline.edit(); + this.del(); + }, + + getAdvancedEditActions: function (container) { + L.U.FeatureMixin.getAdvancedEditActions.call(this, container); + var toPolyline = L.DomUtil.create('a', 'button umap-to-polyline', container); + toPolyline.href = '#'; + toPolyline.textContent = L._('Transform to lines'); + L.DomEvent.on(toPolyline, 'click', this.toPolyline, this); + }, + + isMulti: function () { + // Change me when Leaflet#3279 is merged. + return !L.LineUtil.isFlat(this._latlngs) && !L.LineUtil.isFlat(this._latlngs[0]) && this._latlngs.length > 1; + }, + + getInplaceToolbarActions: function (e) { + var items = L.U.PathMixin.getInplaceToolbarActions.call(this, e); + items.push(L.U.CreateHoleAction); + return items; + } + +}); diff --git a/umap/static/umap/js/umap.forms.js b/umap/static/umap/js/umap.forms.js new file mode 100644 index 00000000..88c03703 --- /dev/null +++ b/umap/static/umap/js/umap.forms.js @@ -0,0 +1,792 @@ +L.FormBuilder.Element.include({ + + getParentNode: function () { + if (this.options.wrapper) { + return L.DomUtil.create(this.options.wrapper, this.options.wrapperClass || '', this.form); + } + var className = 'formbox'; + if (this.options.inheritable) { + className += this.get(true) === undefined ? ' inheritable undefined' : ' inheritable '; + } + className += ' umap-field-' + this.name; + this.wrapper = L.DomUtil.create('div', className, this.form); + this.header = L.DomUtil.create('div', 'header', this.wrapper); + if (this.options.inheritable) { + var undefine = L.DomUtil.add('a', 'button undefine', this.header, L._('clear')); + var define = L.DomUtil.add('a', 'button define', this.header, L._('define')); + L.DomEvent.on(define, 'click', function (e) { + L.DomEvent.stop(e); + this.fetch(); + this.fire('define'); + L.DomUtil.removeClass(this.wrapper, 'undefined'); + }, this); + L.DomEvent.on(undefine, 'click', function (e) { + L.DomEvent.stop(e); + L.DomUtil.addClass(this.wrapper, 'undefined'); + this.clear(); + this.sync(); + }, this); + } + this.quickContainer = L.DomUtil.create('span', 'quick-actions show-on-defined', this.header); + this.extendedContainer = L.DomUtil.create('div', 'show-on-defined', this.wrapper); + return this.extendedContainer; + }, + + getLabelParent: function () { + return this.header; + }, + + clear: function () { + this.input.value = ''; + }, + + get: function (own) { + if (!this.options.inheritable || own) return this.builder.getter(this.field); + var path = this.field.split('.'), + key = path[path.length - 1]; + return this.obj.getOption(key); + }, + + buildLabel: function () { + if (this.options.label) { + this.label = L.DomUtil.create('label', '', this.getLabelParent()); + this.label.textContent = this.label.title = this.options.label; + if (this.options.helpEntries) this.builder.map.help.button(this.label, this.options.helpEntries); + else if (this.options.helpTooltip) { + var info = L.DomUtil.create('i', 'info', this.label); + L.DomEvent.on(info, 'mouseover', function () { + this.builder.map.ui.tooltip({anchor: info, content: this.options.helpTooltip, position: 'top'}); + }, this); + } + } + } + +}); + +L.FormBuilder.Select.include({ + + clear: function () { + this.select.value = ''; + }, + + getDefault: function () { + if (this.options.inheritable) return undefined; + return this.getOptions()[0][0]; + } + +}); + +L.FormBuilder.CheckBox.include({ + + value: function () { + return L.DomUtil.hasClass(this.wrapper, 'undefined') ? undefined : this.input.checked; + }, + + clear: function () { + this.fetch(); + } + +}); + +L.FormBuilder.ColorPicker = L.FormBuilder.Input.extend({ + + colors: [ + 'Black', 'Navy', 'DarkBlue', 'MediumBlue', 'Blue', 'DarkGreen', + 'Green', 'Teal', 'DarkCyan', 'DeepSkyBlue', 'DarkTurquoise', + 'MediumSpringGreen', 'Lime', 'SpringGreen', 'Aqua', 'Cyan', + 'MidnightBlue', 'DodgerBlue', 'LightSeaGreen', 'ForestGreen', + 'SeaGreen', 'DarkSlateGray', 'DarkSlateGrey', 'LimeGreen', + 'MediumSeaGreen', 'Turquoise', 'RoyalBlue', 'SteelBlue', + 'DarkSlateBlue', 'MediumTurquoise', 'Indigo', 'DarkOliveGreen', + 'CadetBlue', 'CornflowerBlue', 'MediumAquaMarine', 'DimGray', + 'DimGrey', 'SlateBlue', 'OliveDrab', 'SlateGray', 'SlateGrey', + 'LightSlateGray', 'LightSlateGrey', 'MediumSlateBlue', 'LawnGreen', + 'Chartreuse', 'Aquamarine', 'Maroon', 'Purple', 'Olive', 'Gray', + 'Grey', 'SkyBlue', 'LightSkyBlue', 'BlueViolet', 'DarkRed', + 'DarkMagenta', 'SaddleBrown', 'DarkSeaGreen', 'LightGreen', + 'MediumPurple', 'DarkViolet', 'PaleGreen', 'DarkOrchid', + 'YellowGreen', 'Sienna', 'Brown', 'DarkGray', 'DarkGrey', + 'LightBlue', 'GreenYellow', 'PaleTurquoise', 'LightSteelBlue', + 'PowderBlue', 'FireBrick', 'DarkGoldenRod', 'MediumOrchid', + 'RosyBrown', 'DarkKhaki', 'Silver', 'MediumVioletRed', 'IndianRed', + 'Peru', 'Chocolate', 'Tan', 'LightGray', 'LightGrey', 'Thistle', + 'Orchid', 'GoldenRod', 'PaleVioletRed', 'Crimson', 'Gainsboro', + 'Plum', 'BurlyWood', 'LightCyan', 'Lavender', 'DarkSalmon', + 'Violet', 'PaleGoldenRod', 'LightCoral', 'Khaki', 'AliceBlue', + 'HoneyDew', 'Azure', 'SandyBrown', 'Wheat', 'Beige', 'WhiteSmoke', + 'MintCream', 'GhostWhite', 'Salmon', 'AntiqueWhite', 'Linen', + 'LightGoldenRodYellow', 'OldLace', 'Red', 'Fuchsia', 'Magenta', + 'DeepPink', 'OrangeRed', 'Tomato', 'HotPink', 'Coral', 'DarkOrange', + 'LightSalmon', 'Orange', 'LightPink', 'Pink', 'Gold', 'PeachPuff', + 'NavajoWhite', 'Moccasin', 'Bisque', 'MistyRose', 'BlanchedAlmond', + 'PapayaWhip', 'LavenderBlush', 'SeaShell', 'Cornsilk', + 'LemonChiffon', 'FloralWhite', 'Snow', 'Yellow', 'LightYellow', + 'Ivory', 'White' + ], + + getParentNode: function () { + L.FormBuilder.CheckBox.prototype.getParentNode.call(this); + return this.quickContainer; + }, + + build: function () { + L.FormBuilder.Input.prototype.build.call(this); + this.input.placeholder = this.options.placeholder || L._('Inherit'); + this.container = L.DomUtil.create('div', 'umap-color-picker', this.extendedContainer); + this.container.style.display = 'none'; + for (var idx in this.colors) { + this.addColor(this.colors[idx]); + } + this.spreadColor(); + this.input.autocomplete = 'off'; + L.DomEvent.on(this.input, 'focus', this.onFocus, this); + L.DomEvent.on(this.input, 'blur', this.onBlur, this); + L.DomEvent.on(this.input, 'change', this.sync, this); + this.on('define', this.onFocus); + }, + + onFocus: function () { + this.container.style.display = 'block'; + this.spreadColor(); + }, + + onBlur: function () { + var self = this, + closePicker = function () { + self.container.style.display = 'none'; + }; + // We must leave time for the click to be listened. + window.setTimeout(closePicker, 100); + }, + + sync: function () { + this.spreadColor(); + L.FormBuilder.Input.prototype.sync.call(this); + }, + + spreadColor: function () { + if (this.input.value) this.input.style.backgroundColor = this.input.value; + else this.input.style.backgroundColor = 'inherit'; + }, + + addColor: function (colorName) { + var span = L.DomUtil.create('span', '', this.container); + span.style.backgroundColor = span.title = colorName; + var updateColorInput = function () { + this.input.value = colorName; + this.sync(); + this.container.style.display = 'none'; + }; + L.DomEvent.on(span, 'mousedown', updateColorInput, this); + } + +}); + +L.FormBuilder.TextColorPicker = L.FormBuilder.ColorPicker.extend({ + colors: [ + 'Black', 'DarkSlateGrey', 'DimGrey', 'SlateGrey', 'LightSlateGrey', + 'Grey', 'DarkGrey', 'LightGrey', 'White' + ] + +}); + +L.FormBuilder.IconClassSwitcher = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['Default', L._('Default')], + ['Circle', L._('Circle')], + ['Drop', L._('Drop')], + ['Ball', L._('Ball')] + ] + +}); + +L.FormBuilder.ProxyTTLSelect = L.FormBuilder.Select.extend({ + + selectOptions: [ + [undefined, L._('No cache')], + ['300', L._('5 min')], + ['3600', L._('1 hour')], + ['86400', L._('1 day')] + ] + +}); + +L.FormBuilder.PopupShape = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['Default', L._('Popup')], + ['Large', L._('Popup (large)')], + ['Panel', L._('Side panel')], + ] + +}); + +L.FormBuilder.PopupContent = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['Default', L._('Default')], + ['Table', L._('Table')], + ['GeoRSSImage', L._('GeoRSS (title + image)')], + ['GeoRSSLink', L._('GeoRSS (only link)')], + ] + +}); + +L.FormBuilder.LayerTypeChooser = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['Default', L._('Default')], + ['Cluster', L._('Clustered')], + ['Heat', L._('Heatmap')] + ] + +}); + +L.FormBuilder.SlideshowDelay = L.FormBuilder.IntSelect.extend({ + + getOptions: function () { + var options = []; + for (var i = 1; i < 30; i++) { + options.push([i * 1000, L._('{delay} seconds', {delay: i})]); + } + return options; + } + +}); + +L.FormBuilder.DataLayerSwitcher = L.FormBuilder.Select.extend({ + + getOptions: function () { + var options = []; + this.builder.map.eachDataLayerReverse(function (datalayer) { + if(datalayer.isLoaded() && !datalayer.isRemoteLayer() && datalayer.canBrowse()) { + options.push([L.stamp(datalayer), datalayer.getName()]); + } + }); + return options; + }, + + toHTML: function () { + return L.stamp(this.obj.datalayer); + }, + + toJS: function () { + return this.builder.map.datalayers[this.value()]; + }, + + set: function () { + this.builder.map.lastUsedDataLayer = this.toJS(); + this.obj.changeDataLayer(this.toJS()); + } + +}); + +L.FormBuilder.onLoadPanel = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['none', L._('None')], + ['caption', L._('Caption')], + ['databrowser', L._('Data browser')] + ] + +}); + +L.FormBuilder.DataFormat = L.FormBuilder.Select.extend({ + + selectOptions: [ + [undefined, L._('Choose the data format')], + ['geojson', 'geojson'], + ['osm', 'osm'], + ['csv', 'csv'], + ['gpx', 'gpx'], + ['kml', 'kml'], + ['georss', 'georss'] + ] + +}); + +L.FormBuilder.LabelDirection = L.FormBuilder.Select.extend({ + + selectOptions: [ + ['auto', L._('Automatic')], + ['left', L._('On the left')], + ['right', L._('On the right')], + ['top', L._('On the top')], + ['bottom', L._('On the bottom')] + ] + +}); + +L.FormBuilder.LicenceChooser = L.FormBuilder.Select.extend({ + + getOptions: function () { + var licences = [], + licencesList = this.builder.obj.options.licences, + licence; + for (var i in licencesList) { + licence = licencesList[i]; + licences.push([i, licence.name]); + } + return licences; + }, + + toHTML: function () { + return this.get().name; + }, + + toJS: function () { + return this.builder.obj.options.licences[this.value()]; + } + +}); + + +L.FormBuilder.NullableBoolean = L.FormBuilder.Select.extend({ + selectOptions: [ + [undefined, L._('inherit')], + [true, L._('yes')], + [false, L._('no')] + ], + + toJS: function () { + var value = this.value(); + switch (value) { + case 'true': + case true: + value = true; + break; + case 'false': + case false: + value = false; + break; + default: + value = undefined; + } + return value; + } + +}); + + +L.FormBuilder.BlurInput.include({ + + build: function () { + this.options.className = 'blur'; + L.FormBuilder.Input.prototype.build.call(this); + var button = L.DomUtil.create('span', 'button blur-button'); + L.DomUtil.after(this.input, button); + } + +}); + +L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({ + + type: function () { + return 'hidden'; + }, + + build: function () { + this.options.helpText = this.builder.map.help.formatIconSymbol; + L.FormBuilder.BlurInput.prototype.build.call(this); + this.parentContainer = L.DomUtil.create('div', 'umap-form-iconfield', this.parentNode); + this.buttonsContainer = L.DomUtil.create('div', '', this.parentContainer); + this.pictogramsContainer = L.DomUtil.create('div', 'umap-pictogram-list', this.parentContainer); + this.input.type = 'hidden'; + this.input.placeholder = L._('Symbol or url'); + this.udpatePreview(); + this.on('define', this.fetchIconList); + }, + + isUrl: function () { + return (this.value().indexOf('/') !== -1); + }, + + udpatePreview: function () { + if (this.value()&& this.value().indexOf('{') === -1) { // Do not try to render URL with variables + if (this.isUrl()) { + var img = L.DomUtil.create('img', '', L.DomUtil.create('div', 'umap-icon-choice', this.buttonsContainer)); + img.src = this.value(); + L.DomEvent.on(img, 'click', this.fetchIconList, this); + } else { + var el = L.DomUtil.create('span', '', L.DomUtil.create('div', 'umap-icon-choice', this.buttonsContainer)); + el.textContent = this.value(); + L.DomEvent.on(el, 'click', this.fetchIconList, this); + } + } + this.button = L.DomUtil.create('a', '', this.buttonsContainer); + this.button.textContent = this.value() ? L._('Change symbol') : L._('Add symbol'); + this.button.href = '#'; + L.DomEvent + .on(this.button, 'click', L.DomEvent.stop) + .on(this.button, 'click', this.fetchIconList, this); + }, + + addIconPreview: function (pictogram) { + var baseClass = 'umap-icon-choice', + value = pictogram.src, + className = value === this.value() ? baseClass + ' selected' : baseClass, + container = L.DomUtil.create('div', className, this.pictogramsContainer), + img = L.DomUtil.create('img', '', container); + img.src = value; + if (pictogram.name && pictogram.attribution) { + img.title = pictogram.name + ' — © ' + pictogram.attribution; + } + L.DomEvent.on(container, 'click', function (e) { + this.input.value = value; + this.sync(); + this.unselectAll(this.pictogramsContainer); + L.DomUtil.addClass(container, 'selected'); + this.pictogramsContainer.innerHTML = ''; + this.udpatePreview(); + }, this); + }, + + clear: function () { + this.input.value = ''; + this.unselectAll(this.pictogramsContainer); + this.sync(); + this.pictogramsContainer.innerHTML = ''; + this.udpatePreview(); + }, + + buildIconList: function (data) { + this.pictogramsContainer.innerHTML = ''; + this.buttonsContainer.innerHTML = ''; + for (var idx in data.pictogram_list) { + this.addIconPreview(data.pictogram_list[idx]); + } + var cancelButton = L.DomUtil.create('a', '', this.pictogramsContainer); + cancelButton.textContent = L._('Cancel'); + cancelButton.href = '#'; + cancelButton.style.display = 'block'; + cancelButton.style.clear = 'both'; + L.DomEvent + .on(cancelButton, 'click', L.DomEvent.stop) + .on(cancelButton, 'click', function (e) { + this.pictogramsContainer.innerHTML = ''; + this.udpatePreview(); + }, this); + var customButton = L.DomUtil.create('a', '', this.pictogramsContainer); + customButton.textContent = L._('Set symbol'); + customButton.href = '#'; + customButton.style.display = 'block'; + customButton.style.clear = 'both'; + this.builder.map.help.button(customButton, 'formatIconSymbol'); + L.DomEvent + .on(customButton, 'click', L.DomEvent.stop) + .on(customButton, 'click', function (e) { + this.input.type = 'text'; + this.pictogramsContainer.innerHTML = ''; + }, this); + }, + + fetchIconList: function (e) { + this.builder.map.get(this.builder.map.options.urls.pictogram_list_json, { + callback: this.buildIconList, + context: this + }); + }, + + unselectAll: function (container) { + var els = container.querySelectorAll('div.selected'); + for (var el in els) { + if (els.hasOwnProperty(el)) L.DomUtil.removeClass(els[el], 'selected'); + } + } + +}); + +L.FormBuilder.Url = L.FormBuilder.Input.extend({ + + type: function () { + return 'url'; + } + +}); + +L.FormBuilder.Switch = L.FormBuilder.CheckBox.extend({ + + getParentNode: function () { + L.FormBuilder.CheckBox.prototype.getParentNode.call(this); + if (this.options.inheritable) return this.quickContainer; + return this.extendedContainer; + }, + + build: function () { + L.FormBuilder.CheckBox.prototype.build.apply(this); + if (this.options.inheritable) this.label = L.DomUtil.create('label', '', this.input.parentNode); + else this.input.parentNode.appendChild(this.label); + L.DomUtil.addClass(this.input.parentNode, 'with-switch'); + var id = (this.builder.options.id || Date.now()) + '.' + this.name; + this.label.setAttribute('for', id); + L.DomUtil.addClass(this.input, 'switch'); + this.input.id = id; + } + +}); + +L.FormBuilder.MultiChoice = L.FormBuilder.Element.extend({ + + default: 'null', + className: 'umap-multiplechoice', + + clear: function () { + var checked = this.container.querySelector('input[type="radio"]:checked'); + if (checked) checked.checked = false; + }, + + fetch: function () { + var value = this.backup = this.toHTML(); + if (!this.container.querySelector('input[type="radio"][value="' + value + '"]')) value = this.default; + this.container.querySelector('input[type="radio"][value="' + value + '"]').checked = true; + }, + + value: function () { + var checked = this.container.querySelector('input[type="radio"]:checked'); + if (checked) return checked.value; + }, + + getChoices: function () { + return this.options.choices || this.choices; + }, + + build: function () { + var choices = this.getChoices(); + this.container = L.DomUtil.create('div', this.className + ' by' + choices.length, this.parentNode); + for (var i = 0; i < choices.length; i++) { + this.addChoice(choices[i][0], choices[i][1], i); + } + this.fetch(); + }, + + addChoice: function (value, label, counter) { + var input = L.DomUtil.create('input', '', this.container); + label = L.DomUtil.add('label', '', this.container, label); + input.type = 'radio'; + input.name = this.name; + input.value = value; + var id = Date.now() + '.' + this.name + '.' + counter; + label.setAttribute('for', id); + input.id = id; + L.DomEvent.on(input, 'change', this.sync, this); + } + +}); + +L.FormBuilder.TernaryChoices = L.FormBuilder.MultiChoice.extend({ + + default: 'null', + + toJS: function () { + var value = this.value(); + switch (value) { + case 'true': + case true: + value = true; + break; + case 'false': + case false: + value = false; + break; + default: + value = null; + } + return value; + } + +}); + +L.FormBuilder.ControlChoice = L.FormBuilder.TernaryChoices.extend({ + + choices: [ + [true, L._('always')], + [false, L._('never')], + ['null', L._('hidden')] + ] + +}); + + +L.FormBuilder.LabelChoice = L.FormBuilder.TernaryChoices.extend({ + + default: false, + + choices: [ + [true, L._('always')], + [false, L._('never')], + ['null', L._('on hover')] + ] + +}); + +L.FormBuilder.DataLayersControl = L.FormBuilder.ControlChoice.extend({ + + choices: [ + [true, L._('collapsed')], + ['expanded', L._('expanded')], + [false, L._('never')], + ['null', L._('hidden')] + ], + + toJS: function () { + var value = this.value(); + if (value !== 'expanded') value = L.FormBuilder.ControlChoice.prototype.toJS.call(this); + return value; + } + +}); + +L.FormBuilder.OutlinkTarget = L.FormBuilder.MultiChoice.extend({ + + default: 'blank', + + choices: [ + ['blank', L._('new window')], + ['self', L._('iframe')], + ['parent', L._('parent window')] + ] + +}); + +L.FormBuilder.Range = L.FormBuilder.Input.extend({ + + type: function () { + return 'range'; + }, + + value: function () { + return L.DomUtil.hasClass(this.wrapper, 'undefined') ? undefined : this.input.value; + } + +}); + + +L.FormBuilder.ManageOwner = L.FormBuilder.Element.extend({ + + build: function () { + var options = { + className: 'edit-owner', + on_select: L.bind(this.onSelect, this) + }; + this.autocomplete = new L.U.AutoComplete.Ajax.Select(this.parentNode, options); + var owner = this.toHTML(); + if (owner) this.autocomplete.displaySelected({'item': {'value': owner.id, 'label': owner.name}}); + }, + + value: function () { + return this._value; + }, + + onSelect: function (choice) { + this._value = { + 'id': choice.item.value, + 'name': choice.item.label, + 'url': choice.item.url + }; + this.set(); + } + + +}); + + +L.FormBuilder.ManageEditors = L.FormBuilder.Element.extend({ + + build: function () { + var options = { + className: 'edit-editors', + on_select: L.bind(this.onSelect, this), + on_unselect: L.bind(this.onUnselect, this) + }; + this.autocomplete = new L.U.AutoComplete.Ajax.SelectMultiple(this.parentNode, options); + this._values = this.toHTML(); + if (this._values) for (var i = 0; i < this._values.length; i++) this.autocomplete.displaySelected({'item': {'value': this._values[i].id, 'label': this._values[i].name}}); + }, + + value: function () { + return this._values; + }, + + onSelect: function (choice) { + this._values.push({ + 'id': choice.item.value, + 'name': choice.item.label, + 'url': choice.item.url + }); + this.set(); + }, + + onUnselect: function (choice) { + var index = this._values.findIndex(function (item) {return item.id === choice.item.value}); + if (index !== -1) { + this._values.splice(index, 1); + this.set(); + } + } + +}); + +L.U.FormBuilder = L.FormBuilder.extend({ + + options: { + className: 'umap-form' + }, + + defaultOptions: { + name: {label: L._('name')}, + description: {label: L._('description'), handler: 'Textarea', helpEntries: 'textFormatting'}, + color: {handler: 'ColorPicker', label: L._('color'), helpEntries: 'colorValue', inheritable: true}, + opacity: {handler: 'Range', min: 0.1, max: 1, step: 0.1, label: L._('opacity'), inheritable: true}, + stroke: {handler: 'Switch', label: L._('stroke'), helpEntries: 'stroke', inheritable: true}, + weight: {handler: 'Range', min: 1, max: 20, step: 1, label: L._('weight'), inheritable: true}, + fill: {handler: 'Switch', label: L._('fill'), helpEntries: 'fill', inheritable: true}, + fillColor: {handler: 'ColorPicker', label: L._('fill color'), helpEntries: 'fillColor', inheritable: true}, + fillOpacity: {handler: 'Range', min: 0.1, max: 1, step: 0.1, label: L._('fill opacity'), inheritable: true}, + smoothFactor: {handler: 'Range', min: 0, max: 10, step: 0.5, label: L._('Simplify'), helpEntries: 'smoothFactor', inheritable: true}, + dashArray: {label: L._('dash array'), helpEntries: 'dashArray', inheritable: true}, + iconClass: {handler: 'IconClassSwitcher', label: L._('Icon shape'), inheritable: true}, + iconUrl: {handler: 'IconUrl', label: L._('Icon symbol'), inheritable: true, helpText: L.U.Help.formatIconSymbol}, + popupShape: {handler: 'PopupShape', label: L._('Popup shape'), inheritable: true}, + popupTemplate: {handler: 'PopupContent', label: L._('Popup content style'), inheritable: true}, + popupContentTemplate: {label: L._('Popup content template'), handler: 'Textarea', helpEntries: ['dynamicProperties', 'textFormatting'], placeholder: '# {name}', inheritable: true}, + datalayer: {handler: 'DataLayerSwitcher', label: L._('Choose the layer of the feature')}, + moreControl: {handler: 'Switch', label: L._('Do you want to display the «more» control?')}, + scrollWheelZoom: {handler: 'Switch', label: L._('Allow scroll wheel zoom?')}, + miniMap: {handler: 'Switch', label: L._('Do you want to display a minimap?')}, + scaleControl: {handler: 'Switch', label: L._('Do you want to display the scale control?')}, + onLoadPanel: {handler: 'onLoadPanel', label: L._('Do you want to display a panel on load?')}, + displayPopupFooter: {handler: 'Switch', label: L._('Do you want to display popup footer?')}, + captionBar: {handler: 'Switch', label: L._('Do you want to display a caption bar?')}, + zoomTo: {handler: 'IntInput', placeholder: L._('Inherit'), helpEntries: 'zoomTo', label: L._('Default zoom level'), inheritable: true}, + showLabel: {handler: 'LabelChoice', label: L._('Display label'), inheritable: true}, + labelDirection: {handler: 'LabelDirection', label: L._('Label direction'), inheritable: true}, + labelInteractive: {handler: 'Switch', label: L._('Labels are clickable'), inheritable: true}, + labelKey: {helpEntries: 'labelKey', placeholder: L._('Default: name'), label: L._('Label key'), inheritable: true}, + zoomControl: {handler: 'ControlChoice', label: L._('Display the zoom control')}, + searchControl: {handler: 'ControlChoice', label: L._('Display the search control')}, + fullscreenControl: {handler: 'ControlChoice', label: L._('Display the fullscreen control')}, + embedControl: {handler: 'ControlChoice', label: L._('Display the embed control')}, + locateControl: {handler: 'ControlChoice', label: L._('Display the locate control')}, + measureControl: {handler: 'ControlChoice', label: L._('Display the measure control')}, + tilelayersControl: {handler: 'ControlChoice', label: L._('Display the tile layers control')}, + editinosmControl: {handler: 'ControlChoice', label: L._('Display the control to open OpenStreetMap editor')}, + datalayersControl: {handler: 'DataLayersControl', label: L._('Display the data layers control')}, + }, + + initialize: function (obj, fields, options) { + this.map = obj.getMap(); + L.FormBuilder.prototype.initialize.call(this, obj, fields, options); + this.on('finish', this.finish); + }, + + setter: function (field, value) { + L.FormBuilder.prototype.setter.call(this, field, value); + this.obj.isDirty = true; + }, + + finish: function () { + this.map.ui.closePanel(); + } + +}); diff --git a/umap/static/umap/js/umap.icon.js b/umap/static/umap/js/umap.icon.js new file mode 100644 index 00000000..2faad1b3 --- /dev/null +++ b/umap/static/umap/js/umap.icon.js @@ -0,0 +1,189 @@ +L.U.Icon = L.DivIcon.extend({ + initialize: function(map, options) { + this.map = map; + var default_options = { + iconSize: null, // Made in css + iconUrl: this.map.getDefaultOption('iconUrl'), + feature: null + }; + options = L.Util.extend({}, default_options, options); + L.Icon.prototype.initialize.call(this, options); + this.feature = this.options.feature; + if (this.feature && this.feature.isReadOnly()) { + this.options.className += ' readonly'; + } + }, + + _getIconUrl: function (name) { + var url; + if(this.feature && this.feature._getIconUrl(name)) url = this.feature._getIconUrl(name); + else url = this.options[name + 'Url']; + return this.formatUrl(url, this.feature); + }, + + _getColor: function () { + var color; + if(this.feature) color = this.feature.getOption('color'); + else if (this.options.color) color = this.options.color; + else color = this.map.getDefaultOption('color'); + return color; + }, + + formatUrl: function (url, feature) { + return L.Util.greedyTemplate(url || '', feature ? feature.extendedProperties() : {}); + } + +}); + +L.U.Icon.Default = L.U.Icon.extend({ + default_options: { + iconAnchor: new L.Point(16, 40), + popupAnchor: new L.Point(0, -40), + tooltipAnchor: new L.Point(16, -24), + className: 'umap-div-icon' + }, + + initialize: function(map, options) { + options = L.Util.extend({}, this.default_options, options); + L.U.Icon.prototype.initialize.call(this, map, options); + }, + + _setColor: function() { + var color = this._getColor(); + this.elements.container.style.backgroundColor = color; + this.elements.arrow.style.borderTopColor = color; + }, + + createIcon: function() { + this.elements = {}; + this.elements.main = L.DomUtil.create('div'); + this.elements.container = L.DomUtil.create('div', 'icon_container', this.elements.main); + this.elements.arrow = L.DomUtil.create('div', 'icon_arrow', this.elements.main); + var src = this._getIconUrl('icon'); + if (src) { + // An url. + if (src.indexOf('http') === 0 || src.indexOf('/') === 0 || src.indexOf('data:image') === 0) { + this.elements.img = L.DomUtil.create('img', null, this.elements.container); + this.elements.img.src = src; + } else { + this.elements.span = L.DomUtil.create('span', null, this.elements.container) + this.elements.span.textContent = src; + } + } + this._setColor(); + this._setIconStyles(this.elements.main, 'icon'); + return this.elements.main; + } + +}); + +L.U.Icon.Circle = L.U.Icon.extend({ + initialize: function(map, options) { + var default_options = { + iconAnchor: new L.Point(6, 6), + popupAnchor: new L.Point(0, -6), + tooltipAnchor: new L.Point(6, 0), + className: 'umap-circle-icon' + }; + options = L.Util.extend({}, default_options, options); + L.U.Icon.prototype.initialize.call(this, map, options); + }, + + _setColor: function() { + this.elements.main.style.backgroundColor = this._getColor(); + }, + + createIcon: function() { + this.elements = {}; + this.elements.main = L.DomUtil.create('div'); + this.elements.main.innerHTML = ' '; + this._setColor(); + this._setIconStyles(this.elements.main, 'icon'); + return this.elements.main; + } + +}); + +L.U.Icon.Drop = L.U.Icon.Default.extend({ + default_options: { + iconAnchor: new L.Point(16, 42), + popupAnchor: new L.Point(0, -42), + tooltipAnchor: new L.Point(16, -24), + className: 'umap-drop-icon' + } +}); + +L.U.Icon.Ball = L.U.Icon.Default.extend({ + default_options: { + iconAnchor: new L.Point(8, 30), + popupAnchor: new L.Point(0, -28), + tooltipAnchor: new L.Point(8, -23), + className: 'umap-ball-icon' + }, + + createIcon: function() { + this.elements = {}; + this.elements.main = L.DomUtil.create('div'); + this.elements.container = L.DomUtil.create('div', 'icon_container', this.elements.main); + this.elements.arrow = L.DomUtil.create('div', 'icon_arrow', this.elements.main); + this._setColor(); + this._setIconStyles(this.elements.main, 'icon'); + return this.elements.main; + }, + + _setColor: function() { + var color = this._getColor('color'), + background; + if (L.Browser.ielt9) { + background = color; + } + else if (L.Browser.webkit) { + background = '-webkit-gradient( radial, 6 38%, 0, 6 38%, 8, from(white), to(' + color + ') )'; + } + else { + background = 'radial-gradient(circle at 6px 38% , white -4px, ' + color + ' 8px) repeat scroll 0 0 transparent'; + } + this.elements.container.style.background = background; + } + +}); + +var _CACHE_COLOR = {}; +L.U.Icon.Cluster = L.DivIcon.extend({ + options: { + iconSize: [40, 40] + }, + + initialize: function (datalayer, cluster) { + this.datalayer = datalayer; + this.cluster = cluster; + }, + + createIcon: function () { + var container = L.DomUtil.create('div', 'leaflet-marker-icon marker-cluster'), + div = L.DomUtil.create('div', '', container), + span = L.DomUtil.create('span', '', div), + backgroundColor = this.datalayer.getColor(); + span.textContent = this.cluster.getChildCount(); + div.style.backgroundColor = backgroundColor; + return container; + }, + + computeTextColor: function (el) { + var color, + backgroundColor = this.datalayer.getColor(); + if (this.datalayer.options.cluster && this.datalayer.options.cluster.textColor) { + color = this.datalayer.options.cluster.textColor; + } + if (!color) { + if (typeof _CACHE_COLOR[backgroundColor] === 'undefined') { + color = L.DomUtil.TextColorFromBackgroundColor(el); + _CACHE_COLOR[backgroundColor] = color; + } else { + color = _CACHE_COLOR[backgroundColor]; + } + } + return color; + } + +}); diff --git a/umap/static/umap/js/umap.js b/umap/static/umap/js/umap.js new file mode 100644 index 00000000..5f5cc0c1 --- /dev/null +++ b/umap/static/umap/js/umap.js @@ -0,0 +1,1688 @@ +L.Map.mergeOptions({ + base_layers: null, + overlay_layers: null, + datalayers: [], + center: [4, 50], + zoom: 6, + hash: true, + default_color: 'DarkBlue', + default_smoothFactor: 1.0, + default_opacity: 0.5, + default_fillOpacity: 0.3, + default_stroke: true, + default_fill: true, + default_weight: 3, + default_iconClass: 'Default', + default_zoomTo: 16, + default_popupContentTemplate: '# {name}\n{description}', + default_interactive: true, + default_labelDirection: 'auto', + attributionControl: false, + allowEdit: true, + embedControl: true, + zoomControl: true, + datalayersControl: true, + searchControl: true, + editInOSMControl: false, + editInOSMControlOptions: false, + scaleControl: true, + noControl: false, // Do not render any control. + miniMap: false, + name: '', + description: '', + displayPopupFooter: false, + demoTileInfos: {s: 'a', z: 9, x: 265, y: 181, r: ''}, + licences: [], + licence: '', + enableMarkerDraw: true, + enablePolygonDraw: true, + enablePolylineDraw: true, + limitBounds: {}, + importPresets: [ + // {url: 'http://localhost:8019/en/datalayer/1502/', label: 'Simplified World Countries', format: 'geojson'} + ], + moreControl: true, + captionBar: false, + slideshow: {}, + clickable: true, + easing: true +}); + +L.U.Map.include({ + + HIDDABLE_CONTROLS: ['zoom', 'search', 'fullscreen', 'embed', 'locate', 'measure', 'tilelayers', 'editinosm', 'datalayers'], + + initialize: function (el, geojson) { + + if (geojson.properties && geojson.properties.locale) L.setLocale(geojson.properties.locale); + + // Don't let default autocreation of controls + var zoomControl = typeof geojson.properties.zoomControl !== 'undefined' ? geojson.properties.zoomControl : true; + geojson.properties.zoomControl = false; + var fullscreenControl = typeof geojson.properties.fullscreenControl !== 'undefined' ? geojson.properties.fullscreenControl : true; + geojson.properties.fullscreenControl = false; + L.Util.setBooleanFromQueryString(geojson.properties, 'scrollWheelZoom'); + L.Map.prototype.initialize.call(this, el, geojson.properties); + + this.ui = new L.U.UI(this._container); + this.xhr = new L.U.Xhr(this.ui); + this.xhr.on('dataloding', function (e) { + this.fire('dataloding', e); + }); + this.xhr.on('datalaod', function (e) { + this.fire('datalaod', e); + }); + + this.initLoader(); + this.name = this.options.name; + this.description = this.options.description; + this.demoTileInfos = this.options.demoTileInfos; + if (geojson.geometry) this.options.center = geojson.geometry; + this.options.zoomControl = zoomControl; + this.options.fullscreenControl = fullscreenControl; + L.Util.setBooleanFromQueryString(this.options, 'moreControl'); + L.Util.setBooleanFromQueryString(this.options, 'scaleControl'); + L.Util.setBooleanFromQueryString(this.options, 'miniMap'); + L.Util.setBooleanFromQueryString(this.options, 'allowEdit'); + L.Util.setBooleanFromQueryString(this.options, 'displayDataBrowserOnLoad'); + L.Util.setBooleanFromQueryString(this.options, 'displayCaptionOnLoad'); + L.Util.setBooleanFromQueryString(this.options, 'captionBar'); + for (var i = 0; i < this.HIDDABLE_CONTROLS.length; i++) { + L.Util.setNullableBooleanFromQueryString(this.options, this.HIDDABLE_CONTROLS[i] + 'Control'); + } + this.datalayersOnLoad = L.Util.queryString('datalayers'); + this.options.onLoadPanel = L.Util.queryString('onLoadPanel', this.options.onLoadPanel); + if (this.datalayersOnLoad) this.datalayersOnLoad = this.datalayersOnLoad.toString().split(','); + + if (L.Browser.ielt9) this.options.allowEdit = false; // TODO include ie9 + + var editedFeature = null, + self = this; + try { + Object.defineProperty(this, 'editedFeature', { + get: function () { + return editedFeature; + }, + set: function (feature) { + if (editedFeature && editedFeature !== feature) { + editedFeature.endEdit(); + } + editedFeature = feature; + self.fire('seteditedfeature'); + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + + if (this.options.hash) this.addHash(); + this.initCenter(); + this.handleLimitBounds(); + + this.initTileLayers(this.options.tilelayers); + + // Global storage for retrieving datalayers and features + this.datalayers = {}; + this.datalayers_index = []; + this.dirty_datalayers = []; + this.features_index = {}; + + // Retrocompat + if (this.options.slideshow && this.options.slideshow.delay && this.options.slideshow.active === undefined) this.options.slideshow.active = true; + + this.initControls(); + + // create datalayers + this.initDatalayers(); + + if (this.options.displayCaptionOnLoad) { + // Retrocompat + if (!this.options.onLoadPanel) { + this.options.onLoadPanel = 'caption'; + } + delete this.options.displayCaptionOnLoad; + } + if (this.options.displayDataBrowserOnLoad) { + // Retrocompat + if (!this.options.onLoadPanel) { + this.options.onLoadPanel = 'databrowser'; + } + delete this.options.displayDataBrowserOnLoad; + } + + this.ui.on('panel:closed', function () { + this.invalidateSize({pan: false}); + }, this); + + var isDirty = false; // global status + try { + Object.defineProperty(this, 'isDirty', { + get: function () { + return isDirty || this.dirty_datalayers.length; + }, + set: function (status) { + if (!isDirty && status) self.fire('isdirty'); + isDirty = status; + self.checkDirty(); + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + this.on('baselayerchange', function (e) { + if (this._controls.miniMap) this._controls.miniMap.onMainMapBaseLayerChange(e); + }, this); + + // Creation mode + if (!this.options.umap_id) { + this.isDirty = true; + this.options.name = L._('Untitled map'); + this.options.allowEdit = true; + var datalayer = this.createDataLayer(); + datalayer.connectToMap(); + this.enableEdit(); + var dataUrl = L.Util.queryString('dataUrl', null), + dataFormat = L.Util.queryString('dataFormat', 'geojson'); + if (dataUrl) { + dataUrl = decodeURIComponent(dataUrl); + dataUrl = this.localizeUrl(dataUrl); + dataUrl = this.proxyUrl(dataUrl); + datalayer.importFromUrl(dataUrl, dataFormat); + } + } + + this.help = new L.U.Help(this); + this.slideshow = new L.U.Slideshow(this, this.options.slideshow); + this.permissions = new L.U.MapPermissions(this, this.options.permissions); + this.initCaptionBar(); + if (this.options.allowEdit) { + this.editTools = new L.U.Editable(this); + this.ui.on('panel:closed panel:open', function () { + this.editedFeature = null; + }, this); + this.initEditBar(); + } + this.initShortcuts(); + this.onceDatalayersLoaded(function () { + if (this.options.onLoadPanel === 'databrowser') this.openBrowser(); + else if (this.options.onLoadPanel === 'caption') this.displayCaption(); + }); + this.onceDataLoaded(function () { + const slug = L.Util.queryString('feature'); + if (slug && this.features_index[slug]) this.features_index[slug].view(); + }); + + + window.onbeforeunload = function (e) { + var msg = L._('You have unsaved changes.'); + if (self.isDirty) { + e.returnValue = msg; + return msg; + } + }; + this.backup(); + this.initContextMenu(); + this.on('click contextmenu.show', this.closeInplaceToolbar); + }, + + initControls: function () { + this.helpMenuActions = {}; + this._controls = {}; + + if (this.options.allowEdit && !this.options.noControl) { + new L.U.EditControl(this).addTo(this); + + new L.U.DrawToolbar({map: this}).addTo(this); + + var editActions = [ + L.U.ImportAction, + L.U.EditPropertiesAction, + L.U.ChangeTileLayerAction, + L.U.ManageDatalayersAction, + L.U.UpdateExtentAction, + L.U.UpdatePermsAction + ]; + new L.U.SettingsToolbar({actions: editActions}).addTo(this); + } + this._controls.zoom = new L.Control.Zoom({zoomInTitle: L._('Zoom in'), zoomOutTitle: L._('Zoom out')}); + this._controls.datalayers = new L.U.DataLayersControl(this); + this._controls.locate = new L.U.LocateControl(); + this._controls.fullscreen = new L.Control.Fullscreen({title: {'false': L._('View Fullscreen'), 'true': L._('Exit Fullscreen')}}); + this._controls.search = new L.U.SearchControl(); + this._controls.embed = new L.Control.Embed(this, this.options.embedOptions); + this._controls.tilelayers = new L.U.TileLayerControl(this); + this._controls.editinosm = new L.Control.EditInOSM({ + position: 'topleft', + widgetOptions: {helpText: L._('Open this map extent in a map editor to provide more accurate data to OpenStreetMap')} + }); + this._controls.measure = (new L.MeasureControl()).initHandler(this); + this._controls.more = new L.U.MoreControls(); + this._controls.scale = L.control.scale(); + if (this.options.scrollWheelZoom) this.scrollWheelZoom.enable(); + else this.scrollWheelZoom.disable(); + this.renderControls(); + }, + + renderControls: function () { + L.DomUtil.classIf(document.body, 'umap-caption-bar-enabled', this.options.captionBar || (this.options.slideshow && this.options.slideshow.active)); + L.DomUtil.classIf(document.body, 'umap-slideshow-enabled', this.options.slideshow && this.options.slideshow.active); + for (var i in this._controls) { + this.removeControl(this._controls[i]); + } + if (this.options.noControl) return; + + this._controls.attribution = (new L.U.AttributionControl()).addTo(this); + if (this.options.miniMap && !this.options.noControl) { + this.whenReady(function () { + if (this.selected_tilelayer) { + this._controls.miniMap = new L.Control.MiniMap(this.selected_tilelayer).addTo(this); + this._controls.miniMap._miniMap.invalidateSize(); + } + }); + } + var name, status, control; + for (var i = 0; i < this.HIDDABLE_CONTROLS.length; i++) { + name = this.HIDDABLE_CONTROLS[i]; + status = this.options[name + 'Control']; + if (status === false) continue; + control = this._controls[name]; + control.addTo(this); + if (status === undefined || status === null) L.DomUtil.addClass(control._container, 'display-on-more'); + else L.DomUtil.removeClass(control._container, 'display-on-more'); + } + if (this.options.moreControl) this._controls.more.addTo(this); + if (this.options.scaleControl) this._controls.scale.addTo(this); + }, + + initDatalayers: function () { + var toload = dataToload = seen = this.options.datalayers.length, + self = this, + datalayer; + var loaded = function () { + self.datalayersLoaded = true; + self.fire('datalayersloaded'); + }; + var decrementToLoad = function () { + toload--; + if (toload === 0) loaded(); + }; + var dataLoaded = function () { + self.dataLoaded = true; + self.fire('dataloaded'); + }; + var decrementDataToLoad = function () { + dataToload--; + if (dataToload === 0) dataLoaded(); + }; + for (var j = 0; j < this.options.datalayers.length; j++) { + datalayer = this.createDataLayer(this.options.datalayers[j]); + if (datalayer.displayedOnLoad()) datalayer.onceLoaded(decrementToLoad); + else decrementToLoad(); + if (datalayer.displayedOnLoad()) datalayer.onceDataLoaded(decrementDataToLoad); + else decrementDataToLoad(); + } + if (seen === 0) loaded() && dataLoaded(); // no datalayer + }, + + indexDatalayers: function () { + var panes = this.getPane('overlayPane'), + pane; + this.datalayers_index = []; + for (var i = 0; i < panes.children.length; i++) { + pane = panes.children[i]; + if (!pane.dataset || !pane.dataset.id) continue; + this.datalayers_index.push(this.datalayers[pane.dataset.id]); + } + this.updateDatalayersControl(); + }, + + ensurePanesOrder: function () { + this.eachDataLayer(function (datalayer) { + datalayer.bringToTop(); + }); + }, + + onceDatalayersLoaded: function (callback, context) { + // Once datalayers **metadata** have been loaded + if (this.datalayersLoaded) { + callback.call(context || this, this); + } else { + this.once('datalayersloaded', callback, context); + } + return this; + }, + + onceDataLoaded: function (callback, context) { + // Once datalayers **data** have been loaded + if (this.dataLoaded) { + callback.call(context || this, this); + } else { + this.once('dataloaded', callback, context); + } + return this; + }, + + updateDatalayersControl: function () { + if (this._controls.datalayers) this._controls.datalayers.update(); + }, + + backupOptions: function () { + this._backupOptions = L.extend({}, this.options); + this._backupOptions.tilelayer = L.extend({}, this.options.tilelayer); + this._backupOptions.limitBounds = L.extend({}, this.options.limitBounds); + this._backupOptions.permissions = L.extend({}, this.permissions.options); + }, + + resetOptions: function () { + this.options = L.extend({}, this._backupOptions); + this.options.tilelayer = L.extend({}, this._backupOptions.tilelayer); + this.permissions.options = L.extend({}, this._backupOptions.permissions); + }, + + initShortcuts: function () { + var globalShortcuts = function (e) { + var key = e.keyCode, + modifierKey = e.ctrlKey || e.metaKey; + + /* Generic shortcuts */ + if (key === L.U.Keys.F && modifierKey) { + L.DomEvent.stop(e); + this.search(); + } else if (e.keyCode === L.U.Keys.ESC) { + if (this.help.visible()) this.help.hide(); + else this.ui.closePanel(); + } + + if (!this.options.allowEdit) return; + + /* Edit mode only shortcuts */ + if (key === L.U.Keys.E && modifierKey && !this.editEnabled) { + L.DomEvent.stop(e); + this.enableEdit(); + } else if (key === L.U.Keys.E && modifierKey && this.editEnabled && !this.isDirty) { + L.DomEvent.stop(e); + this.disableEdit(); + this.ui.closePanel(); + } + if (key === L.U.Keys.S && modifierKey) { + L.DomEvent.stop(e); + if (this.isDirty) { + this.save(); + } + } + if (key === L.U.Keys.Z && modifierKey && this.isDirty) { + L.DomEvent.stop(e); + this.askForReset(); + } + if (key === L.U.Keys.M && modifierKey && this.editEnabled) { + L.DomEvent.stop(e); + this.editTools.startMarker(); + } + if (key === L.U.Keys.P && modifierKey && this.editEnabled) { + L.DomEvent.stop(e); + this.editTools.startPolygon(); + } + if (key === L.U.Keys.L && modifierKey && this.editEnabled) { + L.DomEvent.stop(e); + this.editTools.startPolyline(); + } + if (key === L.U.Keys.I && modifierKey && this.editEnabled) { + L.DomEvent.stop(e); + this.importPanel(); + } + if (key === L.U.Keys.H && modifierKey && this.editEnabled) { + L.DomEvent.stop(e); + this.help.show('edit'); + } + if (e.keyCode === L.U.Keys.ESC) { + if (this.editEnabled) this.editTools.stopDrawing(); + if (this.measureTools.enabled()) this.measureTools.stopDrawing(); + } + }; + L.DomEvent.addListener(document, 'keydown', globalShortcuts, this); + }, + + initTileLayers: function () { + this.tilelayers = []; + for(var i in this.options.tilelayers) { + if(this.options.tilelayers.hasOwnProperty(i)) { + this.tilelayers.push(this.createTileLayer(this.options.tilelayers[i])); + if (this.options.tilelayer && this.options.tilelayer.url_template === this.options.tilelayers[i].url_template) { + // Keep control over the displayed attribution for non custom tilelayers + this.options.tilelayer.attribution = this.options.tilelayers[i].attribution; + } + } + } + if (this.options.tilelayer && this.options.tilelayer.url_template && this.options.tilelayer.attribution) { + this.customTilelayer = this.createTileLayer(this.options.tilelayer); + this.selectTileLayer(this.customTilelayer); + } else { + this.selectTileLayer(this.tilelayers[0]); + } + }, + + createTileLayer: function (tilelayer) { + return new L.TileLayer(tilelayer.url_template, tilelayer); + }, + + selectTileLayer: function (tilelayer) { + if (tilelayer === this.selected_tilelayer) { return; } + try { + this.addLayer(tilelayer); + this.fire('baselayerchange', {layer: tilelayer}); + if (this.selected_tilelayer) { + this.removeLayer(this.selected_tilelayer); + } + this.selected_tilelayer = tilelayer; + if (!isNaN(this.selected_tilelayer.options.minZoom) && this.getZoom() < this.selected_tilelayer.options.minZoom) { + this.setZoom(this.selected_tilelayer.options.minZoom); + } + if (!isNaN(this.selected_tilelayer.options.maxZoom) && this.getZoom() > this.selected_tilelayer.options.maxZoom) { + this.setZoom(this.selected_tilelayer.options.maxZoom); + } + } catch (e) { + this.removeLayer(tilelayer); + this.ui.alert({content: L._('Error in the tilelayer URL') + ': ' + tilelayer._url, level: 'error'}); + // Users can put tilelayer URLs by hand, and if they add wrong {variable}, + // Leaflet throw an error, and then the map is no more editable + } + }, + + eachTileLayer: function (method, context) { + var urls = []; + for (var i in this.tilelayers) { + if (this.tilelayers.hasOwnProperty(i)) { + method.call(context, this.tilelayers[i]); + urls.push(this.tilelayers[i]._url); + } + } + if (this.customTilelayer && (Array.prototype.indexOf && urls.indexOf(this.customTilelayer._url) === -1)) { + method.call(context || this, this.customTilelayer); + } + }, + + initCenter: function () { + if (this.options.hash && this._hash.parseHash(location.hash)) { + // FIXME An invalid hash will cause the load to fail + this._hash.update(); + } + else if(this.options.locate && this.options.locate.setView) { + // Prevent from making two setViews at init + // which is not very fluid... + this.locate(this.options.locate); + } + else { + this.options.center = this.latLng(this.options.center); + this.setView(this.options.center, this.options.zoom); + } + }, + + latLng: function(a, b, c) { + // manage geojson case and call original method + if (!(a instanceof L.LatLng) && a.coordinates) { + // Guess it's a geojson + a = [a.coordinates[1], a.coordinates[0]]; + } + return L.latLng(a, b, c); + }, + + handleLimitBounds: function () { + var south = parseFloat(this.options.limitBounds.south), + west = parseFloat(this.options.limitBounds.west), + north = parseFloat(this.options.limitBounds.north), + east = parseFloat(this.options.limitBounds.east); + if (!isNaN(south) && !isNaN(west) && !isNaN(north) && !isNaN(east)) { + var bounds = L.latLngBounds([[south, west], [north, east]]); + this.options.minZoom = this.getBoundsZoom(bounds, false); + try { + this.setMaxBounds(bounds); + } catch (e) { + // Unusable bounds, like -2 -2 -2 -2? + console.error('Error limiting bounds', e); + } + } else { + this.options.minZoom = 0; + this.setMaxBounds(); + } + }, + + setMaxBounds: function (bounds) { + // Hack. Remove me when fix is released: + // https://github.com/Leaflet/Leaflet/pull/4494 + bounds = L.latLngBounds(bounds); + + if (!bounds.isValid()) { + this.options.maxBounds = null; + return this.off('moveend', this._panInsideMaxBounds); + } + return L.Map.prototype.setMaxBounds.call(this, bounds); + }, + + createDataLayer: function(datalayer) { + datalayer = datalayer || {name: L._('Layer') + ' ' + (this.datalayers_index.length + 1)}; + return new L.U.DataLayer(this, datalayer); + }, + + getDefaultOption: function (option) { + return this.options['default_' + option]; + }, + + getOption: function (option) { + if (L.Util.usableOption(this.options, option)) return this.options[option]; + return this.getDefaultOption(option); + }, + + updateExtent: function() { + this.options.center = this.getCenter(); + this.options.zoom = this.getZoom(); + this.isDirty = true; + this.ui.alert({content: L._('The zoom and center have been setted.'), 'level': 'info'}); + }, + + updateTileLayers: function () { + var self = this, + callback = function (tilelayer) { + self.options.tilelayer = tilelayer.toJSON(); + self.isDirty = true; + }; + if (this._controls.tilelayers) this._controls.tilelayers.openSwitcher({callback: callback, className: 'dark'}); + }, + + manageDatalayers: function () { + if (this._controls.datalayers) this._controls.datalayers.openPanel(); + }, + + renderShareBox: function () { + var container = L.DomUtil.create('div', 'umap-share'), + embedTitle = L.DomUtil.add('h4', '', container, L._('Embed the map')), + iframe = L.DomUtil.create('textarea', 'umap-share-iframe', container), + option; + var UIFields = [ + ['dimensions.width', {handler: 'Input', label: L._('width')}], + ['dimensions.height', {handler: 'Input', label: L._('height')}], + ['options.includeFullScreenLink', {handler: 'Switch', label: L._('Include full screen link?')}], + ['options.currentView', {handler: 'Switch', label: L._('Current view instead of default map view?')}], + ['options.keepCurrentDatalayers', {handler: 'Switch', label: L._('Keep current visible layers')}], + ['options.viewCurrentFeature', {handler: 'Switch', label: L._('Open current feature on load')}], + 'queryString.moreControl', + 'queryString.scrollWheelZoom', + 'queryString.miniMap', + 'queryString.scaleControl', + 'queryString.onLoadPanel', + 'queryString.captionBar' + ]; + for (var i = 0; i < this.HIDDABLE_CONTROLS.length; i++) { + UIFields.push('queryString.' + this.HIDDABLE_CONTROLS[i] + 'Control'); + } + var iframeExporter = new L.U.IframeExporter(this); + var buildIframeCode = function () { + iframe.innerHTML = iframeExporter.build(); + }; + buildIframeCode(); + var builder = new L.U.FormBuilder(iframeExporter, UIFields, { + callback: buildIframeCode + }); + var iframeOptions = L.DomUtil.createFieldset(container, L._('Iframe export options')); + iframeOptions.appendChild(builder.build()); + if (this.options.shortUrl) { + L.DomUtil.create('hr', '', container); + L.DomUtil.add('h4', '', container, L._('Short URL')); + var shortUrl = L.DomUtil.create('input', 'umap-short-url', container); + shortUrl.type = 'text'; + shortUrl.value = this.options.shortUrl; + } + L.DomUtil.create('hr', '', container); + L.DomUtil.add('h4', '', container, L._('Download data')); + var typeInput = L.DomUtil.create('select', '', container); + typeInput.name = 'format'; + var exportCaveat = L.DomUtil.add('small', 'help-text', container, L._('Only visible features will be downloaded.')); + exportCaveat.id = 'export_caveat_text'; + var toggleCaveat = function () { + if (typeInput.value === 'umap') exportCaveat.style.display = 'none'; + else exportCaveat.style.display = 'inherit'; + } + L.DomEvent.on(typeInput, 'change', toggleCaveat); + var types = { + geojson: { + formatter: function (map) {return JSON.stringify(map.toGeoJSON(), null, 2);}, + ext: '.geojson', + filetype: 'application/json' + }, + gpx: { + formatter: function (map) {return togpx(map.toGeoJSON());}, + ext: '.gpx', + filetype: 'application/xml' + }, + kml: { + formatter: function (map) {return tokml(map.toGeoJSON());}, + ext: '.kml', + filetype: 'application/vnd.google-earth.kml+xml' + }, + umap: { + name: L._('Full map data'), + formatter: function (map) {return map.serialize();}, + ext: '.umap', + filetype: 'application/json', + selected: true + } + }; + for (var key in types) { + if (types.hasOwnProperty(key)) { + option = L.DomUtil.create('option', '', typeInput); + option.value = key; + option.textContent = types[key].name || key; + if (types[key].selected) option.selected = true; + } + } + toggleCaveat(); + var download = L.DomUtil.create('a', 'button', container); + download.textContent = L._('Download data'); + L.DomEvent.on(download, 'click', function () { + var type = types[typeInput.value], + content = type.formatter(this), + name = this.options.name || 'data'; + name = name.replace(/[^a-z0-9]/gi, '_').toLowerCase(); + download.download = name + type.ext; + window.URL = window.URL || window.webkitURL; + var blob = new Blob([content], {type: type.filetype}); + download.href = window.URL.createObjectURL(blob); + }, this); + this.ui.openPanel({data: {html: container}}); + }, + + toGeoJSON: function () { + var features = []; + this.eachDataLayer(function (datalayer) { + if (datalayer.isVisible()) { + features = features.concat(datalayer.featuresToGeoJSON()); + } + }); + var geojson = { + type: 'FeatureCollection', + features: features + }; + return geojson; + }, + + importPanel: function () { + var container = L.DomUtil.create('div', 'umap-upload'), + title = L.DomUtil.create('h4', '', container), + presetBox = L.DomUtil.create('div', 'formbox', container), + presetSelect = L.DomUtil.create('select', '', presetBox), + fileBox = L.DomUtil.create('div', 'formbox', container), + fileInput = L.DomUtil.create('input', '', fileBox), + urlInput = L.DomUtil.create('input', '', container), + rawInput = L.DomUtil.create('textarea', '', container), + typeLabel = L.DomUtil.create('label', '', container), + layerLabel = L.DomUtil.create('label', '', container), + clearLabel = L.DomUtil.create('label', '', container), + submitInput = L.DomUtil.create('input', '', container), + map = this, option, + types = ['geojson', 'csv', 'gpx', 'kml', 'osm', 'georss', 'umap']; + title.textContent = L._('Import data'); + fileInput.type = 'file'; + fileInput.multiple = 'multiple'; + submitInput.type = 'button'; + submitInput.value = L._('Import'); + submitInput.className = 'button'; + typeLabel.textContent = L._('Choose the format of the data to import'); + this.help.button(typeLabel, 'importFormats'); + var typeInput = L.DomUtil.create('select', '', typeLabel); + typeInput.name = 'format'; + layerLabel.textContent = L._('Choose the layer to import in'); + var layerInput = L.DomUtil.create('select', '', layerLabel); + layerInput.name = 'datalayer'; + urlInput.type = 'text'; + urlInput.placeholder = L._('Provide an URL here'); + rawInput.placeholder = L._('Paste your data here'); + clearLabel.textContent = L._('Replace layer content'); + var clearFlag = L.DomUtil.create('input', '', clearLabel); + clearFlag.type = 'checkbox'; + clearFlag.name = 'clear'; + this.eachDataLayerReverse(function (datalayer) { + if (datalayer.isLoaded()) { + var id = L.stamp(datalayer); + option = L.DomUtil.create('option', '', layerInput); + option.value = id; + option.textContent = datalayer.options.name; + } + }); + L.DomUtil.element('option', {value: '', textContent: L._('Import in a new layer')}, layerInput); + L.DomUtil.element('option', {value: '', textContent: L._('Choose the data format')}, typeInput); + for (var i = 0; i < types.length; i++) { + option = L.DomUtil.create('option', '', typeInput); + option.value = option.textContent = types[i]; + } + if (this.options.importPresets.length) { + var noPreset = L.DomUtil.create('option', '', presetSelect); + noPreset.value = noPreset.textContent = L._('Choose a preset'); + for (var j = 0; j < this.options.importPresets.length; j++) { + option = L.DomUtil.create('option', '', presetSelect); + option.value = this.options.importPresets[j].url; + option.textContent = this.options.importPresets[j].label; + } + } else { + presetBox.style.display = 'none'; + } + + var submit = function () { + var type = typeInput.value, + layerId = layerInput[layerInput.selectedIndex].value, + layer; + if (type === 'umap') { + this.once('postsync', function () { + this.setView(this.latLng(this.options.center), this.options.zoom); + }); + } + if (layerId) layer = map.datalayers[layerId]; + if (layer && clearFlag.checked) layer.empty(); + if (fileInput.files.length) { + var file; + for (var i = 0, file; file = fileInput.files[i]; i++) { + type = type || L.Util.detectFileType(file); + if (!type) { + this.ui.alert({content: L._('Unable to detect format of file {filename}', {filename: file.name}), level: 'error'}); + continue; + } + if (type === 'umap') { + this.importFromFile(file, 'umap'); + } else { + var importLayer = layer; + if (!layer) importLayer = this.createDataLayer({name: file.name}); + importLayer.importFromFile(file, type); + } + } + } else { + if (!type) return this.ui.alert({content: L._('Please choose a format'), level: 'error'}); + if (rawInput.value && type === 'umap') { + try { + this.importRaw(rawInput.value, type); + } catch (e) { + this.ui.alert({content: L._('Invalid umap data'), level: 'error'}); + console.error(e); + } + } else { + if (!layer) layer = this.createDataLayer(); + if (rawInput.value) layer.importRaw(rawInput.value, type); + else if (urlInput.value) layer.importFromUrl(urlInput.value, type); + else if (presetSelect.selectedIndex > 0) layer.importFromUrl(presetSelect[presetSelect.selectedIndex].value, type); + } + } + }; + L.DomEvent.on(submitInput, 'click', submit, this); + L.DomEvent.on(fileInput, 'change', function (e) { + var type = '', newType; + for (var i = 0; i < e.target.files.length; i++) { + newType = L.Util.detectFileType(e.target.files[i]); + if (!type && newType) type = newType; + if (type && newType !== type) { + type = ''; + break; + } + } + typeInput.value = type; + }, this); + this.ui.openPanel({data: {html: container}, className: 'dark'}); + }, + + importRaw: function(rawData) { + var importedData = JSON.parse(rawData); + + var mustReindex = false; + + for (var i = 0; i < this.editableOptions.length; i++) { + var option = this.editableOptions[i]; + if (typeof importedData.properties[option] !== 'undefined') { + this.options[option] = importedData.properties[option]; + if (option === 'sortKey') mustReindex = true; + } + } + + if (importedData.geometry) this.options.center = this.latLng(importedData.geometry); + var self = this; + importedData.layers.forEach( function (geojson) { + var dataLayer = self.createDataLayer(); + dataLayer.fromUmapGeoJSON(geojson); + }); + + this.initTileLayers(); + this.renderControls(); + this.handleLimitBounds(); + this.eachDataLayer(function (datalayer) { + if (mustReindex) datalayer.reindex(); + datalayer.redraw(); + }); + this.fire('postsync'); + this.isDirty = true; + }, + + importFromFile: function (file) { + var reader = new FileReader(); + reader.readAsText(file); + var self = this; + reader.onload = function (e) { + var rawData = e.target.result; + try { + self.importRaw(rawData); + } catch (e) { + console.error('Error importing data', e); + self.ui.alert({content: L._('Invalid umap data in {filename}', {filename: file.name}), level: 'error'}); + } + }; + }, + + openBrowser: function () { + this.onceDatalayersLoaded(function () { + this._openBrowser(); + }); + }, + + displayCaption: function () { + var container = L.DomUtil.create('div', 'umap-caption'), + title = L.DomUtil.create('h3', '', container); + title.textContent = this.options.name; + this.permissions.addOwnerLink('h5', container); + if (this.options.description) { + var description = L.DomUtil.create('div', 'umap-map-description', container); + description.innerHTML = L.Util.toHTML(this.options.description); + } + var datalayerContainer = L.DomUtil.create('div', 'datalayer-container', container); + this.eachVisibleDataLayer(function (datalayer) { + var p = L.DomUtil.create('p', '', datalayerContainer), + color = L.DomUtil.create('span', 'datalayer-color', p), + headline = L.DomUtil.create('strong', '', p), + description = L.DomUtil.create('span', '', p); + datalayer.onceLoaded(function () { + color.style.backgroundColor = this.getColor(); + if (datalayer.options.description) { + description.innerHTML = L.Util.toHTML(datalayer.options.description); + } + }); + datalayer.renderToolbox(headline); + L.DomUtil.add('span', '', headline, datalayer.options.name + ' '); + }); + var creditsContainer = L.DomUtil.create('div', 'credits-container', container), + credits = L.DomUtil.createFieldset(creditsContainer, L._('Credits')); + title = L.DomUtil.add('h5', '', credits, L._('User content credits')); + if (this.options.shortCredit || this.options.longCredit) { + L.DomUtil.add('p', '', credits, L.Util.toHTML(this.options.longCredit || this.options.shortCredit)); + } + if (this.options.licence) { + var licence = L.DomUtil.add('p', '', credits, L._('Map user content has been published under licence') + ' '), + link = L.DomUtil.add('a', '', licence, this.options.licence.name); + link.href = this.options.licence.url; + } else { + L.DomUtil.add('p', '', credits, L._('No licence has been set')); + } + L.DomUtil.create('hr', '', credits); + title = L.DomUtil.create('h5', '', credits); + title.textContent = L._('Map background credits'); + var tilelayerCredit = L.DomUtil.create('p', '', credits), + name = L.DomUtil.create('strong', '', tilelayerCredit), + attribution = L.DomUtil.create('span', '', tilelayerCredit); + name.textContent = this.selected_tilelayer.options.name + ' '; + attribution.innerHTML = this.selected_tilelayer.getAttribution(); + L.DomUtil.create('hr', '', credits); + var umapCredit = L.DomUtil.create('p', '', credits), + urls = { + leaflet: 'http://leafletjs.com', + django: 'https://www.djangoproject.com', + umap: 'http://wiki.openstreetmap.org/wiki/UMap' + }; + umapCredit.innerHTML = L._('Powered by Leaflet and Django, glued by uMap project.', urls); + var browser = L.DomUtil.create('li', ''); + L.DomUtil.create('i', 'umap-icon-16 umap-list', browser); + var label = L.DomUtil.create('span', '', browser); + label.textContent = label.title = L._('Browse data'); + L.DomEvent.on(browser, 'click', this.openBrowser, this); + this.ui.openPanel({data: {html: container}, actions: [browser]}); + }, + + eachDataLayer: function (method, context) { + for (var i = 0; i < this.datalayers_index.length; i++) { + method.call(context, this.datalayers_index[i]); + } + }, + + eachDataLayerReverse: function (method, context, filter) { + for (var i = this.datalayers_index.length - 1; i >= 0; i--) { + if (filter && !filter.call(context, this.datalayers_index[i])) continue; + method.call(context, this.datalayers_index[i]); + } + }, + + eachBrowsableDataLayer: function (method, context) { + this.eachDataLayerReverse(method, context, function (d) { return d.allowBrowse(); }); + }, + + eachVisibleDataLayer: function (method, context) { + this.eachDataLayerReverse(method, context, function (d) { return d.isVisible(); }); + }, + + findDataLayer: function (method, context) { + for (var i = this.datalayers_index.length - 1; i >= 0; i--) { + if (method.call(context, this.datalayers_index[i])) return this.datalayers_index[i]; + } + }, + + backup: function () { + this.backupOptions(); + this._datalayers_index_bk = [].concat(this.datalayers_index); + }, + + reset: function () { + if (this.editTools) this.editTools.stopDrawing(); + this.resetOptions(); + this.datalayers_index = [].concat(this._datalayers_index_bk); + this.dirty_datalayers.slice().forEach(function (datalayer) { + if (datalayer.isDeleted) datalayer.connectToMap(); + datalayer.reset(); + }); + this.ensurePanesOrder(); + this.dirty_datalayers = []; + this.updateDatalayersControl(); + this.initTileLayers(); + this.isDirty = false; + }, + + checkDirty: function () { + L.DomUtil.classIf(this._container, 'umap-is-dirty', this.isDirty); + }, + + addDirtyDatalayer: function (datalayer) { + if (this.dirty_datalayers.indexOf(datalayer) === -1) { + this.dirty_datalayers.push(datalayer); + this.isDirty = true; + } + }, + + removeDirtyDatalayer: function (datalayer) { + if (this.dirty_datalayers.indexOf(datalayer) !== -1) { + this.dirty_datalayers.splice(this.dirty_datalayers.indexOf(datalayer), 1); + this.checkDirty(); + } + }, + + continueSaving: function () { + if (this.dirty_datalayers.length) this.dirty_datalayers[0].save(); + else this.fire('saved'); + }, + + editableOptions: [ + 'zoom', + 'scrollWheelZoom', + 'scaleControl', + 'moreControl', + 'miniMap', + 'displayPopupFooter', + 'onLoadPanel', + 'tilelayersControl', + 'name', + 'description', + 'licence', + 'tilelayer', + 'limitBounds', + 'color', + 'iconClass', + 'iconUrl', + 'smoothFactor', + 'opacity', + 'weight', + 'fill', + 'fillColor', + 'fillOpacity', + 'dashArray', + 'popupShape', + 'popupTemplate', + 'popupContentTemplate', + 'zoomTo', + 'captionBar', + 'slideshow', + 'sortKey', + 'labelKey', + 'filterKey', + 'slugKey', + 'showLabel', + 'labelDirection', + 'labelInteractive', + 'shortCredit', + 'longCredit', + 'zoomControl', + 'datalayersControl', + 'searchControl', + 'locateControl', + 'fullscreenControl', + 'editinosmControl', + 'embedControl', + 'measureControl', + 'tilelayersControl', + 'easing' + ], + + exportOptions: function () { + var properties = {}; + for (var i = this.editableOptions.length - 1; i >= 0; i--) { + if (typeof this.options[this.editableOptions[i]] !== 'undefined') { + properties[this.editableOptions[i]] = this.options[this.editableOptions[i]]; + } + } + return properties; + }, + + serialize: function () { + var umapfile = { + type: 'umap', + uri: window.location.href, + properties: this.exportOptions(), + geometry: this.geometry(), + layers: [] + }; + + this.eachDataLayer(function (datalayer) { + umapfile.layers.push(datalayer.umapGeoJSON()); + }); + + return JSON.stringify(umapfile, null, 2); + }, + + save: function () { + if (!this.isDirty) return; + var geojson = { + type: 'Feature', + geometry: this.geometry(), + properties: this.exportOptions() + }; + this.backup(); + var formData = new FormData(); + formData.append('name', this.options.name); + formData.append('center', JSON.stringify(this.geometry())); + formData.append('settings', JSON.stringify(geojson)); + this.post(this.getSaveUrl(), { + data: formData, + context: this, + callback: function (data) { + var duration = 3000; + if (!this.options.umap_id) { + duration = 100000; // we want a longer message at map creation (TODO UGLY) + this.options.umap_id = data.id; + this.permissions.setOptions(data.permissions) + } else if (!this.permissions.isDirty) { + // Do not override local changes to permissions, + // but update in case some other editors changed them in the meantime. + this.permissions.setOptions(data.permissions) + } + // Update URL in case the name has changed. + if (history && history.pushState) history.pushState({}, this.options.name, data.url); + else window.location = data.url; + if (data.info) msg = data.info; + else msg = L._('Map has been saved!'); + this.once('saved', function () { + this.isDirty = false; + this.ui.alert({content: msg, level: 'info', duration: duration}); + }); + this.ui.closePanel(); + this.permissions.save(); + } + }); + }, + + getEditUrl: function() { + return L.Util.template(this.options.urls.map_update, {'map_id': this.options.umap_id}); + }, + + getCreateUrl: function() { + return L.Util.template(this.options.urls.map_create); + }, + + getSaveUrl: function () { + return (this.options.umap_id && this.getEditUrl()) || this.getCreateUrl(); + }, + + geometry: function() { + /* Return a GeoJSON geometry Object */ + var latlng = this.latLng(this.options.center || this.getCenter()); + return { + type: 'Point', + coordinates: [ + latlng.lng, + latlng.lat + ] + }; + }, + + defaultDataLayer: function () { + var datalayer, fallback; + datalayer = this.lastUsedDataLayer; + if (datalayer && !datalayer.isRemoteLayer() && datalayer.canBrowse() && datalayer.isVisible()) { + return datalayer; + } + datalayer = this.findDataLayer(function (datalayer) { + if (!datalayer.isRemoteLayer() && datalayer.canBrowse()) { + fallback = datalayer; + if (datalayer.isVisible()) return true; + } + }); + if (datalayer) return datalayer; + if (fallback) { + // No datalayer visible, let's force one + this.addLayer(fallback.layer); + return fallback; + } + return this.createDataLayer(); + }, + + getDataLayerByUmapId: function (umap_id) { + return this.findDataLayer(function (d) { return d.umap_id == umap_id; }); + }, + + edit: function () { + if(!this.editEnabled) return; + var container = L.DomUtil.create('div','umap-edit-container'), + metadataFields = [ + 'options.name', + 'options.description' + ], + title = L.DomUtil.create('h4', '', container); + title.textContent = L._('Edit map properties'); + var builder = new L.U.FormBuilder(this, metadataFields); + var form = builder.build(); + container.appendChild(form); + var UIFields = []; + for (var i = 0; i < this.HIDDABLE_CONTROLS.length; i++) { + UIFields.push('options.' + this.HIDDABLE_CONTROLS[i] + 'Control'); + } + UIFields = UIFields.concat([ + 'options.moreControl', + 'options.scrollWheelZoom', + 'options.miniMap', + 'options.scaleControl', + 'options.onLoadPanel', + 'options.displayPopupFooter', + 'options.captionBar' + ]); + builder = new L.U.FormBuilder(this, UIFields, { + callback: this.renderControls, + callbackContext: this + }); + var controlsOptions = L.DomUtil.createFieldset(container, L._('User interface options')); + controlsOptions.appendChild(builder.build()); + + var shapeOptions = [ + 'options.color', + 'options.iconClass', + 'options.iconUrl', + 'options.opacity', + 'options.weight', + 'options.fill', + 'options.fillColor', + 'options.fillOpacity' + ]; + + builder = new L.U.FormBuilder(this, shapeOptions, { + callback: function (e) { + this.eachDataLayer(function (datalayer) { + datalayer.redraw(); + }); + } + }); + var defaultShapeProperties = L.DomUtil.createFieldset(container, L._('Default shape properties')); + defaultShapeProperties.appendChild(builder.build()); + + var optionsFields = [ + 'options.smoothFactor', + 'options.dashArray', + 'options.zoomTo', + ['options.easing', {handler: 'Switch', label: L._('Advanced transition')}], + 'options.labelKey', + ['options.sortKey', {handler: 'BlurInput', helpEntries: 'sortKey', placeholder: L._('Default: name'), label: L._('Sort key'), inheritable: true}], + ['options.filterKey', {handler: 'Input', helpEntries: 'filterKey', placeholder: L._('Default: name'), label: L._('Filter keys'), inheritable: true}], + ['options.slugKey', {handler: 'BlurInput', helpEntries: 'slugKey', placeholder: L._('Default: name'), label: L._('Feature identifier key')}] + ]; + + builder = new L.U.FormBuilder(this, optionsFields, { + callback: function (e) { + this.eachDataLayer(function (datalayer) { + if (e.helper.field === 'options.sortKey') datalayer.reindex(); + datalayer.redraw(); + }); + } + }); + var defaultProperties = L.DomUtil.createFieldset(container, L._('Default properties')); + defaultProperties.appendChild(builder.build()); + + var popupFields = [ + 'options.popupShape', + 'options.popupTemplate', + 'options.popupContentTemplate', + 'options.showLabel', + 'options.labelDirection', + 'options.labelInteractive' + ]; + builder = new L.U.FormBuilder(this, popupFields, { + callback: function (e) { + if (e.helper.field === 'options.popupTemplate' || e.helper.field === 'options.popupContentTemplate' || e.helper.field === 'options.popupShape') return; + this.eachDataLayer(function (datalayer) { + datalayer.redraw(); + }) + } + }); + var popupFieldset = L.DomUtil.createFieldset(container, L._('Default interaction options')); + popupFieldset.appendChild(builder.build()); + + if (!L.Util.isObject(this.options.tilelayer)) { + this.options.tilelayer = {}; + } + var tilelayerFields = [ + ['options.tilelayer.name', {handler: 'BlurInput', placeholder: L._('display name')}], + ['options.tilelayer.url_template', {handler: 'BlurInput', helpText: L._('Supported scheme') + ': http://{s}.domain.com/{z}/{x}/{y}.png', placeholder: 'url'}], + ['options.tilelayer.maxZoom', {handler: 'BlurIntInput', placeholder: L._('max zoom')}], + ['options.tilelayer.minZoom', {handler: 'BlurIntInput', placeholder: L._('min zoom')}], + ['options.tilelayer.attribution', {handler: 'BlurInput', placeholder: L._('attribution')}], + ['options.tilelayer.tms', {handler: 'Switch', label: L._('TMS format')}] + ]; + var customTilelayer = L.DomUtil.createFieldset(container, L._('Custom background')); + builder = new L.U.FormBuilder(this, tilelayerFields, { + callback: this.initTileLayers, + callbackContext: this + }); + customTilelayer.appendChild(builder.build()); + + if (!L.Util.isObject(this.options.limitBounds)) { + this.options.limitBounds = {}; + } + var limitBounds = L.DomUtil.createFieldset(container, L._('Limit bounds')); + var boundsFields = [ + ['options.limitBounds.south', {handler: 'BlurFloatInput', placeholder: L._('max South')}], + ['options.limitBounds.west', {handler: 'BlurFloatInput', placeholder: L._('max West')}], + ['options.limitBounds.north', {handler: 'BlurFloatInput', placeholder: L._('max North')}], + ['options.limitBounds.east', {handler: 'BlurFloatInput', placeholder: L._('max East')}] + ]; + var boundsBuilder = new L.U.FormBuilder(this, boundsFields, { + callback: this.handleLimitBounds, + callbackContext: this + }); + limitBounds.appendChild(boundsBuilder.build()); + var boundsButtons = L.DomUtil.create('div', 'button-bar half', limitBounds); + var setCurrentButton = L.DomUtil.add('a', 'button', boundsButtons, L._('Use current bounds')); + setCurrentButton.href = '#'; + L.DomEvent.on(setCurrentButton, 'click', function () { + var bounds = this.getBounds(); + this.options.limitBounds.south = L.Util.formatNum(bounds.getSouth()); + this.options.limitBounds.west = L.Util.formatNum(bounds.getWest()); + this.options.limitBounds.north = L.Util.formatNum(bounds.getNorth()); + this.options.limitBounds.east = L.Util.formatNum(bounds.getEast()); + boundsBuilder.fetchAll(); + this.isDirty = true; + this.handleLimitBounds(); + }, this); + var emptyBounds = L.DomUtil.add('a', 'button', boundsButtons, L._('Empty')); + emptyBounds.href = '#'; + L.DomEvent.on(emptyBounds, 'click', function () { + this.options.limitBounds.south = null; + this.options.limitBounds.west = null; + this.options.limitBounds.north = null; + this.options.limitBounds.east = null; + boundsBuilder.fetchAll(); + this.isDirty = true; + this.handleLimitBounds(); + }, this); + + var slideshow = L.DomUtil.createFieldset(container, L._('Slideshow')); + var slideshowFields = [ + ['options.slideshow.active', {handler: 'Switch', label: L._('Activate slideshow mode')}], + ['options.slideshow.delay', {handler: 'SlideshowDelay', helpText: L._('Delay between two transitions when in play mode')}], + ['options.slideshow.easing', {handler: 'Switch', label: L._('Smart transitions'), inheritable: true}], + ['options.slideshow.autoplay', {handler: 'Switch', label: L._('Autostart when map is loaded')}] + ]; + var slideshowHandler = function () { + this.slideshow.setOptions(this.options.slideshow); + this.renderControls(); + }; + var slideshowBuilder = new L.U.FormBuilder(this, slideshowFields, { + callback: slideshowHandler, + callbackContext: this + }); + slideshow.appendChild(slideshowBuilder.build()); + + var credits = L.DomUtil.createFieldset(container, L._('Credits')); + var creditsFields = [ + ['options.licence', {handler: 'LicenceChooser', label: L._('licence')}], + ['options.shortCredit', {handler: 'Input', label: L._('Short credits'), helpEntries: ['shortCredit', 'textFormatting']}], + ['options.longCredit', {handler: 'Textarea', label: L._('Long credits'), helpEntries: ['longCredit', 'textFormatting']}] + ]; + var creditsBuilder = new L.U.FormBuilder(this, creditsFields, { + callback: function () {this._controls.attribution._update();}, + callbackContext: this + }); + credits.appendChild(creditsBuilder.build()); + + var advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions')); + var advancedButtons = L.DomUtil.create('div', 'button-bar half', advancedActions); + var del = L.DomUtil.create('a', 'button umap-delete', advancedButtons); + del.href = '#'; + del.textContent = L._('Delete'); + L.DomEvent + .on(del, 'click', L.DomEvent.stop) + .on(del, 'click', this.del, this); + var clone = L.DomUtil.create('a', 'button umap-clone', advancedButtons); + clone.href = '#'; + clone.textContent = L._('Clone'); + clone.title = L._('Clone this map'); + L.DomEvent + .on(clone, 'click', L.DomEvent.stop) + .on(clone, 'click', this.clone, this); + var empty = L.DomUtil.create('a', 'button umap-empty', advancedButtons); + empty.href = '#'; + empty.textContent = L._('Empty'); + empty.title = L._('Delete all layers'); + L.DomEvent + .on(empty, 'click', L.DomEvent.stop) + .on(empty, 'click', this.empty, this); + var download = L.DomUtil.create('a', 'button umap-download', advancedButtons); + download.href = '#'; + download.textContent = L._('Download'); + download.title = L._('Open download panel'); + L.DomEvent + .on(download, 'click', L.DomEvent.stop) + .on(download, 'click', this.renderShareBox, this); + this.ui.openPanel({data: {html: container}, className: 'dark'}); + }, + + enableEdit: function() { + L.DomUtil.addClass(document.body, 'umap-edit-enabled'); + this.editEnabled = true; + this.fire('edit:enabled'); + }, + + disableEdit: function() { + if (this.isDirty) return; + L.DomUtil.removeClass(document.body, 'umap-edit-enabled'); + this.editedFeature = null; + this.editEnabled = false; + this.fire('edit:disabled'); + }, + + getDisplayName: function () { + return this.options.name || L._('Untitled map'); + }, + + initCaptionBar: function () { + var container = L.DomUtil.create('div', 'umap-caption-bar', this._controlContainer), + name = L.DomUtil.create('h3', '', container); + L.DomEvent.disableClickPropagation(container); + this.permissions.addOwnerLink('span', container); + var about = L.DomUtil.add('a', 'umap-about-link', container, ' — ' + L._('About')); + about.href = '#'; + L.DomEvent.on(about, 'click', this.displayCaption, this); + var browser = L.DomUtil.add('a', 'umap-open-browser-link', container, ' | ' + L._('Browse data')); + browser.href = '#'; + L.DomEvent.on(browser, 'click', L.DomEvent.stop) + .on(browser, 'click', this.openBrowser, this); + var setName = function () { + name.textContent = this.getDisplayName(); + }; + L.bind(setName, this)(); + this.on('postsync', L.bind(setName, this)); + this.onceDatalayersLoaded(function () { + this.slideshow.renderToolbox(container); + }); + }, + + initEditBar: function () { + var container = L.DomUtil.create('div', 'umap-main-edit-toolbox with-transition dark', this._controlContainer), + title = L.DomUtil.add('h3', '', container, L._('Editing') + ' '), + name = L.DomUtil.create('a', 'umap-click-to-edit', title), + setName = function () { + name.textContent = this.getDisplayName(); + }; + L.bind(setName, this)(); + L.DomEvent.on(name, 'click', this.edit, this); + this.on('postsync', L.bind(setName, this)); + this.help.button(title, 'edit'); + var save = L.DomUtil.create('a', 'leaflet-control-edit-save button', container); + save.href = '#'; + save.title = L._('Save current edits') + ' (Ctrl+S)'; + save.textContent = L._('Save'); + var cancel = L.DomUtil.create('a', 'leaflet-control-edit-cancel button', container); + cancel.href = '#'; + cancel.title = L._('Cancel edits'); + cancel.textContent = L._('Cancel'); + var disable = L.DomUtil.create('a', 'leaflet-control-edit-disable', container); + disable.href = '#'; + disable.title = disable.textContent = L._('Disable editing'); + + + L.DomEvent + .addListener(disable, 'click', L.DomEvent.stop) + .addListener(disable, 'click', function (e) { + this.disableEdit(e); + this.ui.closePanel(); + }, this); + + L.DomEvent + .addListener(save, 'click', L.DomEvent.stop) + .addListener(save, 'click', this.save, this); + + L.DomEvent + .addListener(cancel, 'click', L.DomEvent.stop) + .addListener(cancel, 'click', this.askForReset, this); + }, + + askForReset: function (e) { + if (!confirm(L._('Are you sure you want to cancel your changes?'))) return; + this.reset(); + this.disableEdit(e); + this.ui.closePanel(); + }, + + startMarker: function () { + return this.editTools.startMarker(); + }, + + startPolyline: function () { + return this.editTools.startPolyline(); + }, + + startPolygon: function () { + return this.editTools.startPolygon(); + }, + + del: function () { + if (confirm(L._('Are you sure you want to delete this map?'))) { + var url = L.Util.template(this.options.urls.map_delete, {'map_id': this.options.umap_id}); + this.post(url); + } + }, + + clone: function () { + if (confirm(L._('Are you sure you want to clone this map and all its datalayers?'))) { + var url = L.Util.template(this.options.urls.map_clone, {'map_id': this.options.umap_id}); + this.post(url); + } + }, + + empty: function () { + this.eachDataLayerReverse(function (datalayer) { + datalayer._delete(); + }); + }, + + initLoader: function () { + this.loader = new L.Control.Loading(); + this.loader.onAdd(this); + }, + + post: function (url, options) { + options = options || {}; + options.listener = this; + this.xhr.post(url, options); + }, + + get: function (url, options) { + options = options || {}; + options.listener = this; + this.xhr.get(url, options); + }, + + ajax: function (options) { + options.listener = this; + this.xhr._ajax(options); + }, + + initContextMenu: function () { + this.contextmenu = new L.U.ContextMenu(this); + this.contextmenu.enable(); + }, + + setContextMenuItems: function (e) { + var items = []; + if (this._zoom !== this.getMaxZoom()) { + items.push({ + text: L._('Zoom in'), + callback: function () {this.zoomIn();} + }); + } + if (this._zoom !== this.getMinZoom()) { + items.push({ + text: L._('Zoom out'), + callback: function () {this.zoomOut();} + }); + } + if (e && e.relatedTarget) { + if (e.relatedTarget.getContextMenuItems) { + items = items.concat(e.relatedTarget.getContextMenuItems(e)); + } + } + if (this.options.allowEdit) { + items.push('-'); + if (this.editEnabled) { + if (!this.isDirty) { + items.push({ + text: L._('Stop editing') + ' (Ctrl+E)', + callback: this.disableEdit + }); + } + if (this.options.enableMarkerDraw) { + items.push( + { + text: L._('Draw a marker') + ' (Ctrl+M)', + callback: this.startMarker, + context: this + }); + } + if (this.options.enablePolylineDraw) { + items.push( + { + text: L._('Draw a polygon') + ' (Ctrl+P)', + callback: this.startPolygon, + context: this + }); + } + if (this.options.enablePolygonDraw) { + items.push( + { + text: L._('Draw a line') + ' (Ctrl+L)', + callback: this.startPolyline, + context: this + }); + } + items.push('-'); + items.push({ + text: L._('Help'), + callback: function () { this.help.show('edit');} + }); + } else { + items.push({ + text: L._('Start editing') + ' (Ctrl+E)', + callback: this.enableEdit + }); + } + } + items.push('-', + { + text: L._('Browse data'), + callback: this.openBrowser + }, + { + text: L._('About'), + callback: this.displayCaption + }, + { + text: L._('Search location'), + callback: this.search + } + ); + if (this.options.urls.routing) { + items.push('-', + { + text: L._('Directions from here'), + callback: this.openExternalRouting + } + ); + } + this.options.contextmenuItems = items; + }, + + openExternalRouting: function (e) { + var url = this.options.urls.routing; + if (url) { + var params = { + lat: e.latlng.lat, + lng: e.latlng.lng, + locale: L.locale, + zoom: this.getZoom() + }; + window.open(L.Util.template(url, params)); + } + return; + }, + + getMap: function () { + return this; + }, + + getGeoContext: function () { + var context = { + bbox: this.getBounds().toBBoxString(), + north: this.getBounds().getNorthEast().lat, + east: this.getBounds().getNorthEast().lng, + south: this.getBounds().getSouthWest().lat, + west: this.getBounds().getSouthWest().lng, + lat: this.getCenter().lat, + lng: this.getCenter().lng, + zoom: this.getZoom() + }; + context.left = context.west; + context.bottom = context.south; + context.right = context.east; + context.top = context.north; + return context; + }, + + localizeUrl: function (url) { + return L.Util.greedyTemplate(url, this.getGeoContext(), true); + }, + + proxyUrl: function (url, ttl) { + if (this.options.urls.ajax_proxy) { + url = L.Util.greedyTemplate(this.options.urls.ajax_proxy, {url: encodeURIComponent(url), ttl: ttl}); + } + return url; + }, + + closeInplaceToolbar: function () { + var toolbar = this._toolbars[L.Toolbar.Popup._toolbar_class_id]; + if (toolbar) toolbar.remove(); + }, + + search: function () { + if (this._controls.search) this._controls.search.openPanel(this); + }, + + getFilterKeys: function () { + return (this.options.filterKey || this.options.sortKey || 'name').split(','); + } + +}); diff --git a/umap/static/umap/js/umap.layer.js b/umap/static/umap/js/umap.layer.js new file mode 100644 index 00000000..a92faf29 --- /dev/null +++ b/umap/static/umap/js/umap.layer.js @@ -0,0 +1,1077 @@ +L.U.Layer = { + canBrowse: true, + + getFeatures: function () { + return this._layers; + }, + + getEditableOptions: function () {return [];}, + + postUpdate: function () {} + +}; + +L.U.Layer.Default = L.FeatureGroup.extend({ + _type: 'Default', + includes: [L.U.Layer], + + initialize: function (datalayer) { + this.datalayer = datalayer; + L.FeatureGroup.prototype.initialize.call(this); + } + +}); + + +L.U.MarkerCluster = L.MarkerCluster.extend({ +// Custom class so we can call computeTextColor +// when element is already on the DOM. + + _initIcon: function () { + L.MarkerCluster.prototype._initIcon.call(this); + var div = this._icon.querySelector('div'); + // Compute text color only when icon is added to the DOM. + div.style.color = this._iconObj.computeTextColor(div); + } + +}); + +L.U.Layer.Cluster = L.MarkerClusterGroup.extend({ + _type: 'Cluster', + includes: [L.U.Layer], + + initialize: function (datalayer) { + this.datalayer = datalayer; + var options = { + polygonOptions: { + color: this.datalayer.getColor() + }, + iconCreateFunction: function (cluster) { + return new L.U.Icon.Cluster(datalayer, cluster); + } + }; + if (this.datalayer.options.cluster && this.datalayer.options.cluster.radius) { + options.maxClusterRadius = this.datalayer.options.cluster.radius; + } + L.MarkerClusterGroup.prototype.initialize.call(this, options); + this._markerCluster = L.U.MarkerCluster; + }, + + getEditableOptions: function () { + if (!L.Util.isObject(this.datalayer.options.cluster)) { + this.datalayer.options.cluster = {}; + } + return [ + ['options.cluster.radius', {handler: 'BlurIntInput', placeholder: L._('Clustering radius'), helpText: L._('Override clustering radius (default 80)')}], + ['options.cluster.textColor', {handler: 'TextColorPicker', placeholder: L._('Auto'), helpText: L._('Text color for the cluster label')}], + ]; + + }, + + postUpdate: function (e) { + if (e.helper.field === 'options.cluster.radius') { + // No way to reset radius of an already instanciated MarkerClusterGroup... + this.datalayer.resetLayer(true); + return; + } + if (e.helper.field === 'options.color') { + this.options.polygonOptions.color = this.datalayer.getColor(); + } + } + +}); + +L.U.Layer.Heat = L.HeatLayer.extend({ + _type: 'Heat', + includes: [L.U.Layer], + canBrowse: false, + + initialize: function (datalayer) { + this.datalayer = datalayer; + L.HeatLayer.prototype.initialize.call(this, [], this.datalayer.options.heat); + }, + + addLayer: function (layer) { + if (layer instanceof L.Marker) { + var latlng = layer.getLatLng(), alt; + if (this.datalayer.options.heat && this.datalayer.options.heat.intensityProperty) { + alt = parseFloat(layer.properties[this.datalayer.options.heat.intensityProperty || 0]); + latlng = new L.LatLng(latlng.lat, latlng.lng, alt); + } + this.addLatLng(latlng); + } + }, + + clearLayers: function () { + this.setLatLngs([]); + }, + + redraw: function () { + // setlalngs call _redraw through setAnimFrame, thus async, so this + // can ends with race condition if we remove the layer very faslty after. + // Remove me when https://github.com/Leaflet/Leaflet.heat/pull/53 is released. + if (!this._map) return; + L.HeatLayer.prototype.redraw.call(this); + }, + + getFeatures: function () { + return {}; + }, + + getBounds: function () { + return L.latLngBounds(this._latlngs); + }, + + getEditableOptions: function () { + if (!L.Util.isObject(this.datalayer.options.heat)) { + this.datalayer.options.heat = {}; + } + return [ + ['options.heat.radius', {handler: 'BlurIntInput', placeholder: L._('Heatmap radius'), helpText: L._('Override heatmap radius (default 25)')}], + ['options.heat.intensityProperty', {handler: 'BlurInput', placeholder: L._('Heatmap intensity property'), helpText: L._('Optional intensity property for heatmap')}] + ]; + + }, + + postUpdate: function (e) { + if (e.helper.field === 'options.heat.intensityProperty') { + this.datalayer.resetLayer(true); // We need to repopulate the latlngs + return; + } + if (e.helper.field === 'options.heat.radius') { + this.options.radius = this.datalayer.options.heat.radius; + } + this._updateOptions(); + } + +}); + +L.U.DataLayer = L.Evented.extend({ + + options: { + displayOnLoad: true, + browsable: true + }, + + initialize: function (map, data) { + this.map = map; + this._index = Array(); + this._layers = {}; + this._geojson = null; + this._propertiesIndex = []; + + this.parentPane = this.map.getPane('overlayPane'); + this.pane = this.map.createPane('datalayer' + L.stamp(this), this.parentPane); + this.pane.dataset.id = L.stamp(this); + this.renderer = L.svg({pane: this.pane}); + + var isDirty = false, + isDeleted = false, + self = this; + try { + Object.defineProperty(this, 'isDirty', { + get: function () { + return isDirty; + }, + set: function (status) { + if (!isDirty && status) self.fire('dirty'); + isDirty = status; + if (status) { + self.map.addDirtyDatalayer(self); + // A layer can be made dirty by indirect action (like dragging layers) + // we need to have it loaded before saving it. + if (!self.isLoaded()) self.fetchData(); + } else { + self.map.removeDirtyDatalayer(self); + self.isDeleted = false; + } + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + try { + Object.defineProperty(this, 'isDeleted', { + get: function () { + return isDeleted; + }, + set: function (status) { + if (!isDeleted && status) self.fire('deleted'); + isDeleted = status; + if (status) self.isDirty = status; + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + this.setUmapId(data.id); + this.setOptions(data); + this.backupOptions(); + this.connectToMap(); + if (this.displayedOnLoad()) this.show(); + if (!this.umap_id) this.isDirty = true; + this.onceLoaded(function () { + this.map.on('moveend', this.fetchRemoteData, this); + }); + }, + + displayedOnLoad: function () { + return ((this.map.datalayersOnLoad && this.umap_id && this.map.datalayersOnLoad.indexOf(this.umap_id.toString()) !== -1) || + (!this.map.datalayersOnLoad && this.options.displayOnLoad)); + }, + + insertBefore: function (other) { + if (!other) return; + this.parentPane.insertBefore(this.pane, other.pane); + }, + + insertAfter: function (other) { + if (!other) return; + this.parentPane.insertBefore(this.pane, other.pane.nextSibling); + }, + + bringToTop: function () { + this.parentPane.appendChild(this.pane); + }, + + resetLayer: function (force) { + if (this.layer && this.options.type === this.layer._type && !force) return; + var visible = this.isVisible(); + if (this.layer) this.layer.clearLayers(); + // delete this.layer? + if (visible) this.map.removeLayer(this.layer); + var Class = L.U.Layer[this.options.type] || L.U.Layer.Default; + this.layer = new Class(this); + var filterKeys = this.map.getFilterKeys(), + filter = this.map.options.filter; + this.eachLayer(function (layer) { + if (filter && !layer.matchFilter(filter, filterKeys)) return; + this.layer.addLayer(layer); + }); + if (visible) this.map.addLayer(this.layer); + this.propagateRemote(); + }, + + eachLayer: function (method, context) { + for (var i in this._layers) { + method.call(context || this, this._layers[i]); + } + return this; + }, + + eachFeature: function (method, context) { + if (this.layer && this.layer.canBrowse) { + for (var i = 0; i < this._index.length; i++) { + method.call(context || this, this._layers[this._index[i]]); + } + } + return this; + }, + + fetchData: function () { + if (!this.umap_id) return; + this.map.get(this._dataUrl(), { + callback: function (geojson, response) { + this._etag = response.getResponseHeader('ETag'); + this.fromUmapGeoJSON(geojson); + this.backupOptions(); + this.fire('loaded'); + }, + context: this + }); + }, + + fromGeoJSON: function (geojson) { + this.addData(geojson); + this._geojson = geojson; + this.fire('dataloaded'); + this.fire('datachanged'); + }, + + fromUmapGeoJSON: function (geojson) { + if (geojson._storage) geojson._umap_options = geojson._storage; // Retrocompat + if (geojson._umap_options) this.setOptions(geojson._umap_options); + if (this.isRemoteLayer()) this.fetchRemoteData(); + else this.fromGeoJSON(geojson); + this._loaded = true; + }, + + clear: function () { + this.layer.clearLayers(); + this._layers = {}; + this._index = Array(); + if (this._geojson) { + this.backupData(); + this._geojson = null; + } + }, + + backupData: function () { + this._geojson_bk = L.Util.CopyJSON(this._geojson); + }, + + reindex: function () { + var features = []; + this.eachFeature(function (feature) { + features.push(feature); + }); + L.Util.sortFeatures(features, this.map.getOption('sortKey')); + this._index = []; + for (var i = 0; i < features.length; i++) { + this._index.push(L.Util.stamp(features[i])); + } + }, + + fetchRemoteData: function () { + if (!this.isRemoteLayer()) return; + var from = parseInt(this.options.remoteData.from, 10), + to = parseInt(this.options.remoteData.to, 10); + if ((!isNaN(from) && this.map.getZoom() < from) || + (!isNaN(to) && this.map.getZoom() > to) ) { + this.clear(); + return; + } + if (!this.options.remoteData.dynamic && this.hasDataLoaded()) return; + if (!this.isVisible()) return; + var self = this, + url = this.map.localizeUrl(this.options.remoteData.url); + if (this.options.remoteData.proxy) url = this.map.proxyUrl(url, this.options.remoteData.ttl); + this.map.ajax({ + uri: url, + verb: 'GET', + callback: function (raw) { + self.clear(); + self.rawToGeoJSON(raw, self.options.remoteData.format, function (geojson) {self.fromGeoJSON(geojson);}); + } + }); + }, + + onceLoaded: function (callback, context) { + if (this.isLoaded()) callback.call(context || this, this); + else this.once('loaded', callback, context); + return this; + }, + + onceDataLoaded: function (callback, context) { + if (this.hasDataLoaded()) callback.call(context || this, this); + else this.once('dataloaded', callback, context); + return this; + }, + + isLoaded: function () { + return !this.umap_id || this._loaded; + }, + + hasDataLoaded: function () { + return !this.umap_id || this._geojson !== null; + }, + + setUmapId: function (id) { + // Datalayer is null when listening creation form + if (!this.umap_id && id) this.umap_id = id; + }, + + backupOptions: function () { + this._backupOptions = L.Util.CopyJSON(this.options); + }, + + resetOptions: function () { + this.options = L.Util.CopyJSON(this._backupOptions); + }, + + setOptions: function (options) { + this.options = L.Util.CopyJSON(L.U.DataLayer.prototype.options); // Start from fresh. + this.updateOptions(options); + }, + + updateOptions: function (options) { + L.Util.setOptions(this, options); + this.resetLayer(); + }, + + connectToMap: function () { + var id = L.stamp(this); + if (!this.map.datalayers[id]) { + this.map.datalayers[id] = this; + if (L.Util.indexOf(this.map.datalayers_index, this) === -1) this.map.datalayers_index.push(this); + } + this.map.updateDatalayersControl(); + }, + + _dataUrl: function() { + var template = this.map.options.urls.datalayer_view; + return L.Util.template(template, {'pk': this.umap_id, 'map_id': this.map.options.umap_id}); + }, + + isRemoteLayer: function () { + return !!(this.options.remoteData && this.options.remoteData.url && this.options.remoteData.format); + }, + + isClustered: function () { + return this.options.type === 'Cluster'; + }, + + addLayer: function (feature) { + var id = L.stamp(feature); + feature.connectToDataLayer(this); + this._index.push(id); + this._layers[id] = feature; + this.layer.addLayer(feature); + this.indexProperties(feature); + if (this.hasDataLoaded()) this.fire('datachanged'); + this.map.features_index[feature.getSlug()] = feature; + }, + + removeLayer: function (feature) { + var id = L.stamp(feature); + feature.disconnectFromDataLayer(this); + this._index.splice(this._index.indexOf(id), 1); + delete this._layers[id]; + this.layer.removeLayer(feature); + delete this.map.features_index[feature.getSlug()]; + if (this.hasDataLoaded()) this.fire('datachanged'); + }, + + indexProperties: function (feature) { + for (var i in feature.properties) if (typeof feature.properties[i] !== 'object') this.indexProperty(i); + }, + + indexProperty: function (name) { + if (!name) return; + if (name.indexOf('_') === 0) return; + if (L.Util.indexOf(this._propertiesIndex, name) !== -1) return; + this._propertiesIndex.push(name); + }, + + deindexProperty: function (name) { + var idx = this._propertiesIndex.indexOf(name); + if (idx !== -1) this._propertiesIndex.splice(idx, 1); + }, + + addData: function (geojson) { + try { + // Do not fail if remote data is somehow invalid, + // otherwise the layer becomes uneditable. + this.geojsonToFeatures(geojson); + } catch (err) { + console.log("Error with DataLayer", this.umap_id); + console.error(err); + } + }, + + addRawData: function (c, type) { + var self = this; + this.rawToGeoJSON(c, type, function (geojson) { + self.addData(geojson); + }); + }, + + rawToGeoJSON: function (c, type, callback) { + var self = this; + var toDom = function (x) { + return (new DOMParser()).parseFromString(x, 'text/xml'); + }; + + // TODO add a duck typing guessType + if (type === 'csv') { + csv2geojson.csv2geojson(c, { + delimiter: 'auto', + includeLatLon: false + }, function(err, result) { + if (err) { + var message; + if (err.type === 'Error') { + message = err.message; + } else { + message = L._('{count} errors during import: {message}', {count: err.length, message: err[0].message}); + } + self.map.ui.alert({content: message, level: 'error', duration: 10000}); + console.log(err); + } + if (result && result.features.length) { + callback(result); + } + }); + } else if (type === 'gpx') { + callback(toGeoJSON.gpx(toDom(c))); + } else if (type === 'georss') { + callback(GeoRSSToGeoJSON(toDom(c))); + } else if (type === 'kml') { + callback(toGeoJSON.kml(toDom(c))); + } else if (type === 'osm') { + var d; + try { + d = JSON.parse(c); + } catch (e) { + d = toDom(c); + } + callback(osmtogeojson(d, {flatProperties: true})); + } else if (type === 'geojson') { + try { + var gj = JSON.parse(c); + callback(gj); + } catch(err) { + self.map.ui.alert({content: 'Invalid JSON file: ' + err}); + return; + } + } + }, + + geojsonToFeatures: function (geojson) { + if (!geojson) return; + var features = geojson instanceof Array ? geojson : geojson.features, + i, len, latlng, latlngs; + + if (features) { + L.Util.sortFeatures(features, this.map.getOption('sortKey')); + for (i = 0, len = features.length; i < len; i++) { + this.geojsonToFeatures(features[i]); + } + return this; + } + + var geometry = geojson.type === 'Feature' ? geojson.geometry : geojson; + if (!geometry) return; // null geometry is valid geojson. + var coords = geometry.coordinates, + layer, tmp; + + switch (geometry.type) { + case 'Point': + try { + latlng = L.GeoJSON.coordsToLatLng(coords); + } catch (e) { + console.error('Invalid latlng object from', coords); + break; + } + layer = this._pointToLayer(geojson, latlng); + break; + + case 'MultiLineString': + case 'LineString': + latlngs = L.GeoJSON.coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1); + if (!latlngs.length) break; + layer = this._lineToLayer(geojson, latlngs); + break; + + case 'MultiPolygon': + case 'Polygon': + latlngs = L.GeoJSON.coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2); + layer = this._polygonToLayer(geojson, latlngs); + break; + case 'GeometryCollection': + return this.geojsonToFeatures(geometry.geometries); + + default: + this.map.ui.alert({content: L._('Skipping unknown geometry.type: {type}', {type: geometry.type || 'undefined'}), level: 'error'}); + } + if (layer) { + this.addLayer(layer); + return layer; + } + }, + + _pointToLayer: function(geojson, latlng) { + return new L.U.Marker( + this.map, + latlng, + {'geojson': geojson, 'datalayer': this} + ); + }, + + _lineToLayer: function(geojson, latlngs) { + return new L.U.Polyline( + this.map, + latlngs, + {'geojson': geojson, 'datalayer': this, color: null} + ); + }, + + _polygonToLayer: function(geojson, latlngs) { + // Ensure no empty hole + // for (var i = latlngs.length - 1; i > 0; i--) { + // if (!latlngs.slice()[i].length) latlngs.splice(i, 1); + // } + return new L.U.Polygon( + this.map, + latlngs, + {'geojson': geojson, 'datalayer': this} + ); + }, + + importRaw: function (raw, type) { + this.addRawData(raw, type); + this.isDirty = true; + this.zoomTo(); + }, + + importFromFiles: function (files, type) { + for (var i = 0, f; f = files[i]; i++) { + this.importFromFile(f, type); + } + }, + + importFromFile: function (f, type) { + var reader = new FileReader(), + self = this; + type = type || L.Util.detectFileType(f); + reader.readAsText(f); + reader.onload = function (e) { + self.importRaw(e.target.result, type); + }; + }, + + importFromUrl: function (url, type) { + url = this.map.localizeUrl(url); + var self = this; + this.map.xhr._ajax({verb: 'GET', uri: url, callback: function (data) { + self.importRaw(data, type); + }}); + }, + + getEditUrl: function() { + return L.Util.template(this.map.options.urls.datalayer_update, {'map_id': this.map.options.umap_id, 'pk': this.umap_id}); + }, + + getCreateUrl: function() { + return L.Util.template(this.map.options.urls.datalayer_create, {'map_id': this.map.options.umap_id}); + }, + + getSaveUrl: function () { + return (this.umap_id && this.getEditUrl()) || this.getCreateUrl(); + }, + + getColor: function () { + return this.options.color || this.map.getOption('color'); + }, + + getDeleteUrl: function () { + return L.Util.template(this.map.options.urls.datalayer_delete, {'pk': this.umap_id, 'map_id': this.map.options.umap_id}); + + }, + + getVersionsUrl: function () { + return L.Util.template(this.map.options.urls.datalayer_versions, {'pk': this.umap_id, 'map_id': this.map.options.umap_id}); + }, + + getVersionUrl: function (name) { + return L.Util.template(this.map.options.urls.datalayer_version, {'pk': this.umap_id, 'map_id': this.map.options.umap_id, name: name}); + }, + + _delete: function () { + this.isDeleted = true; + this.erase(); + }, + + empty: function () { + if (this.isRemoteLayer()) return; + this.clear(); + this.isDirty = true; + }, + + clone: function () { + var options = L.Util.CopyJSON(this.options); + options.name = L._('Clone of {name}', {name: this.options.name}); + delete options.id; + var geojson = L.Util.CopyJSON(this._geojson), + datalayer = this.map.createDataLayer(options); + datalayer.fromGeoJSON(geojson); + return datalayer; + }, + + erase: function () { + this.hide(); + delete this.map.datalayers[L.stamp(this)]; + this.map.datalayers_index.splice(this.getRank(), 1); + this.parentPane.removeChild(this.pane); + this.map.updateDatalayersControl(); + this.fire('erase'); + this._leaflet_events_bk = this._leaflet_events; + this.off(); + this.clear(); + delete this._loaded; + }, + + reset: function () { + if (!this.umap_id) this.erase(); + + this.resetOptions(); + this.parentPane.appendChild(this.pane); + if (this._leaflet_events_bk && !this._leaflet_events) { + this._leaflet_events = this._leaflet_events_bk; + } + this.clear(); + this.hide(); + if (this.isRemoteLayer()) this.fetchRemoteData(); + else if (this._geojson_bk) this.fromGeoJSON(this._geojson_bk); + this._loaded = true; + this.show(); + this.isDirty = false; + }, + + redraw: function () { + this.hide(); + this.show(); + }, + + edit: function () { + if(!this.map.editEnabled || !this.isLoaded()) {return;} + var container = L.DomUtil.create('div', 'umap-layer-properties-container'), + metadataFields = [ + 'options.name', + 'options.description', + ['options.type', {handler: 'LayerTypeChooser', label: L._('Type of layer')}], + ['options.displayOnLoad', {label: L._('Display on load'), handler: 'Switch'}], + ['options.browsable', {label: L._('Data is browsable'), handler: 'Switch', helpEntries: 'browsable'}] + ]; + var title = L.DomUtil.add('h3', '', container, L._('Layer properties')); + var builder = new L.U.FormBuilder(this, metadataFields, { + callback: function (e) { + this.map.updateDatalayersControl(); + if (e.helper.field === 'options.type') { + this.resetLayer(); + this.edit(); + } + } + }); + container.appendChild(builder.build()); + + var shapeOptions = [ + 'options.color', + 'options.iconClass', + 'options.iconUrl', + 'options.opacity', + 'options.stroke', + 'options.weight', + 'options.fill', + 'options.fillColor', + 'options.fillOpacity', + ]; + + shapeOptions = shapeOptions.concat(this.layer.getEditableOptions()); + + var redrawCallback = function (field) { + this.hide(); + this.layer.postUpdate(field); + this.show(); + }; + + builder = new L.U.FormBuilder(this, shapeOptions, { + id: 'datalayer-advanced-properties', + callback: redrawCallback + }); + var shapeProperties = L.DomUtil.createFieldset(container, L._('Shape properties')); + shapeProperties.appendChild(builder.build()); + + var optionsFields = [ + 'options.smoothFactor', + 'options.dashArray', + 'options.zoomTo', + 'options.labelKey' + ]; + + optionsFields = optionsFields.concat(this.layer.getEditableOptions()); + + builder = new L.U.FormBuilder(this, optionsFields, { + id: 'datalayer-advanced-properties', + callback: redrawCallback + }); + var advancedProperties = L.DomUtil.createFieldset(container, L._('Advanced properties')); + advancedProperties.appendChild(builder.build()); + + var popupFields = [ + 'options.popupShape', + 'options.popupTemplate', + 'options.popupContentTemplate', + 'options.showLabel', + 'options.labelDirection', + 'options.labelInteractive', + ]; + builder = new L.U.FormBuilder(this, popupFields, {callback: redrawCallback}); + var popupFieldset = L.DomUtil.createFieldset(container, L._('Interaction options')); + popupFieldset.appendChild(builder.build()); + + if (!L.Util.isObject(this.options.remoteData)) { + this.options.remoteData = {}; + } + var remoteDataFields = [ + ['options.remoteData.url', {handler: 'Url', label: L._('Url'), helpEntries: 'formatURL'}], + ['options.remoteData.format', {handler: 'DataFormat', label: L._('Format')}], + ['options.remoteData.from', {label: L._('From zoom'), helpText: L._('Optional.')}], + ['options.remoteData.to', {label: L._('To zoom'), helpText: L._('Optional.')}], + ['options.remoteData.dynamic', {handler: 'Switch', label: L._('Dynamic'), helpEntries: 'dynamicRemoteData'}], + ['options.remoteData.licence', {label: L._('Licence'), helpText: L._('Please be sure the licence is compliant with your use.')}] + ]; + if (this.map.options.urls.ajax_proxy) { + remoteDataFields.push(['options.remoteData.proxy', {handler: 'Switch', label: L._('Proxy request'), helpEntries: 'proxyRemoteData'}]); + remoteDataFields.push(['options.remoteData.ttl', {handler: 'ProxyTTLSelect', label: L._('Cache proxied request')}]); + } + + var remoteDataContainer = L.DomUtil.createFieldset(container, L._('Remote data')); + builder = new L.U.FormBuilder(this, remoteDataFields); + remoteDataContainer.appendChild(builder.build()); + + if (this.map.options.urls.datalayer_versions) this.buildVersionsFieldset(container); + + var advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions')); + var advancedButtons = L.DomUtil.create('div', 'button-bar half', advancedActions); + var deleteLink = L.DomUtil.create('a', 'button delete_datalayer_button umap-delete', advancedButtons); + deleteLink.textContent = L._('Delete'); + deleteLink.href = '#'; + L.DomEvent.on(deleteLink, 'click', L.DomEvent.stop) + .on(deleteLink, 'click', function () { + this._delete(); + this.map.ui.closePanel(); + }, this); + if (!this.isRemoteLayer()) { + var emptyLink = L.DomUtil.create('a', 'button umap-empty', advancedButtons); + emptyLink.textContent = L._('Empty'); + emptyLink.href = '#'; + L.DomEvent.on(emptyLink, 'click', L.DomEvent.stop) + .on(emptyLink, 'click', this.empty, this); + } + var cloneLink = L.DomUtil.create('a', 'button umap-clone', advancedButtons); + cloneLink.textContent = L._('Clone'); + cloneLink.href = '#'; + L.DomEvent.on(cloneLink, 'click', L.DomEvent.stop) + .on(cloneLink, 'click', function () { + var datalayer = this.clone(); + datalayer.edit(); + }, this); + if (this.umap_id) { + var download = L.DomUtil.create('a', 'button umap-download', advancedButtons); + download.textContent = L._('Download'); + download.href = this._dataUrl(); + download.target = '_blank'; + } + this.map.ui.openPanel({data: {html: container}, className: 'dark'}); + + }, + + getOption: function (option) { + if (L.Util.usableOption(this.options, option)) return this.options[option]; + else return this.map.getOption(option); + }, + + buildVersionsFieldset: function (container) { + + var appendVersion = function (data) { + var date = new Date(parseInt(data.at, 10)); + var content = date.toLocaleDateString(L.locale) + ' (' + parseInt(data.size) / 1000 + 'Kb)'; + var el = L.DomUtil.create('div', 'umap-datalayer-version', versionsContainer); + var a = L.DomUtil.create('a', '', el); + L.DomUtil.add('span', '', el, content); + a.href = '#'; + a.title = L._('Restore this version'); + L.DomEvent.on(a, 'click', L.DomEvent.stop) + .on(a, 'click', function () { + this.restore(data.name); + }, this); + }; + + var versionsContainer = L.DomUtil.createFieldset(container, L._('Versions'), {callback: function () { + this.map.xhr.get(this.getVersionsUrl(), { + callback: function (data) { + for (var i = 0; i < data.versions.length; i++) { + appendVersion.call(this, data.versions[i]); + }; + }, + context: this + }); + }, context: this}); + }, + + restore: function (version) { + if (!this.map.editEnabled) return; + if (!confirm(L._('Are you sure you want to restore this version?'))) return; + this.map.xhr.get(this.getVersionUrl(version), { + callback: function (geojson) { + if (geojson._storage) geojson._umap_options = geojson._storage; // Retrocompat. + if (geojson._umap_options) this.setOptions(geojson._umap_options); + this.empty(); + if (this.isRemoteLayer()) this.fetchRemoteData(); + else this.addData(geojson); + this.isDirty = true; + }, + context: this + }) + }, + + featuresToGeoJSON: function () { + var features = []; + this.eachLayer(function (layer) { + features.push(layer.toGeoJSON()); + }); + return features; + }, + + show: function () { + if(!this.isLoaded()) this.fetchData(); + this.map.addLayer(this.layer); + this.fire('show'); + }, + + hide: function () { + this.map.removeLayer(this.layer); + this.fire('hide'); + }, + + toggle: function () { + if (!this.isVisible()) this.show(); + else this.hide(); + }, + + zoomTo: function () { + if (!this.isVisible()) return; + var bounds = this.layer.getBounds(); + if (bounds.isValid()) this.map.fitBounds(bounds); + }, + + allowBrowse: function () { + return !!this.options.browsable && this.canBrowse() && this.isVisible(); + }, + + hasData: function () { + return !!this._index.length; + }, + + isVisible: function () { + return this.map.hasLayer(this.layer); + }, + + canBrowse: function () { + return this.layer && this.layer.canBrowse; + }, + + getFeatureByIndex: function (index) { + if (index === -1) index = this._index.length - 1; + var id = this._index[index]; + return this._layers[id]; + }, + + getNextFeature: function (feature) { + var id = this._index.indexOf(L.stamp(feature)), + nextId = this._index[id + 1]; + return nextId? this._layers[nextId]: this.getNextBrowsable().getFeatureByIndex(0); + }, + + getPreviousFeature: function (feature) { + if (this._index <= 1) { return null; } + var id = this._index.indexOf(L.stamp(feature)), + previousId = this._index[id - 1]; + return previousId? this._layers[previousId]: this.getPreviousBrowsable().getFeatureByIndex(-1); + }, + + getPreviousBrowsable: function () { + var id = this.getRank(), next, index = this.map.datalayers_index; + while(id = index[++id] ? id : 0, next = index[id]) { + if (next === this || (next.allowBrowse() && next.hasData())) break; + } + return next; + }, + + getNextBrowsable: function () { + var id = this.getRank(), prev, index = this.map.datalayers_index; + while(id = index[--id] ? id : index.length - 1, prev = index[id]) { + if (prev === this || (prev.allowBrowse() && prev.hasData())) break; + } + return prev; + }, + + umapGeoJSON: function () { + return { + type: 'FeatureCollection', + features: this.isRemoteLayer() ? [] : this.featuresToGeoJSON(), + _umap_options: this.options + }; + }, + + metadata: function () { + return { + id: this.umap_id, + name: this.options.name, + displayOnLoad: this.options.displayOnLoad + } + }, + + getRank: function () { + return this.map.datalayers_index.indexOf(this); + }, + + save: function () { + if (this.isDeleted) return this.saveDelete(); + if (!this.isLoaded()) {return;} + var geojson = this.umapGeoJSON(); + var formData = new FormData(); + formData.append('name', this.options.name); + formData.append('display_on_load', !!this.options.displayOnLoad); + formData.append('rank', this.getRank()); + // Filename support is shaky, don't do it for now. + var blob = new Blob([JSON.stringify(geojson)], {type: 'application/json'}); + formData.append('geojson', blob); + this.map.post(this.getSaveUrl(), { + data: formData, + callback: function (data, response) { + this._geojson = geojson; + this._etag = response.getResponseHeader('ETag'); + this.setUmapId(data.id); + this.updateOptions(data); + this.backupOptions(); + this.connectToMap(); + this._loaded = true; + this.redraw(); // Needed for reordering features + this.isDirty = false; + this.map.continueSaving(); + }, + context: this, + headers: {'If-Match': this._etag || ''} + }); + }, + + saveDelete: function () { + var callback = function () { + this.isDirty = false; + this.map.continueSaving(); + } + if (!this.umap_id) return callback.call(this); + this.map.xhr.post(this.getDeleteUrl(), { + callback: callback, + context: this + }); + }, + + getMap: function () { + return this.map; + }, + + getName: function () { + return this.options.name || L._('Untitled layer'); + }, + + tableEdit: function () { + if (this.isRemoteLayer() || !this.isVisible()) return; + var editor = new L.U.TableEditor(this); + editor.edit(); + } + +}); + +L.TileLayer.include({ + + toJSON: function () { + return { + minZoom: this.options.minZoom, + maxZoom: this.options.maxZoom, + attribution: this.options.attribution, + url_template: this._url, + name: this.options.name, + tms: this.options.tms + }; + }, + + getAttribution: function () { + return L.Util.toHTML(this.options.attribution); + } + +}); diff --git a/umap/static/umap/js/umap.permissions.js b/umap/static/umap/js/umap.permissions.js new file mode 100644 index 00000000..be7f9d51 --- /dev/null +++ b/umap/static/umap/js/umap.permissions.js @@ -0,0 +1,138 @@ +// Dedicated object so we can deal with a separate dirty status, and thus +// call the endpoint only when needed, saving one call at each save. +L.U.MapPermissions = L.Class.extend({ + + options: { + owner: null, + editors: [], + share_status: null, + edit_status: null + }, + + initialize: function (map) { + this.setOptions(map.options.permissions); + this.map = map; + var isDirty = false, + self = this; + try { + Object.defineProperty(this, 'isDirty', { + get: function () { + return isDirty; + }, + set: function (status) { + isDirty = status; + if (status) self.map.isDirty = status; + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + + }, + + setOptions: function (options) { + this.options = L.Util.setOptions(this, options); + }, + + isOwner: function () { + return this.map.options.user && this.options.owner && this.map.options.user.id == this.options.owner.id; + }, + + isAnonymousMap: function () { + return !this.options.owner; + }, + + getMap: function () { + return this.map; + }, + + edit: function () { + if (!this.map.options.umap_id) return this.map.ui.alert({content: L._('Please save the map first'), level: 'info'}); + var container = L.DomUtil.create('div', 'permissions-panel'), + fields = [], + title = L.DomUtil.create('h4', '', container); + if (this.isAnonymousMap()) { + if (this.options.anonymous_edit_url) { + var helpText = L._('Secret edit link is:
    {link}', {link: this.options.anonymous_edit_url}); + fields.push(['options.edit_status', {handler: 'IntSelect', label: L._('Who can edit'), selectOptions: this.map.options.anonymous_edit_statuses, helpText: helpText}]); + } + } else { + if (this.isOwner()) { + fields.push(['options.edit_status', {handler: 'IntSelect', label: L._('Who can edit'), selectOptions: this.map.options.edit_statuses}]); + fields.push(['options.share_status', {handler: 'IntSelect', label: L._('Who can view'), selectOptions: this.map.options.share_statuses}]); + fields.push(['options.owner', {handler: 'ManageOwner', label: L._("Map's owner")}]); + } + fields.push(['options.editors', {handler: 'ManageEditors', label: L._("Map's editors")}]); + } + title.textContent = L._('Update permissions'); + var builder = new L.U.FormBuilder(this, fields); + var form = builder.build(); + container.appendChild(form); + if (this.isAnonymousMap() && this.map.options.user) { + // We have a user, and this user has come through here, so they can edit the map, so let's allow to own the map. + // Note: real check is made on the back office anyway. + var advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions')); + var advancedButtons = L.DomUtil.create('div', 'button-bar', advancedActions); + var download = L.DomUtil.create('a', 'button', advancedButtons); + download.href = '#'; + download.textContent = L._('Attach the map to my account'); + L.DomEvent + .on(download, 'click', L.DomEvent.stop) + .on(download, 'click', this.attach, this); + } + this.map.ui.openPanel({data: {html: container}, className: 'dark'}); + }, + + attach: function () { + this.map.post(this.getAttachUrl(), { + callback: function () { + this.options.owner = this.map.options.user; + this.map.ui.alert({content: L._("Map has been attached to your account"), level: 'info'}); + this.map.ui.closePanel(); + }, + context: this + }) + }, + + save: function () { + if (!this.isDirty) return this.map.continueSaving(); + var formData = new FormData(); + if (!this.isAnonymousMap() && this.options.editors) { + var editors = this.options.editors.map(function (u) {return u.id}); + for (var i = 0; i < this.options.editors.length; i++) formData.append('editors', this.options.editors[i].id); + } + if (this.isOwner() || this.isAnonymousMap()) formData.append('edit_status', this.options.edit_status); + if (this.isOwner()) { + formData.append('owner', this.options.owner && this.options.owner.id); + formData.append('share_status', this.options.share_status); + } + this.map.post(this.getUrl(), { + data: formData, + context: this, + callback: function (data) { + this.isDirty = false; + this.map.continueSaving(); + } + }); + }, + + getUrl: function () { + return L.Util.template(this.map.options.urls.map_update_permissions, {'map_id': this.map.options.umap_id}); + }, + + getAttachUrl: function () { + return L.Util.template(this.map.options.urls.map_attach_owner, {'map_id': this.map.options.umap_id}); + }, + + addOwnerLink: function (element, container) { + if (this.options.owner && this.options.owner.name && this.options.owner.url) { + var ownerContainer = L.DomUtil.add(element, 'umap-map-owner', container, ' ' + L._('by') + ' '), + owner = L.DomUtil.create('a'); + owner.href = this.options.owner.url; + owner.textContent = this.options.owner.name; + ownerContainer.appendChild(owner); + } + } + +}); diff --git a/umap/static/umap/js/umap.popup.js b/umap/static/umap/js/umap.popup.js new file mode 100644 index 00000000..40bfe6e8 --- /dev/null +++ b/umap/static/umap/js/umap.popup.js @@ -0,0 +1,224 @@ +/* Shapes */ + +L.U.Popup = L.Popup.extend({ + + options: { + parseTemplate: true + }, + + initialize: function (feature) { + this.feature = feature; + this.container = L.DomUtil.create('div', 'umap-popup'); + this.format(); + L.Popup.prototype.initialize.call(this, {}, feature); + this.setContent(this.container); + }, + + format: function () { + var mode = this.feature.getOption('popupTemplate') || 'Default', + klass = L.U.PopupTemplate[mode] || L.U.PopupTemplate.Default; + this.content = new klass(this.feature, this.container); + this.content.render(); + var els = this.container.querySelectorAll('img,iframe'); + for (var i = 0; i < els.length; i++) { + this.onElementLoaded(els[i]); + } + if (!els.length && this.container.textContent.replace('\n', '') === '') { + this.container.innerHTML = ''; + L.DomUtil.add('h3', '', this.container, this.feature.getDisplayName()); + } + }, + + onElementLoaded: function (el) { + L.DomEvent.on(el, 'load', function () { + this._updateLayout(); + this._updatePosition(); + this._adjustPan(); + }, this); + } + +}); + +L.U.Popup.Large = L.U.Popup.extend({ + options: { + maxWidth: 500, + className: 'umap-popup-large' + } +}); + + +L.U.Popup.Panel = L.U.Popup.extend({ + + options: { + zoomAnimation: false + }, + + allButton: function () { + var button = L.DomUtil.create('li', ''); + L.DomUtil.create('i', 'umap-icon-16 umap-list', button); + var label = L.DomUtil.create('span', '', button); + label.textContent = label.title = L._('See all'); + L.DomEvent.on(button, 'click', this.feature.map.openBrowser, this.feature.map); + return button; + }, + + update: function () { + this.feature.map.ui.openPanel({data: {html: this._content}, actions: [this.allButton()]}); + }, + + onRemove: function (map) { + map.ui.closePanel(); + L.U.Popup.prototype.onRemove.call(this, map); + }, + + _initLayout: function () {this._container = L.DomUtil.create('span');}, + _updateLayout: function () {}, + _updatePosition: function () {}, + _adjustPan: function () {} + +}); +L.U.Popup.SimplePanel = L.U.Popup.Panel; // Retrocompat. + +/* Content templates */ + +L.U.PopupTemplate = {}; + +L.U.PopupTemplate.Default = L.Class.extend({ + + initialize: function (feature, container) { + this.feature = feature; + this.container = container; + }, + + renderTitle: function () {}, + + renderBody: function () { + var template = this.feature.getOption('popupContentTemplate'), + container = L.DomUtil.create('div', 'umap-popup-container'), + content = '', properties, center; + properties = this.feature.extendedProperties(); + // Resolve properties inside description + properties.description = L.Util.greedyTemplate(this.feature.properties.description || '', properties); + content = L.Util.greedyTemplate(template, properties); + content = L.Util.toHTML(content); + container.innerHTML = content; + return container; + }, + + renderFooter: function () { + if (this.feature.hasPopupFooter()) { + var footerContainer = L.DomUtil.create('div', 'umap-footer-container', this.container), + footer = L.DomUtil.create('ul', 'umap-popup-footer', footerContainer), + previousLi = L.DomUtil.create('li', 'previous', footer), + zoomLi = L.DomUtil.create('li', 'zoom', footer), + nextLi = L.DomUtil.create('li', 'next', footer), + next = this.feature.getNext(), + prev = this.feature.getPrevious(); + if (next) nextLi.title = L._('Go to «{feature}»', {feature: next.properties.name || L._('next')}); + if (prev) previousLi.title = L._('Go to «{feature}»', {feature: prev.properties.name || L._('previous')}); + zoomLi.title = L._('Zoom to this feature'); + L.DomEvent.on(nextLi, 'click', function () { + if (next) next.bringToCenter({zoomTo: next.getOption('zoomTo'), callback: next.view}); + }); + L.DomEvent.on(previousLi, 'click', function () { + if (prev) prev.bringToCenter({zoomTo: prev.getOption('zoomTo'), callback: prev.view}); + }); + L.DomEvent.on(zoomLi, 'click', function () { + this.bringToCenter({zoomTo: this.getOption('zoomTo')}); + }, this.feature); + } + }, + + render: function () { + var title = this.renderTitle(); + if (title) this.container.appendChild(title); + var body = this.renderBody(); + if (body) L.DomUtil.add('div', 'umap-popup-content', this.container, body); + this.renderFooter(); + } + +}); + +L.U.PopupTemplate.BaseWithTitle = L.U.PopupTemplate.Default.extend({ + + renderTitle: function () { + var title; + if (this.feature.getDisplayName()) { + title = L.DomUtil.create('h3', 'popup-title'); + title.textContent = this.feature.getDisplayName(); + } + return title; + } + +}); + + +L.U.PopupTemplate.Table = L.U.PopupTemplate.BaseWithTitle.extend({ + + formatRow: function (key, value) { + if (value.indexOf('http') === 0) { + value = '' + value + ''; + } + return value; + }, + + addRow: function (container, key, value) { + var tr = L.DomUtil.create('tr', '', container); + L.DomUtil.add('th', '', tr, key); + L.DomUtil.add('td', '', tr, this.formatRow(key, value)); + }, + + renderBody: function () { + var table = L.DomUtil.create('table'); + + for (var key in this.feature.properties) { + if (typeof this.feature.properties[key] === 'object' || key === 'name') continue; + // TODO, manage links (url, mailto, wikipedia...) + this.addRow(table, key, L.Util.escapeHTML(this.feature.properties[key]).trim()); + } + return table; + } + +}); + +L.U.PopupTemplate.GeoRSSImage = L.U.PopupTemplate.BaseWithTitle.extend({ + + options: { + minWidth: 300, + maxWidth: 500, + className: 'umap-popup-large umap-georss-image' + }, + + renderBody: function () { + var container = L.DomUtil.create('a'); + container.href = this.feature.properties.link; + container.target = '_blank'; + if (this.feature.properties.img) { + var img = L.DomUtil.create('img', '', container); + img.src = this.feature.properties.img; + // Sadly, we are unable to override this from JS the clean way + // See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 + img.style.maxWidth = this.options.maxWidth + 'px'; + img.style.maxHeight = this.options.maxWidth + 'px'; + this.onElementLoaded(img); + } + return container; + } + +}); + +L.U.PopupTemplate.GeoRSSLink = L.U.PopupTemplate.Default.extend({ + + options: { + className: 'umap-georss-link' + }, + + renderBody: function () { + var title = this.renderTitle(this), + a = L.DomUtil.add('a'); + a.href = this.feature.properties.link; + a.target = '_blank'; + a.appendChild(title); + return a; + } +}); diff --git a/umap/static/umap/js/umap.slideshow.js b/umap/static/umap/js/umap.slideshow.js new file mode 100644 index 00000000..e9d42cd4 --- /dev/null +++ b/umap/static/umap/js/umap.slideshow.js @@ -0,0 +1,164 @@ +L.U.Slideshow = L.Class.extend({ + + statics: { + CLASSNAME: 'umap-slideshow-active' + }, + + options: { + delay: 5000, + autoplay: false + }, + + initialize: function (map, options) { + this.setOptions(options); + this.map = map; + this._id = null; + var current = null, // current feature + self = this; + try { + Object.defineProperty(this, 'current', { + get: function () { + if (!current) { + var datalayer = this.defaultDatalayer(); + if (datalayer) current = datalayer.getFeatureByIndex(0); + } + return current; + }, + set: function (feature) { + current = feature; + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + try { + Object.defineProperty(this, 'next', { + get: function () { + if (!current) { + return self.current; + } + return current.getNext(); + } + }); + } + catch (e) { + // Certainly IE8, which has a limited version of defineProperty + } + if (this.options.autoplay) { + this.map.onceDataLoaded(function () { + this.play(); + }, this); + } + this.map.on('edit:enabled', function () { + this.stop(); + }, this); + }, + + setOptions: function (options) { + L.setOptions(this, options); + this.timeSpinner(); + }, + + defaultDatalayer: function () { + return this.map.findDataLayer(function (d) { return d.allowBrowse() && d.hasData(); }); + }, + + timeSpinner: function () { + var time = parseInt(this.options.delay, 10); + if (!time) return; + var css = 'rotation ' + time / 1000 + 's infinite linear', + spinners = document.querySelectorAll('.umap-slideshow-toolbox .play .spinner'); + for (var i = 0; i < spinners.length; i++) { + spinners[i].style.animation = css; + spinners[i].style['-webkit-animation'] = css; + spinners[i].style['-moz-animation'] = css; + spinners[i].style['-o-animation'] = css; + } + }, + + resetSpinners: function () { + // Make that animnation is coordinated with user actions + var spinners = document.querySelectorAll('.umap-slideshow-toolbox .play .spinner'), + el, newOne; + for (var i = 0; i < spinners.length; i++) { + el = spinners[i]; + newOne = el.cloneNode(true); + el.parentNode.replaceChild(newOne, el); + } + }, + + play: function () { + if (this._id) return; + if (this.map.editEnabled || !this.map.options.slideshow.active) return; + L.DomUtil.addClass(document.body, L.U.Slideshow.CLASSNAME); + this._id = window.setInterval(L.bind(this.loop, this), this.options.delay); + this.resetSpinners(); + this.loop(); + }, + + loop: function () { + this.current = this.next; + this.step(); + }, + + pause: function () { + if (this._id) { + L.DomUtil.removeClass(document.body, L.U.Slideshow.CLASSNAME); + window.clearInterval(this._id); + this._id = null; + } + }, + + stop: function () { + this.pause(); + this.current = null; + }, + + forward: function () { + this.pause(); + this.current = this.next; + this.step(); + }, + + backward: function () { + this.pause(); + if (this.current) this.current = this.current.getPrevious(); + this.step(); + }, + + step: function () { + if(!this.current) return this.stop(); + this.current.zoomTo({easing: this.options.easing}); + this.current.view(); + }, + + renderToolbox: function (container) { + var box = L.DomUtil.create('ul', 'umap-slideshow-toolbox'), + play = L.DomUtil.create('li', 'play', box), + stop = L.DomUtil.create('li', 'stop', box), + prev = L.DomUtil.create('li', 'prev', box), + next = L.DomUtil.create('li', 'next', box); + L.DomUtil.create('div', 'spinner', play); + play.title = L._('Start slideshow'); + stop.title = L._('Stop slideshow'); + next.title = L._('Zoom to the next'); + prev.title = L._('Zoom to the previous'); + var toggle = function () { + if (this._id) this.pause(); + else this.play(); + }; + L.DomEvent.on(play, 'click', L.DomEvent.stop) + .on(play, 'click', toggle, this); + L.DomEvent.on(stop, 'click', L.DomEvent.stop) + .on(stop, 'click', this.stop, this); + L.DomEvent.on(prev, 'click', L.DomEvent.stop) + .on(prev, 'click', this.backward, this); + L.DomEvent.on(next, 'click', L.DomEvent.stop) + .on(next, 'click', this.forward, this); + container.appendChild(box); + this.timeSpinner(); + return box; + } + +}); diff --git a/umap/static/umap/js/umap.tableeditor.js b/umap/static/umap/js/umap.tableeditor.js new file mode 100644 index 00000000..66aca2a5 --- /dev/null +++ b/umap/static/umap/js/umap.tableeditor.js @@ -0,0 +1,107 @@ +L.U.TableEditor = L.Class.extend({ + + initialize: function (datalayer) { + this.datalayer = datalayer; + this.table = L.DomUtil.create('div', 'table'); + this.header = L.DomUtil.create('div', 'thead', this.table); + this.body = L.DomUtil.create('div', 'tbody', this.table); + this.resetProperties(); + }, + + renderHeaders: function () { + this.header.innerHTML = ''; + for (var i = 0; i < this.properties.length; i++) { + this.renderHeader(this.properties[i]); + } + }, + + renderHeader: function (property) { + var container = L.DomUtil.create('div', 'tcell', this.header), + title = L.DomUtil.add('span', '', container, property), + del = L.DomUtil.create('i', 'umap-delete', container), + rename = L.DomUtil.create('i', 'umap-edit', container); + del.title = L._('Delete this property on all the features'); + rename.title = L._('Rename this property on all the features'); + var doDelete = function () { + if (confirm(L._('Are you sure you want to delete this property on all the features?'))) { + this.datalayer.eachLayer(function (feature) { + feature.deleteProperty(property); + }); + this.datalayer.deindexProperty(property); + this.resetProperties(); + this.edit(); + } + }; + var doRename = function () { + var newName = prompt(L._('Please enter the new name of this property'), property); + if (!newName || !this.validateName(newName)) return; + this.datalayer.eachLayer(function (feature) { + feature.renameProperty(property, newName); + }); + this.datalayer.deindexProperty(property); + this.datalayer.indexProperty(newName); + this.resetProperties(); + this.edit(); + }; + L.DomEvent.on(del, 'click', doDelete, this); + L.DomEvent.on(rename, 'click', doRename, this); + }, + + renderRow: function (feature) { + var builder = new L.U.FormBuilder(feature, this.field_properties, + { + id: 'umap-feature-properties_' + L.stamp(feature), + className: 'trow', + callback: feature.resetTooltip + } + ); + this.body.appendChild(builder.build()); + }, + + compileProperties: function () { + if (this.properties.length === 0) this.properties = ['name']; + // description is a forced textarea, don't edit it in a text input, or you lose cariage returns + if (this.properties.indexOf('description') !== -1) this.properties.splice(this.properties.indexOf('description'), 1); + this.properties.sort(); + this.field_properties = []; + for (var i = 0; i < this.properties.length; i++) { + this.field_properties.push(['properties.' + this.properties[i], {wrapper: 'div', wrapperClass: 'tcell'}]); + } + }, + + resetProperties: function () { + this.properties = this.datalayer._propertiesIndex; + }, + + validateName: function (name) { + if (name.indexOf(".") !== -1) { + this.datalayer.map.ui.alert({content: L._('Invalide property name: {name}', {name: name}), level: 'error'}); + return false; + } + return true; + }, + + edit: function () { + var id = 'tableeditor:edit'; + this.datalayer.map.fire('dataloading', {id: id}); + this.compileProperties(); + this.renderHeaders(); + this.body.innerHTML = ''; + this.datalayer.eachLayer(this.renderRow, this); + var addButton = L.DomUtil.create('li', 'add-property'); + L.DomUtil.create('i', 'umap-icon-16 umap-add', addButton); + var label = L.DomUtil.create('span', '', addButton); + label.textContent = label.title = L._('Add a new property'); + var addProperty = function () { + var newName = prompt(L._('Please enter the name of the property')); + if (!newName || !this.validateName(newName)) return; + this.datalayer.indexProperty(newName); + this.edit(); + }; + L.DomEvent.on(addButton, 'click', addProperty, this); + var className = (this.properties.length > 2) ? 'umap-table-editor fullwidth dark' : 'umap-table-editor dark'; + this.datalayer.map.ui.openPanel({data: {html: this.table}, className: className, actions: [addButton]}); + this.datalayer.map.fire('dataload', {id: id}); + } + +}); diff --git a/umap/static/umap/js/umap.ui.js b/umap/static/umap/js/umap.ui.js new file mode 100644 index 00000000..cb78ca36 --- /dev/null +++ b/umap/static/umap/js/umap.ui.js @@ -0,0 +1,176 @@ +/* +* Modals +*/ +L.U.UI = L.Evented.extend({ + + ALERTS: Array(), + ALERT_ID: null, + TOOLTIP_ID: null, + + initialize: function (parent) { + this.parent = parent; + this.container = L.DomUtil.create('div', 'leaflet-ui-container', this.parent); + L.DomEvent.disableClickPropagation(this.container); + L.DomEvent.on(this.container, 'contextmenu', L.DomEvent.stopPropagation); // Do not activate our custom context menu. + L.DomEvent.on(this.container, 'mousewheel', L.DomEvent.stopPropagation); + L.DomEvent.on(this.container, 'MozMousePixelScroll', L.DomEvent.stopPropagation); + this._panel = L.DomUtil.create('div', '', this.container); + this._panel.id = 'umap-ui-container'; + this._alert = L.DomUtil.create('div', 'with-transition', this.container); + this._alert.id = 'umap-alert-container'; + this._tooltip = L.DomUtil.create('div', '', this.container); + this._tooltip.id = 'umap-tooltip-container'; + }, + + resetPanelClassName: function () { + this._panel.className = 'with-transition'; + }, + + openPanel: function (e) { + this.fire('panel:open'); + // We reset all because we can't know which class has been added + // by previous ui processes... + this.resetPanelClassName(); + this._panel.innerHTML = ''; + var actionsContainer = L.DomUtil.create('ul', 'toolbox', this._panel); + var body = L.DomUtil.create('div', 'body', this._panel); + if (e.data.html.nodeType && e.data.html.nodeType === 1) body.appendChild(e.data.html); + else body.innerHTML = e.data.html; + var closeLink = L.DomUtil.create('li', 'umap-close-link', actionsContainer); + L.DomUtil.add('i', 'umap-close-icon', closeLink); + var label = L.DomUtil.create('span', '', closeLink); + label.title = label.textContent = L._('Close'); + if (e.actions) { + for (var i = 0; i < e.actions.length; i++) { + actionsContainer.appendChild(e.actions[i]); + } + } + if (e.className) L.DomUtil.addClass(this._panel, e.className); + if (L.DomUtil.hasClass(this.parent, 'umap-ui')) { + // Already open. + this.fire('panel:ready'); + } else { + L.DomEvent.once(this._panel, 'transitionend', function (e) { + this.fire('panel:ready'); + }, this); + L.DomUtil.addClass(this.parent, 'umap-ui'); + } + L.DomEvent.on(closeLink, 'click', this.closePanel, this); + }, + + closePanel: function () { + this.resetPanelClassName(); + L.DomUtil.removeClass(this.parent, 'umap-ui'); + this.fire('panel:closed'); + }, + + alert: function (e) { + if (L.DomUtil.hasClass(this.parent, 'umap-alert')) this.ALERTS.push(e); + else this.popAlert(e); + }, + + popAlert: function (e) { + var self = this; + if(!e) { + if (this.ALERTS.length) e = this.ALERTS.pop(); + else return; + } + var timeoutID, + level_class = e.level && e.level == 'info'? 'info': 'error'; + this._alert.innerHTML = ''; + L.DomUtil.addClass(this.parent, 'umap-alert'); + L.DomUtil.addClass(this._alert, level_class); + var close = function () { + if (timeoutID !== this.ALERT_ID) { return;} // Another alert has been forced + this._alert.innerHTML = ''; + L.DomUtil.removeClass(this.parent, 'umap-alert'); + L.DomUtil.removeClass(this._alert, level_class); + if (timeoutID) window.clearTimeout(timeoutID); + this.popAlert(); + }; + var closeLink = L.DomUtil.create('a', 'umap-close-link', this._alert); + closeLink.href = '#'; + L.DomUtil.add('i', 'umap-close-icon', closeLink); + var label = L.DomUtil.create('span', '', closeLink); + label.title = label.textContent = L._('Close'); + L.DomEvent.on(closeLink, 'click', L.DomEvent.stop) + .on(closeLink, 'click', close, this); + L.DomUtil.add('div', '', this._alert, e.content); + if (e.actions) { + var action, el; + for (var i = 0; i < e.actions.length; i++) { + action = e.actions[i]; + el = L.DomUtil.element('a', {'className': 'umap-action'}, this._alert); + el.href = '#'; + el.textContent = action.label; + L.DomEvent.on(el, 'click', L.DomEvent.stop) + .on(el, 'click', close, this); + if (action.callback) L.DomEvent.on(el, 'click', action.callback, action.callbackContext || this.map); + } + } + self.ALERT_ID = timeoutID = window.setTimeout(L.bind(close, this), e.duration || 3000); + }, + + tooltip: function (e) { + this.TOOLTIP_ID = Math.random(); + var id = this.TOOLTIP_ID; + L.DomUtil.addClass(this.parent, 'umap-tooltip'); + if (e.anchor && e.position === 'top') this.anchorTooltipTop(e.anchor); + else if (e.anchor && e.position === 'left') this.anchorTooltipLeft(e.anchor); + else this.anchorTooltipAbsolute(); + this._tooltip.innerHTML = e.content; + function closeIt () { this.closeTooltip(id); } + if (e.anchor) L.DomEvent.once(e.anchor, 'mouseout', closeIt, this); + if (e.duration !== Infinity) window.setTimeout(L.bind(closeIt, this), e.duration || 3000); + }, + + anchorTooltipAbsolute: function () { + this._tooltip.className = ''; + var left = this.parent.offsetLeft + (this.parent.clientWidth / 2) - (this._tooltip.clientWidth / 2), + top = this.parent.offsetTop + 75; + this.setTooltipPosition({top: top, left: left}); + }, + + anchorTooltipTop: function (el) { + this._tooltip.className = 'tooltip-top'; + var coords = this.getPosition(el); + this.setTooltipPosition({left: coords.left - 10, bottom: this.getDocHeight() - coords.top + 11}); + }, + + anchorTooltipLeft: function (el) { + this._tooltip.className = 'tooltip-left'; + var coords = this.getPosition(el); + this.setTooltipPosition({top: coords.top, right: document.documentElement.offsetWidth - coords.left + 11}); + }, + + closeTooltip: function (id) { + if (id && id !== this.TOOLTIP_ID) return; + this._tooltip.innerHTML = ''; + L.DomUtil.removeClass(this.parent, 'umap-tooltip'); + }, + + getPosition: function (el) { + return el.getBoundingClientRect(); + }, + + setTooltipPosition: function (coords) { + if (coords.left) this._tooltip.style.left = coords.left + 'px'; + else this._tooltip.style.left = 'initial'; + if (coords.right) this._tooltip.style.right = coords.right + 'px'; + else this._tooltip.style.right = 'initial'; + if (coords.top) this._tooltip.style.top = coords.top + 'px'; + else this._tooltip.style.top = 'initial'; + if (coords.bottom) this._tooltip.style.bottom = coords.bottom + 'px'; + else this._tooltip.style.bottom = 'initial'; + }, + + getDocHeight: function () { + var D = document; + return Math.max( + D.body.scrollHeight, D.documentElement.scrollHeight, + D.body.offsetHeight, D.documentElement.offsetHeight, + D.body.clientHeight, D.documentElement.clientHeight + ); + }, + +}); diff --git a/umap/static/umap/js/umap.xhr.js b/umap/static/umap/js/umap.xhr.js new file mode 100644 index 00000000..126f61a9 --- /dev/null +++ b/umap/static/umap/js/umap.xhr.js @@ -0,0 +1,285 @@ +L.U.Xhr = L.Evented.extend({ + + initialize: function (ui) { + this.ui = ui; + }, + + _wrapper: function () { + var wrapper; + if (window.XMLHttpRequest === undefined) { + wrapper = function() { + try { + return new window.ActiveXObject('Microsoft.XMLHTTP.6.0'); + } + catch (e1) { + try { + return new window.ActiveXObject('Microsoft.XMLHTTP.3.0'); + } + catch (e2) { + throw new Error('XMLHttpRequest is not supported'); + } + } + }; + } + else { + wrapper = window.XMLHttpRequest; + } + return new wrapper(); + }, + + _ajax: function (settings) { + var xhr = this._wrapper(), id = Math.random(), self = this; + this.fire('dataloading', {id: id}); + var loaded = function () {self.fire('dataload', {id: id});}; + + try { + xhr.open(settings.verb, settings.uri, true); + } catch (err) { + // Unknown protocol? + this.ui.alert({content: L._('Error while fetching {url}', {url: settings.uri}), level: 'error'}); + loaded(); + return + } + + if (settings.uri.indexOf('http') !== 0 || settings.uri.indexOf(window.location.origin) === 0) { + // "X-" mode headers cause the request to be in preflight mode, + // we don"t want that by default for CORS requests + xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + } + if (settings.headers) { + for (var name in settings.headers) { + xhr.setRequestHeader(name, settings.headers[name]); + } + } + + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4) { + if (xhr.status == 200) { + settings.callback.call(settings.context || xhr, xhr.responseText, xhr); + } + else if (xhr.status === 403) { + self.ui.alert({content: xhr.responseText || L._('Action not allowed :('), level: 'error'}); + } + else if (xhr.status === 412) { + var msg = L._('Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.'); + var actions = [ + { + label: L._('Save anyway'), + callback: function () { + delete settings.headers['If-Match']; + self._ajax(settings); + }, + callbackContext: self + }, + { + label: L._('Cancel') + } + ]; + self.ui.alert({content: msg, level: 'error', duration: 100000, actions: actions}); + } + else { + if (xhr.status !== 0) { // 0 === request cut by user + self.ui.alert({'content': L._('Problem in the response'), 'level': 'error'}); + } + } + loaded(); + } + }; + + try { + xhr.send(settings.data); + } catch (e) { + // Pass + loaded(); + console.error('Bad Request', e); + } + }, + + // supports only JSON as response data type + _json: function (verb, uri, options) { + var args = arguments, + self = this; + var default_options = { + 'async': true, + 'callback': null, + 'responseType': 'text', + 'data': null, + 'listen_form': null // optional form to listen in default callback + }; + var settings = L.Util.extend({}, default_options, options); + + if (verb === 'POST') { + // find a way not to make this django specific + var token = document.cookie.replace(/(?:(?:^|.*;\s*)csrftoken\s*\=\s*([^;]*).*$)|^.*$/, '$1'); + if (token) { + settings.headers = settings.headers || {}; + settings.headers['X-CSRFToken'] = token; + } + } + + var callback = function(responseText, response) { + var data; + try { + data = JSON.parse(responseText); + } + catch (err) { + console.log(err); + self.ui.alert({content: L._('Problem in the response format'), level: 'error'}); + return; + } + if (data.errors) { + console.log(data.errors); + self.ui.alert({content: L._('An error occured'), level: 'error'}); + } else if (data.login_required) { + // login_required should be an URL for the login form + if (settings.login_callback) settings.login_callback(data); + else self.login(data, args); + } + else { + if (settings.callback) L.bind(settings.callback, settings.context || this)(data, response); + else self.default_callback(data, settings, response); + } + }; + + this._ajax({ + verb: verb, + uri: uri, + data: settings.data, + callback: callback, + headers: settings.headers, + listener: settings.listener + }); + }, + + get: function(uri, options) { + this._json('GET', uri, options); + }, + + post: function(uri, options) { + this._json('POST', uri, options); + }, + + submit_form: function(form_id, options) { + if(typeof options === 'undefined') options = {}; + var form = L.DomUtil.get(form_id); + var formData = new FormData(form); + if(options.extraFormData) formData.append(options.extraFormData); + options.data = formData; + this.post(form.action, options); + return false; + }, + + listen_form: function (form_id, options) { + var form = L.DomUtil.get(form_id), self = this; + if (!form) return; + L.DomEvent + .on(form, 'submit', L.DomEvent.stopPropagation) + .on(form, 'submit', L.DomEvent.preventDefault) + .on(form, 'submit', function () { + self.submit_form(form_id, options); + }); + }, + + listen_link: function (link_id, options) { + var link = L.DomUtil.get(link_id), self = this; + if (link) { + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', function () { + if (options.confirm && !confirm(options.confirm)) { return;} + self.get(link.href, options); + }); + } + }, + + default_callback: function (data, options) { + // default callback, to avoid boilerplate + if (data.redirect) { + var newPath = data.redirect; + if (window.location.pathname == newPath) window.location.reload(); // Keep the hash, so the current view + else window.location = newPath; + } + else if (data.info) { + this.ui.alert({content: data.info, level: 'info'}); + this.ui.closePanel(); + } + else if (data.error) { + this.ui.alert({content: data.error, level: 'error'}); + } + else if (data.html) { + var ui_options = {'data': data}, + listen_options; + if (options.className) ui_options.className = options.className; + this.ui.openPanel(ui_options); + // To low boilerplate, if there is a form, listen it + if (options.listen_form) { + // Listen form again + listen_options = L.Util.extend({}, options, options.listen_form.options); + this.listen_form(options.listen_form.id, listen_options); + } + if (options.listen_link) { + for (var i=0, l=options.listen_link.length; iLeaflet and Django, glued by uMap project.": "በ ሊፍሌት እየታገዘ በ ጃንጎ ታግዞ በ uMap ፕሮጀክት አማካኝነት የቀረበ", + "Problem in the response": "በምላሹ ላይ ችግር ተፈጥሯል", + "Problem in the response format": "በምላሹ ፎርማት ላይ ችግር ተፈጥሯል", + "Properties imported:": "ባህርያት መጥተዋል", + "Property to use for sorting features": "ፊችሮችን ለመደርደር የሚጥቀምበት ባህርይ", + "Provide an URL here": "የድረገፁን መገኛ አድራሻ ያስገቡ", + "Proxy request": "የፕሮክሲ ጥያቄ", + "Remote data": "ሪሞት ዳታ", + "Remove shape from the multi": "ከብዝሀው ላይ ቅርፁን አስወግድ", + "Rename this property on all the features": "በሁሉም ፊቸሮች ይህንን ያባህርይ መጠሪያ ያሻሽሉ", + "Replace layer content": "Replace layer content", + "Restore this version": "ይህንን እትም መልስ", + "Save": "አድን/አስቀምጥ", + "Save anyway": "ለማንኛውም አስቀምጥ/አድን", + "Save current edits": "የአሁኑን እርማቶች አስቀምጥ/አድን", + "Save this center and zoom": "ይህንን ዙም እና መሀከል አስቀምጥ/አድን", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "ሁሉንም ተመልከት", + "See data layers": "See data layers", + "See full screen": "ሙሉውን ስክሪን ተመልከት", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "አጭር የድረ-ገፅ መገኛ", + "Short credits": "አጭር ክሬዲት", + "Show/hide layer": "ሌየሩን አሳይ/ደብቅ", + "Simple link: [[http://example.com]]": "ቀላል መገኛ: [[http://example.com]]", + "Slideshow": "ስላይድሾው", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "መስመሩን ክፈል", + "Start a hole here": "እዚህ ጋር ቀዳዳ ጀምር", + "Start editing": "ማረም ጀምር", + "Start slideshow": "ስላይድሾውን አስጀምር", + "Stop editing": "ማረም አቁም", + "Stop slideshow": "ስላይድሾውን አስቁም", + "Supported scheme": "የሚደገፉ ስኪሞች", + "Supported variables that will be dynamically replaced": "ዳይናሚካሊ የሚቀየሩ የሚደገፉ ቫርያብሎች", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "ቲ.ኤም.ኤስ. ፎርማት", + "Text color for the cluster label": "የክላስተሩን ሌብ ፅሑፍ ከለር", + "Text formatting": "ፅሁፍ ማስተካከያ", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "ዙሙ እና መሀከሉ ተወስነዋል", + "To use if remote server doesn't allow cross domain (slower)": "ሪሞት ሰርቨሩ የዶሜይን ልውውጥን የማይፈቅድ ከሆነ ይህን ለመጠቀም (አዝጋሚ)", + "To zoom": "ለማጉላት", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "ቅርፁን ወደ ታረመ ፊቸር አስተላልፍ", + "Transform to lines": "ወደመስመር ቀይር", + "Transform to polygon": "ወደፖሊጎን ቀይር", + "Type of layer": "የሌየሩ ዓይነት", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "ያልተሰየመ ሌየር", + "Untitled map": "ያለተሰየመ ካርታ", + "Update permissions": "Update permissions", + "Update permissions and editors": "ፍቃዶችን እና አራሚዎችን አሻሽል", + "Url": "የድረ-ገፅ መገኛ", + "Use current bounds": "የአሁንኖቹን መደረሻዎች ተጠቀም", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "በቅንፎች መሀከል የፊቸር ባህርያት ያላቸው ቦታያዦችን ተጠቀም፣ ለምሳሌ {name} ዳይናሚካሊ በተቀራራቢ ዋጋችወ ይተካሉ", + "User content credits": "የይዘቱን ክሬዲቶች ተጠቀም", + "User interface options": "የኢንተርፌስ ምርጫዎች", + "Versions": "እትሞች", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "ከዚህ ቀጥሎ ወደየት ነው የምንሄደው?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "ከታች በቀኝ ኮርነሩ ላይ ይታያል", + "Will be visible in the caption of the map": "በካርታው ካፕሽን ላይ እንዲታይ ይደረጋል", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "ውይ! ሌላ ሰው መረጃውን ሳያርመው አይቀርም። ለማንኛውም ማዳን/ማስቀመጥ ይቻላል፣ ነገር ግን የሌሎች እርማቶች ይሰረዛሉ", + "You have unsaved changes.": "ያልዳኑ/ያልተቀመጡ ለውጦች አሉ", + "Zoom in": "አጉላ", + "Zoom level for automatic zooms": "አውቶማቲክ ዙሞች የሚጎሉበት መጠን", + "Zoom out": "አርቅ", + "Zoom to layer extent": "የሌየሩ ኤክስቴንት ድረስ አጉላ", + "Zoom to the next": "ወደ ሚቀጥለው አጉላ", + "Zoom to the previous": "ቀደም ወዳለው አጉላ", + "Zoom to this feature": "ፊቸሩ ድረስ አጉላ", + "Zoom to this place": "Zoom to this place", + "attribution": "አትሪብዩሽን", + "by": "በ", + "display name": "ስሙን አሳይ", + "height": "ቁመት", + "licence": "ፈቃድ", + "max East": "በምስራቅ ከፍተናው", + "max North": "በደቡብ ከፍተኛው", + "max South": "በሰሜን ከፍተኛው", + "max West": "በምዕራብ ከፍተኛው", + "max zoom": "የመጨረሻው ዙም", + "min zoom": "ትንሹ ዙም", + "next": "ቀጥሎ", + "previous": "ቀድሞ", + "width": "ጎን", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("am_ET", locale); +L.setLocale("am_ET"); \ No newline at end of file diff --git a/umap/static/umap/locale/am_ET.json b/umap/static/umap/locale/am_ET.json new file mode 100644 index 00000000..4b08e757 --- /dev/null +++ b/umap/static/umap/locale/am_ET.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "ምልክት ጨምር", + "Allow scroll wheel zoom?": "በማውሱ መሀከለኛ ተሽከርካሪ ማጉላት ይፈቀድ?", + "Automatic": "Automatic", + "Ball": "ኳስ", + "Cancel": "አቁም/ሰርዝ", + "Caption": "ካፕሽን", + "Change symbol": "ምልክቱን ይቀይሩ", + "Choose the data format": "የረጃውን ፎርማት ቀይር", + "Choose the layer of the feature": "የፊቸሩን ሌየር ይምረጡ", + "Circle": "አክብብ/ክብ", + "Clustered": "ክለስተርድ", + "Data browser": "የመረጃ ማሰሻ", + "Default": "ዋና ምርጫ (ዲፎልት)", + "Default zoom level": "Default zoom level", + "Default: name": "ዲፎልት፡ ስም", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "የካፕሽን ባሩን ማሳየት ትፈልጋለህ?", + "Do you want to display a minimap?": "ትንሿን ካርታ ማሳየት ይፈልጋሉ?", + "Do you want to display a panel on load?": "ፓኔሉ በመጫን ላይ እያለ ማሳየት ትፈልጋለህ?", + "Do you want to display popup footer?": "ፖፕ አፕ ፉተሩን ማሳየት ይፈልጋሉ?", + "Do you want to display the scale control?": "የመጠን መቆጣጠሪያውን ማሳየት ይፈልጋሉ?", + "Do you want to display the «more» control?": "የ «ተጨማሪ» መቆጣጠሪያውን ማሳየት ትፈልጋለህ", + "Drop": "ጣል", + "GeoRSS (only link)": "GeoRSS (ሊንክ ብቻ)", + "GeoRSS (title + image)": "GeoRSS (መጠሪያ + ምስል)", + "Heatmap": "የሙቀት ካርታ", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "ውረስ", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "ምንም", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "የፖፕ-አፕ ኮንቴንት ተምሳሌ", + "Set symbol": "Set symbol", + "Side panel": "የጎን ፓኔል", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "ሰንጠረዥ", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "ከለር", + "dash array": "ዳሽ አሬይ", + "define": "define", + "description": "መገለጫ", + "expanded": "expanded", + "fill": "ሙላ", + "fill color": "ከለር ሙላ", + "fill opacity": "ኦፓሲቲውን ሙላ", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "ውረስ", + "name": "ስም", + "never": "never", + "new window": "new window", + "no": "አይደለም", + "on hover": "on hover", + "opacity": "ኦፓሲቲ", + "parent window": "parent window", + "stroke": "ሳል/ጫር", + "weight": "ክብደት", + "yes": "አዎን", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# አንድ ፓውንድ ምልክት ለዋናው አርእስት", + "## two hashes for second heading": "## ሁለት ፓውንድ ምልክቶች ለንዑስ አርእስቱ", + "### three hashes for third heading": "### ሶስት ፓውንድ ምልክቶች ለሶስተኛው ደረጃ አርእስት", + "**double star for bold**": "** ሁለት ኮኮብ ለማወፈር **", + "*simple star for italic*": "* አንድ ኮከብ ለማጣመም *", + "--- for an horizontal rule": "--- ለአግድም መስመር", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "ስለ", + "Action not allowed :(": "አይፈቀድም :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "ሌየር ጨምር", + "Add a line to the current multi": "ላሁኑ ብዝሀ መስመር ጨምር", + "Add a new property": "አዲስ ባህርይ ጨምር", + "Add a polygon to the current multi": "ላሁኑ ብዝሀ ፖሊጎን ጨምር", + "Advanced actions": "ተጨማሪ ተግባራት", + "Advanced properties": "ተጨማሪ ባህርያት", + "Advanced transition": "Advanced transition", + "All properties are imported.": "ሁሉም ባህርያት መጥተዋል", + "Allow interactions": "Allow interactions", + "An error occured": "ስህተት ተፈጥሯል", + "Are you sure you want to cancel your changes?": "እርግጠኛ ነዎት ያሻሻሉትም ማስቀመጥ አይፈልጉም?", + "Are you sure you want to clone this map and all its datalayers?": "እርግጠኛ ነዎት ይህንን ካርታ እና ሁሉንም የመረጃ ገጾች ማባዛት ይፈልጋሉ?", + "Are you sure you want to delete the feature?": "እርግጠኛ ነዎት ይህንን ተግባሩን መሰረዝ ይፈልጋሉ?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "እርግጠኛ ነዎት ይህንን ካርታ መሰረዝ ይፈልጋሉ?", + "Are you sure you want to delete this property on all the features?": "እርግጠኛ ነህ ይህንንባህርይ ከሁሉም ፊቸሮች ላይ መሰረዝ ትችላለህ", + "Are you sure you want to restore this version?": "እርግጠኛ ነዎት ወደዚህኛው እትም መመለስ ይልጋሉ?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "አውቶ", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "ፊቸርሩን ወደመሀከል አምጣ", + "Browse data": "መረጃዎቹን አሥሥ", + "Cancel edits": "እርማቶችን ሰርዝ", + "Center map on your location": "መገኛዎን የሚያሳየውን ካርታ ወደ መሀል ያድርጉ", + "Change map background": "የካርታውን የጀርባ ገፅታ ይቀይሩ", + "Change tilelayers": "የታይልሌየሩን", + "Choose a preset": "ፕሪሴት ምረጥ", + "Choose the format of the data to import": "ሊያመጡ የፈለጉትን የመረጃ ፎርማት ይምረጡ", + "Choose the layer to import in": "የሚያስገቡበት ሌየር ይምረጡ", + "Click last point to finish shape": "ቅርፁን ለማስጨረስ የመጨረሻውን ነጥብ ጠቅ ያድርጉ", + "Click to add a marker": "መለያ ለመጨመር ጠቅ አድርግ", + "Click to continue drawing": "መሳል ለመቀጠል ጠቅ አድርግ", + "Click to edit": "ለማረም ጠቅ አድርግ", + "Click to start drawing a line": "መስመር ለመሳል ጠቅ አድርግ", + "Click to start drawing a polygon": "ፖሊጎን ለመሳል ጠቅ አድርግ", + "Clone": "አዳቅል", + "Clone of {name}": "የ {name} ድቃይ", + "Clone this feature": "Clone this feature", + "Clone this map": "ይህንን ካርታ አባዛ", + "Close": "ዝጋ", + "Clustering radius": "ክለስተሪንግ ራዲየስ", + "Comma separated list of properties to use when filtering features": "ፊቸሮችን በሚያጣሩበት ጊዜ ሊጠቀሙ የሚችሏቸው በኮማ የተከፋፈሉ የባህርያት ዝርዝር", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "በኮማ፣ታብ፣ግማሽኮለን የተከፋፈሉ ውጤቶች። SRSWG84 ተመላክቷል። የነጥብ ጂኦሜትሪዎች ብቻ መጥተዋል። የማምጣት ሂደቱ የኮለምን ሄደሮችን በማሰስ «ላቲትዩድ» እና «ሎንጊትዩድ» የሚሉትን ቃላት መኖር ከመጀመሪያው በመነሳት ያጣራል። ሁሉም ኮለምኖች እንደባህርይ መጥተዋል።", + "Continue line": "መስመሩን ቀጥል", + "Continue line (Ctrl+Click)": "መስመሩን ቀጥል", + "Coordinates": "ኮርዲኔቶች", + "Credits": "ክሬዲቶች", + "Current view instead of default map view?": "ከዲፎልት የካርታ እይታው ፋንታ የአሁኑ እይታ?", + "Custom background": "የተስተካከለ ጀርባ", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "ዲፎልት ባህርያት", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "ሰርዝ", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "ይህንን ፊቸር ሰርዝ", + "Delete this property on all the features": "በሁሉም ፊቸሮች ላይ ይህንን ባህርይ ሰርዝ", + "Delete this shape": "ይህንን ቅርፅ ሰርዝ", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "ከዚህ የሚነሱ አቅጣጫዎች", + "Disable editing": "ማረም ከልክል ነው", + "Display measure": "Display measure", + "Display on load": "በመጫን ላይ እያለ አሳይ", + "Download": "Download", + "Download data": "መረጃውን አውርድ", + "Drag to reorder": "Drag to reorder", + "Draw a line": "መስመር አስምር", + "Draw a marker": "መለያ ሳል", + "Draw a polygon": "ፖሊጎን ሳል", + "Draw a polyline": "ባለነጠላ መስመር ሳል", + "Dynamic": "ዳይናሚክ", + "Dynamic properties": "ዳይናሚክ ባህርያት", + "Edit": "አርም", + "Edit feature's layer": "የፊቸሩን ሌይር አርም", + "Edit map properties": "የካርታውን ባህርያት አርም", + "Edit map settings": "የካርታውን ሁነቶች አርም", + "Edit properties in a table": "በሰንጠረዡ ውስጥ ያሉትን ባህርያት አርም", + "Edit this feature": "ይህንን ፊቸር አርም", + "Editing": "በማረም ላይ", + "Embed and share this map": "ይህንን ካርታ አካትት እና ሼር አድርግ", + "Embed the map": "ካርታውን አካትት", + "Empty": "ባዶ", + "Enable editing": "እርማትን ፍቀድ", + "Error in the tilelayer URL": "በታይልሌየሩ የድረ-ገፅ መገኛ ላይ ስህተት ተፈጥሯል", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "ፊቸሩን ለመለየት ቅርፁን ነጥለህ አውጣ", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "አጣራ", + "Format": "ፎርማት", + "From zoom": "ከዙም", + "Full map data": "Full map data", + "Go to «{feature}»": "ወደ «{feature}» ተመለስ", + "Heatmap intensity property": "የሙቀት ካርታ ኢንቴንሲቲ ባህርይ", + "Heatmap radius": "የሙቀት ካርታ ራዲየስ", + "Help": "እርዳታ", + "Hide controls": "መቆጣጠሪያዎቹን ደብቅ", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "በእያንዳንዱ የዙም መጠን ፖሊላይኑን ምን ያህል ያቃልል (ብዙ = ጥሩ አገልግሎት እና ጥሩ መልክ፣ ትንሽ = ይበልጥ ትክክለኛ)", + "If false, the polygon will act as a part of the underlying map.": "ስህተት ከሆነ ፖሊጎኑ ከስር እንደተነጠፈ ካርታ ያገለግላል", + "Iframe export options": "የፍሬም ኤክስፖርት ምርጫዎች", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "|ፍሬሙ ከተሻሻለ ቁመት ጋር (በፒክሰል)፡ {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "|ፍሬም፡ {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "የተስተካከለ ጉን ያለው ምስል (በፒክስል)፡ {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "ምስል፡{{http://image.url.com}}", + "Import": "አምጣ", + "Import data": "መረጃ አምጣ", + "Import in a new layer": "አዲስ ሌየር አምጣ", + "Imports all umap data, including layers and settings.": "ሌየር እና ሁኔታዎቹን ጨምሮ ሁሉንም የዩማፕ መረጃ ያመጣል", + "Include full screen link?": "ሙሉ ስክሪን ሊክን ያካትት?", + "Interaction options": "Interaction options", + "Invalid umap data": "ያልተፈቀደ የዩማፕ መረጃ", + "Invalid umap data in {filename}": "ያልተፈቀደ የዩማፕ መረጃ በ {filename} ውስጥ", + "Keep current visible layers": "በወቅቱ የሚታየውን ሌየር አቆይ", + "Latitude": "ላቲትዩድ", + "Layer": "ሌየር", + "Layer properties": "የሌየር ባህርያት", + "Licence": "ፈቃድ", + "Limit bounds": "መድረሻዎቹን ምረጥ", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "ከዚህ ፅሁፍ ጋር አስተሳስር፡ [[http://example.com|text of the link]]", + "Long credits": "ክሬዲቶች በመጫን ላይ", + "Longitude": "ሎንጊትዩድ", + "Make main shape": "ዋና ቅርፅ አድርግ", + "Manage layers": "Manage layers", + "Map background credits": "የካርታ የጀርባ ክሬዲትስ", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "ካርታው ተቀምጧል/ድኗል", + "Map user content has been published under licence": "የካርታ ይዘት በሚከተለው ፈቃድ አማካኝነት ታትሟል", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "መስመሮችን ቀላቅል", + "More controls": "ተጨማሪ መቆጣጠሪያዎች", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "ምንም ፈቃድ አልተሰጠም", + "No results": "No results", + "Only visible features will be downloaded.": "የሚታዩት ፊቸሮች ብቻ ይወርዳሉ", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "ለOpernStreetMap ይበልጥ ትክክል ይሆነ መረጃ ለመስጠ የካርታውን ኤክስቴንት በካርታ ማረሚያ ክፈት", + "Optional intensity property for heatmap": "ለሙቀት ካርታው ባህርይ አማራጭ ኢንቴንሲቲ", + "Optional. Same as color if not set.": "አማራጭ፣ ካልተመረጠለት እንደቀለሙ የሚሆን", + "Override clustering radius (default 80)": "የራዲየስ ክለስተሪንግ አልፈህ ሂድ (ዲፎልት 80)", + "Override heatmap radius (default 25)": "የሙቀት ካርታውን ራዲየስ አልፈህ ሂድ (ዲፎልት 25)", + "Please be sure the licence is compliant with your use.": "እባክዎ ፈቃዱ እስርዎ ሊጠቀሙ ካሉበት አገልግሎት ጋር መጣጣሙን ያረጋግጡ", + "Please choose a format": "እባክዎ ፎርማት ይምረጡ", + "Please enter the name of the property": "እባክዎ የባህርይውን ስም ያስገቡ", + "Please enter the new name of this property": "እባክዎን አዲሱን የባህርይውን ስም ያስገቡ", + "Powered by Leaflet and Django, glued by uMap project.": "በ ሊፍሌት እየታገዘ በ ጃንጎ ታግዞ በ uMap ፕሮጀክት አማካኝነት የቀረበ", + "Problem in the response": "በምላሹ ላይ ችግር ተፈጥሯል", + "Problem in the response format": "በምላሹ ፎርማት ላይ ችግር ተፈጥሯል", + "Properties imported:": "ባህርያት መጥተዋል", + "Property to use for sorting features": "ፊችሮችን ለመደርደር የሚጥቀምበት ባህርይ", + "Provide an URL here": "የድረገፁን መገኛ አድራሻ ያስገቡ", + "Proxy request": "የፕሮክሲ ጥያቄ", + "Remote data": "ሪሞት ዳታ", + "Remove shape from the multi": "ከብዝሀው ላይ ቅርፁን አስወግድ", + "Rename this property on all the features": "በሁሉም ፊቸሮች ይህንን ያባህርይ መጠሪያ ያሻሽሉ", + "Replace layer content": "Replace layer content", + "Restore this version": "ይህንን እትም መልስ", + "Save": "አድን/አስቀምጥ", + "Save anyway": "ለማንኛውም አስቀምጥ/አድን", + "Save current edits": "የአሁኑን እርማቶች አስቀምጥ/አድን", + "Save this center and zoom": "ይህንን ዙም እና መሀከል አስቀምጥ/አድን", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "ሁሉንም ተመልከት", + "See data layers": "See data layers", + "See full screen": "ሙሉውን ስክሪን ተመልከት", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "አጭር የድረ-ገፅ መገኛ", + "Short credits": "አጭር ክሬዲት", + "Show/hide layer": "ሌየሩን አሳይ/ደብቅ", + "Simple link: [[http://example.com]]": "ቀላል መገኛ: [[http://example.com]]", + "Slideshow": "ስላይድሾው", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "መስመሩን ክፈል", + "Start a hole here": "እዚህ ጋር ቀዳዳ ጀምር", + "Start editing": "ማረም ጀምር", + "Start slideshow": "ስላይድሾውን አስጀምር", + "Stop editing": "ማረም አቁም", + "Stop slideshow": "ስላይድሾውን አስቁም", + "Supported scheme": "የሚደገፉ ስኪሞች", + "Supported variables that will be dynamically replaced": "ዳይናሚካሊ የሚቀየሩ የሚደገፉ ቫርያብሎች", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "ቲ.ኤም.ኤስ. ፎርማት", + "Text color for the cluster label": "የክላስተሩን ሌብ ፅሑፍ ከለር", + "Text formatting": "ፅሁፍ ማስተካከያ", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "ዙሙ እና መሀከሉ ተወስነዋል", + "To use if remote server doesn't allow cross domain (slower)": "ሪሞት ሰርቨሩ የዶሜይን ልውውጥን የማይፈቅድ ከሆነ ይህን ለመጠቀም (አዝጋሚ)", + "To zoom": "ለማጉላት", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "ቅርፁን ወደ ታረመ ፊቸር አስተላልፍ", + "Transform to lines": "ወደመስመር ቀይር", + "Transform to polygon": "ወደፖሊጎን ቀይር", + "Type of layer": "የሌየሩ ዓይነት", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "ያልተሰየመ ሌየር", + "Untitled map": "ያለተሰየመ ካርታ", + "Update permissions": "Update permissions", + "Update permissions and editors": "ፍቃዶችን እና አራሚዎችን አሻሽል", + "Url": "የድረ-ገፅ መገኛ", + "Use current bounds": "የአሁንኖቹን መደረሻዎች ተጠቀም", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "በቅንፎች መሀከል የፊቸር ባህርያት ያላቸው ቦታያዦችን ተጠቀም፣ ለምሳሌ {name} ዳይናሚካሊ በተቀራራቢ ዋጋችወ ይተካሉ", + "User content credits": "የይዘቱን ክሬዲቶች ተጠቀም", + "User interface options": "የኢንተርፌስ ምርጫዎች", + "Versions": "እትሞች", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "ከዚህ ቀጥሎ ወደየት ነው የምንሄደው?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "ከታች በቀኝ ኮርነሩ ላይ ይታያል", + "Will be visible in the caption of the map": "በካርታው ካፕሽን ላይ እንዲታይ ይደረጋል", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "ውይ! ሌላ ሰው መረጃውን ሳያርመው አይቀርም። ለማንኛውም ማዳን/ማስቀመጥ ይቻላል፣ ነገር ግን የሌሎች እርማቶች ይሰረዛሉ", + "You have unsaved changes.": "ያልዳኑ/ያልተቀመጡ ለውጦች አሉ", + "Zoom in": "አጉላ", + "Zoom level for automatic zooms": "አውቶማቲክ ዙሞች የሚጎሉበት መጠን", + "Zoom out": "አርቅ", + "Zoom to layer extent": "የሌየሩ ኤክስቴንት ድረስ አጉላ", + "Zoom to the next": "ወደ ሚቀጥለው አጉላ", + "Zoom to the previous": "ቀደም ወዳለው አጉላ", + "Zoom to this feature": "ፊቸሩ ድረስ አጉላ", + "Zoom to this place": "Zoom to this place", + "attribution": "አትሪብዩሽን", + "by": "በ", + "display name": "ስሙን አሳይ", + "height": "ቁመት", + "licence": "ፈቃድ", + "max East": "በምስራቅ ከፍተናው", + "max North": "በደቡብ ከፍተኛው", + "max South": "በሰሜን ከፍተኛው", + "max West": "በምዕራብ ከፍተኛው", + "max zoom": "የመጨረሻው ዙም", + "min zoom": "ትንሹ ዙም", + "next": "ቀጥሎ", + "previous": "ቀድሞ", + "width": "ጎን", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/ar.js b/umap/static/umap/locale/ar.js new file mode 100644 index 00000000..2ee06bb3 --- /dev/null +++ b/umap/static/umap/locale/ar.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "أضف رمز", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "غيّر رمز", + "Choose the data format": "إختر شكل البيانات", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "دائرة", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "في الأسفل", + "On the left": "على اليسار", + "On the right": "على اليمين", + "On the top": "إلى الأعلى", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "لوحة جانبية", + "Simplify": "بسّط", + "Symbol or url": "Symbol or url", + "Table": "جدول", + "always": "دائماً", + "clear": "clear", + "collapsed": "collapsed", + "color": "لون", + "dash array": "dash array", + "define": "حدّد", + "description": "تقديم", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "إسم", + "never": "أبداً", + "new window": "نافدة جديدة", + "no": "لا", + "on hover": "on hover", + "opacity": "شفافية", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "نعم", + "{delay} seconds": "{الأجل} ثواني", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "أضف طبقة", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "يسمح بالتفاعل", + "An error occured": "حصل خطأ", + "Are you sure you want to cancel your changes?": "هل تريد فعلاً إلغاء تغييراتك ؟ ", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "هل تريد فعلاً حذف الخاصية ؟ ", + "Are you sure you want to delete this layer?": "هل تريد فعلاً حذف هذه الطبقة ؟", + "Are you sure you want to delete this map?": "هل تريد فعلاً حذف هذه الخريطة ؟", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "تصفح البيانات", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "أغلق", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "واصل الخط", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "حذف", + "Delete all layers": "حذف كل الطبقات", + "Delete layer": "حذف طبقة", + "Delete this feature": "حذف هذه الخاصية", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "حذف هذا الشكل", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "تحميل بيانات", + "Drag to reorder": "Drag to reorder", + "Draw a line": "رسم خط", + "Draw a marker": "رسم علامة", + "Draw a polygon": "رسم متعدد أضلاع", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "الخروج من الشاشة الكاملة", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "مساعدة", + "Hide controls": "Hide controls", + "Home": "الصفحة الرئيسية", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "طبقة", + "Layer properties": "خصوصيات طبقة", + "Licence": "الترخيص", + "Limit bounds": "Limit bounds", + "Link to…": "الرابط إلى...", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "الرجاء إختيار الشكل", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "تسجيل", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "ساعة", + "5 min": "5 دقائق", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ar", locale); +L.setLocale("ar"); \ No newline at end of file diff --git a/umap/static/umap/locale/ar.json b/umap/static/umap/locale/ar.json new file mode 100644 index 00000000..7c846372 --- /dev/null +++ b/umap/static/umap/locale/ar.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "أضف رمز", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "غيّر رمز", + "Choose the data format": "إختر شكل البيانات", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "دائرة", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "في الأسفل", + "On the left": "على اليسار", + "On the right": "على اليمين", + "On the top": "إلى الأعلى", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "لوحة جانبية", + "Simplify": "بسّط", + "Symbol or url": "Symbol or url", + "Table": "جدول", + "always": "دائماً", + "clear": "clear", + "collapsed": "collapsed", + "color": "لون", + "dash array": "dash array", + "define": "حدّد", + "description": "تقديم", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "إسم", + "never": "أبداً", + "new window": "نافدة جديدة", + "no": "لا", + "on hover": "on hover", + "opacity": "شفافية", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "نعم", + "{delay} seconds": "{الأجل} ثواني", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "أضف طبقة", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "يسمح بالتفاعل", + "An error occured": "حصل خطأ", + "Are you sure you want to cancel your changes?": "هل تريد فعلاً إلغاء تغييراتك ؟ ", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "هل تريد فعلاً حذف الخاصية ؟ ", + "Are you sure you want to delete this layer?": "هل تريد فعلاً حذف هذه الطبقة ؟", + "Are you sure you want to delete this map?": "هل تريد فعلاً حذف هذه الخريطة ؟", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "تصفح البيانات", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "أغلق", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "واصل الخط", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "حذف", + "Delete all layers": "حذف كل الطبقات", + "Delete layer": "حذف طبقة", + "Delete this feature": "حذف هذه الخاصية", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "حذف هذا الشكل", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "تحميل بيانات", + "Drag to reorder": "Drag to reorder", + "Draw a line": "رسم خط", + "Draw a marker": "رسم علامة", + "Draw a polygon": "رسم متعدد أضلاع", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "الخروج من الشاشة الكاملة", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "مساعدة", + "Hide controls": "Hide controls", + "Home": "الصفحة الرئيسية", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "طبقة", + "Layer properties": "خصوصيات طبقة", + "Licence": "الترخيص", + "Limit bounds": "Limit bounds", + "Link to…": "الرابط إلى...", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "الرجاء إختيار الشكل", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "تسجيل", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "ساعة", + "5 min": "5 دقائق", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/ast.js b/umap/static/umap/locale/ast.js new file mode 100644 index 00000000..fa0d1b9e --- /dev/null +++ b/umap/static/umap/locale/ast.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ast", locale); +L.setLocale("ast"); \ No newline at end of file diff --git a/umap/static/umap/locale/ast.json b/umap/static/umap/locale/ast.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/ast.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/bg.js b/umap/static/umap/locale/bg.js new file mode 100644 index 00000000..a3513ec6 --- /dev/null +++ b/umap/static/umap/locale/bg.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Добави символ", + "Allow scroll wheel zoom?": "Позволете скрол колело мащабиране?", + "Automatic": "Automatic", + "Ball": "топка", + "Cancel": "Отмени", + "Caption": "Надпис", + "Change symbol": "Промяна символ", + "Choose the data format": "Изберете формата на данните", + "Choose the layer of the feature": "Изберете слой на функцията", + "Circle": "окръжност", + "Clustered": "Клъстер", + "Data browser": "Data browser", + "Default": "по подразбиране", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Искате ли да се покаже надпис бар?", + "Do you want to display a minimap?": "Искате ли да се покаже миникартата?", + "Do you want to display a panel on load?": "Искате ли да се покаже панел на зареждане?", + "Do you want to display popup footer?": "Искате ли да се покаже изскачащ колонтитул?", + "Do you want to display the scale control?": "Искате ли да се показва мащаб контрола?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (само за връзка)", + "GeoRSS (title + image)": "GeoRSS (заглавие + изображение)", + "Heatmap": "Топлинна карта", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Наследи", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Нищо", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "цвят", + "dash array": "dash array", + "define": "define", + "description": "описание", + "expanded": "expanded", + "fill": "запълни", + "fill color": "попълнете цвят", + "fill opacity": "попълнете непрозрачност", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "наследи", + "name": "име", + "never": "never", + "new window": "new window", + "no": "не", + "on hover": "on hover", + "opacity": "непрозрачност", + "parent window": "parent window", + "stroke": "stroke", + "weight": "тегло", + "yes": "да", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# един хеш за главната позиция", + "## two hashes for second heading": "двата хешове за втората таблица", + "### three hashes for third heading": "# # # Три хеша за трета позиция", + "**double star for bold**": "двойна звезда за удебеление", + "*simple star for italic*": "* проста звезда за курсив *", + "--- for an horizontal rule": "---за хоризонтална линия", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "относно", + "Action not allowed :(": "Не позволено действие", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Добавете слой", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Разширено действия", + "Advanced properties": "Разширени свойства", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Всички свойства са внесени.", + "Allow interactions": "Allow interactions", + "An error occured": "Възникна грешка", + "Are you sure you want to cancel your changes?": "Наистина ли искате да отмените вашите промени?", + "Are you sure you want to clone this map and all its datalayers?": "Наистина ли искате да клонирате тази карта и всички негови слоеве данни ?", + "Are you sure you want to delete the feature?": "Сигурни ли сте, че искате да изтриете тази функция?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Сигурни ли сте, че искате да изтриете тази карта?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Преглед данни", + "Cancel edits": "Отмени редакциите", + "Center map on your location": "Center map on your location", + "Change map background": "Промяна фона на картата", + "Change tilelayers": "Променете слоевете", + "Choose a preset": "Изберете предварително зададен", + "Choose the format of the data to import": "Изберете формат на данните за внос", + "Choose the layer to import in": "Избери слой за внасяне в", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Клонинг", + "Clone of {name}": "Клонинг на {име}", + "Clone this feature": "Clone this feature", + "Clone this map": "клонира тази карта", + "Close": "Close", + "Clustering radius": "радиус на клъстери", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "приемам като достоверен", + "Current view instead of default map view?": "Текущ изглед, вместо по подразбиране вижте карта?", + "Custom background": "Потребителски фон", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "По подразбиране свойства", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Изтрий", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Изтриване на тази функция", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Упътвания от тук", + "Disable editing": "Забранете редакция", + "Display measure": "Display measure", + "Display on load": "Дисплей на зареждане", + "Download": "Download", + "Download data": "Изтегляне на данни", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Начертайте линия", + "Draw a marker": "Начертайте маркер", + "Draw a polygon": "Начертайте полигон", + "Draw a polyline": "Начертайте полилиния", + "Dynamic": "динамичен", + "Dynamic properties": "Dynamic properties", + "Edit": "Редактиране", + "Edit feature's layer": "Редактиране функцията на слоя", + "Edit map properties": "Редактирай свойствата на картата", + "Edit map settings": "Редактиране на настройките на картата", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Редактирайте тази характеристика", + "Editing": "За редактиране", + "Embed and share this map": "Вграждане и споделяне тази карта", + "Embed the map": "Вграждане на карта", + "Empty": "Празно", + "Enable editing": "Разрешаване на редактирането", + "Error in the tilelayer URL": "Грешка в URL адреса на слоя", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Филтър ...", + "Format": "формат", + "From zoom": "От мащабиране", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "радиус на Топлинна карта", + "Help": "Помощ", + "Hide controls": "Скрий контролите", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Колко да опрости полилинията на всяко ниво увеличение (повече = по-добра производителност и по-гладко на вид, по-малко = по-точно)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "вградена рамка,възможности за износ", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Изображение с поръчкова ширина (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "изображение: {{http://image.url.com}}", + "Import": "внасяне", + "Import data": "Внасям данни", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Включи пълна връзка на екрана?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Лиценз", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Връзка с текст: [[http://example.com|текст на връзката]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "Още контроли", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Само видими функции ще бъдат изтеглени.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Отворете тази карта в степен редактор на карта, за да предостави по-точни данни,OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "По избор Същото като цвят, ако не е настроена.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Моля, бъдете сигурни, че лицензът е съвместим с вашата употреба.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Проблем в отзивите", + "Problem in the response format": "Проблем във формата на отговор", + "Properties imported:": "Внесени свойства:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Представете URL тук", + "Proxy request": "Proxy request", + "Remote data": "отдалечена база данни", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "запазвам", + "Save anyway": "Save anyway", + "Save current edits": "Запиши текущите редакции", + "Save this center and zoom": "Запази този център и размер", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "Виж на цял екран", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Кратко URL", + "Short credits": "Short credits", + "Show/hide layer": "Покажи / скрий слой", + "Simple link: [[http://example.com]]": "проста връзка:[[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Започнете редактиране", + "Start slideshow": "Start slideshow", + "Stop editing": "Спри редактирането", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Поддържана схема", + "Supported variables that will be dynamically replaced": "Поддържаните променливи, които ще бъдат динамично заменени", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS формат", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "форматиране на текст", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "За да се използва, ако отдалечен сървър не позволява кръстосан домейн (по-бавно)", + "To zoom": "За да увеличите", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Трансформация на линии", + "Transform to polygon": "Трансформация на полигон", + "Type of layer": "Вид на слой", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Неозаглавен слой", + "Untitled map": "Неозаглавена карта", + "Update permissions": "Update permissions", + "Update permissions and editors": "Актуализиране на разрешения и редактори", + "Url": "URL адрес", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "Опции на потребителския интерфейс", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Къде да отидем от тук?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Намаляване на мащаба", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Увеличаване на тази характеристика", + "Zoom to this place": "Zoom to this place", + "attribution": "приписване", + "by": "чрез", + "display name": "показвано име", + "height": "височина", + "licence": "лиценз", + "max East": "максимум Източен", + "max North": "максимум Северен", + "max South": "максимум Южен", + "max West": "максимум Западна", + "max zoom": "максимум мащабиране", + "min zoom": "минимално мащабиране", + "next": "next", + "previous": "previous", + "width": "широчина", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("bg", locale); +L.setLocale("bg"); \ No newline at end of file diff --git a/umap/static/umap/locale/bg.json b/umap/static/umap/locale/bg.json new file mode 100644 index 00000000..4fa75604 --- /dev/null +++ b/umap/static/umap/locale/bg.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Добави символ", + "Allow scroll wheel zoom?": "Позволете скрол колело мащабиране?", + "Automatic": "Automatic", + "Ball": "топка", + "Cancel": "Отмени", + "Caption": "Надпис", + "Change symbol": "Промяна символ", + "Choose the data format": "Изберете формата на данните", + "Choose the layer of the feature": "Изберете слой на функцията", + "Circle": "окръжност", + "Clustered": "Клъстер", + "Data browser": "Data browser", + "Default": "по подразбиране", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Искате ли да се покаже надпис бар?", + "Do you want to display a minimap?": "Искате ли да се покаже миникартата?", + "Do you want to display a panel on load?": "Искате ли да се покаже панел на зареждане?", + "Do you want to display popup footer?": "Искате ли да се покаже изскачащ колонтитул?", + "Do you want to display the scale control?": "Искате ли да се показва мащаб контрола?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (само за връзка)", + "GeoRSS (title + image)": "GeoRSS (заглавие + изображение)", + "Heatmap": "Топлинна карта", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Наследи", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Нищо", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "цвят", + "dash array": "dash array", + "define": "define", + "description": "описание", + "expanded": "expanded", + "fill": "запълни", + "fill color": "попълнете цвят", + "fill opacity": "попълнете непрозрачност", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "наследи", + "name": "име", + "never": "never", + "new window": "new window", + "no": "не", + "on hover": "on hover", + "opacity": "непрозрачност", + "parent window": "parent window", + "stroke": "stroke", + "weight": "тегло", + "yes": "да", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# един хеш за главната позиция", + "## two hashes for second heading": "двата хешове за втората таблица", + "### three hashes for third heading": "# # # Три хеша за трета позиция", + "**double star for bold**": "двойна звезда за удебеление", + "*simple star for italic*": "* проста звезда за курсив *", + "--- for an horizontal rule": "---за хоризонтална линия", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "относно", + "Action not allowed :(": "Не позволено действие", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Добавете слой", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Разширено действия", + "Advanced properties": "Разширени свойства", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Всички свойства са внесени.", + "Allow interactions": "Allow interactions", + "An error occured": "Възникна грешка", + "Are you sure you want to cancel your changes?": "Наистина ли искате да отмените вашите промени?", + "Are you sure you want to clone this map and all its datalayers?": "Наистина ли искате да клонирате тази карта и всички негови слоеве данни ?", + "Are you sure you want to delete the feature?": "Сигурни ли сте, че искате да изтриете тази функция?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Сигурни ли сте, че искате да изтриете тази карта?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Преглед данни", + "Cancel edits": "Отмени редакциите", + "Center map on your location": "Center map on your location", + "Change map background": "Промяна фона на картата", + "Change tilelayers": "Променете слоевете", + "Choose a preset": "Изберете предварително зададен", + "Choose the format of the data to import": "Изберете формат на данните за внос", + "Choose the layer to import in": "Избери слой за внасяне в", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Клонинг", + "Clone of {name}": "Клонинг на {име}", + "Clone this feature": "Clone this feature", + "Clone this map": "клонира тази карта", + "Close": "Close", + "Clustering radius": "радиус на клъстери", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "приемам като достоверен", + "Current view instead of default map view?": "Текущ изглед, вместо по подразбиране вижте карта?", + "Custom background": "Потребителски фон", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "По подразбиране свойства", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Изтрий", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Изтриване на тази функция", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Упътвания от тук", + "Disable editing": "Забранете редакция", + "Display measure": "Display measure", + "Display on load": "Дисплей на зареждане", + "Download": "Download", + "Download data": "Изтегляне на данни", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Начертайте линия", + "Draw a marker": "Начертайте маркер", + "Draw a polygon": "Начертайте полигон", + "Draw a polyline": "Начертайте полилиния", + "Dynamic": "динамичен", + "Dynamic properties": "Dynamic properties", + "Edit": "Редактиране", + "Edit feature's layer": "Редактиране функцията на слоя", + "Edit map properties": "Редактирай свойствата на картата", + "Edit map settings": "Редактиране на настройките на картата", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Редактирайте тази характеристика", + "Editing": "За редактиране", + "Embed and share this map": "Вграждане и споделяне тази карта", + "Embed the map": "Вграждане на карта", + "Empty": "Празно", + "Enable editing": "Разрешаване на редактирането", + "Error in the tilelayer URL": "Грешка в URL адреса на слоя", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Филтър ...", + "Format": "формат", + "From zoom": "От мащабиране", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "радиус на Топлинна карта", + "Help": "Помощ", + "Hide controls": "Скрий контролите", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Колко да опрости полилинията на всяко ниво увеличение (повече = по-добра производителност и по-гладко на вид, по-малко = по-точно)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "вградена рамка,възможности за износ", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Изображение с поръчкова ширина (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "изображение: {{http://image.url.com}}", + "Import": "внасяне", + "Import data": "Внасям данни", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Включи пълна връзка на екрана?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Лиценз", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Връзка с текст: [[http://example.com|текст на връзката]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "Още контроли", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Само видими функции ще бъдат изтеглени.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Отворете тази карта в степен редактор на карта, за да предостави по-точни данни,OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "По избор Същото като цвят, ако не е настроена.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Моля, бъдете сигурни, че лицензът е съвместим с вашата употреба.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Проблем в отзивите", + "Problem in the response format": "Проблем във формата на отговор", + "Properties imported:": "Внесени свойства:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Представете URL тук", + "Proxy request": "Proxy request", + "Remote data": "отдалечена база данни", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "запазвам", + "Save anyway": "Save anyway", + "Save current edits": "Запиши текущите редакции", + "Save this center and zoom": "Запази този център и размер", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "Виж на цял екран", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Кратко URL", + "Short credits": "Short credits", + "Show/hide layer": "Покажи / скрий слой", + "Simple link: [[http://example.com]]": "проста връзка:[[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Започнете редактиране", + "Start slideshow": "Start slideshow", + "Stop editing": "Спри редактирането", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Поддържана схема", + "Supported variables that will be dynamically replaced": "Поддържаните променливи, които ще бъдат динамично заменени", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS формат", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "форматиране на текст", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "За да се използва, ако отдалечен сървър не позволява кръстосан домейн (по-бавно)", + "To zoom": "За да увеличите", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Трансформация на линии", + "Transform to polygon": "Трансформация на полигон", + "Type of layer": "Вид на слой", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Неозаглавен слой", + "Untitled map": "Неозаглавена карта", + "Update permissions": "Update permissions", + "Update permissions and editors": "Актуализиране на разрешения и редактори", + "Url": "URL адрес", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "Опции на потребителския интерфейс", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Къде да отидем от тук?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Намаляване на мащаба", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Увеличаване на тази характеристика", + "Zoom to this place": "Zoom to this place", + "attribution": "приписване", + "by": "чрез", + "display name": "показвано име", + "height": "височина", + "licence": "лиценз", + "max East": "максимум Източен", + "max North": "максимум Северен", + "max South": "максимум Южен", + "max West": "максимум Западна", + "max zoom": "максимум мащабиране", + "min zoom": "минимално мащабиране", + "next": "next", + "previous": "previous", + "width": "широчина", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/ca.js b/umap/static/umap/locale/ca.js new file mode 100644 index 00000000..e2d34a15 --- /dev/null +++ b/umap/static/umap/locale/ca.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Afegeix un símbol", + "Allow scroll wheel zoom?": "Voleu permetre el zoom amb la roda de desplaçament?", + "Automatic": "Automatic", + "Ball": "Bola", + "Cancel": "Cancel·la", + "Caption": "Llegenda", + "Change symbol": "Canvia el símbol", + "Choose the data format": "Trieu el format de dades", + "Choose the layer of the feature": "Trieu la capa de la característica", + "Circle": "Cercle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Per defecte", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Voleu mostrar la barra de llegenda?", + "Do you want to display a minimap?": "Voleu mostrar un minimapa?", + "Do you want to display a panel on load?": "Voleu mostrar el quandre en carregar?", + "Do you want to display popup footer?": "Voleu mostrar un peu emergent?", + "Do you want to display the scale control?": "Voleu mostrar el control d'escala?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Deixar", + "GeoRSS (only link)": "GeoRSS (només enllaç)", + "GeoRSS (title + image)": "GeoRSS (títol i imatge)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Hereta", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Cap", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Estableix el símbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Símbol o URL", + "Table": "Taula", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "descripció", + "expanded": "expanded", + "fill": "emplena", + "fill color": "emplena el color", + "fill opacity": "opacitat d'emplenament", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "heretat", + "name": "nom", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "en passar per sobre", + "opacity": "opacitat", + "parent window": "parent window", + "stroke": "stroke", + "weight": "pes", + "yes": "sí", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## dos coixinets per a capçalera secundària", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**doble asteric per a negreta**", + "*simple star for italic*": "*un asterisc per a cursiva*", + "--- for an horizontal rule": "--- per a una línia horitzontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Quant a", + "Action not allowed :(": "Acció no permesa :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Afegeix una capa", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Opcions avançades", + "Advanced properties": "Propietats avançades", + "Advanced transition": "Advanced transition", + "All properties are imported.": "S'han importat totes les propietats", + "Allow interactions": "Allow interactions", + "An error occured": "S'ha produït un error", + "Are you sure you want to cancel your changes?": "Esteu segur de voler cancel·lar els canvis?", + "Are you sure you want to clone this map and all its datalayers?": "Esteu segur de voler clonar aquest mapa i totes les capes de dades?", + "Are you sure you want to delete the feature?": "Segur que voleu suprimir la característica?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Esteu segur de voler suprimir aquest mapa?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Adjunta el mapa al meu compte", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Explora les dades", + "Cancel edits": "Cancel·la les edicions", + "Center map on your location": "Centra el mapa a la vostra ubicació", + "Change map background": "Canvia el fons del mapa", + "Change tilelayers": "Canvia les capes de tessel·les", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Trieu el format de les dades a importar", + "Choose the layer to import in": "Trieu la capa que on voleu importar", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Feu clic per a afegir una marca", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clona", + "Clone of {name}": "Clona de {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clona aquest mapa", + "Close": "Tanca", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordenades", + "Credits": "Crèdits", + "Current view instead of default map view?": "Voleu la visualització actual en comptes de la visualització predeterminada?", + "Custom background": "Fons personalitzat", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Propietats predeterminades", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Suprimeix", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Suprimeix aquesta característica", + "Delete this property on all the features": "Suprimeix aquesta propietat a totes les característiques", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Direccions des d'aquí", + "Disable editing": "Inhabilita l'edició", + "Display measure": "Display measure", + "Display on load": "Mostrar en carregar", + "Download": "Baixa", + "Download data": "Baixa les dades", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Dibuixa una línia", + "Draw a marker": "Dibuixa un marcador", + "Draw a polygon": "Dibuixa un polígon", + "Draw a polyline": "Dibuixa una polilínia", + "Dynamic": "Dinàmic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edita", + "Edit feature's layer": "Edita la capa de la característica", + "Edit map properties": "Edita les propietats del mapa", + "Edit map settings": "Edita els paràmetres del mapa", + "Edit properties in a table": "Edita les propietats en una taula", + "Edit this feature": "Edita aquesta característica", + "Editing": "Edició", + "Embed and share this map": "Incrusta i comparteix aquest mapa", + "Embed the map": "Incrusta el mapa", + "Empty": "Buit", + "Enable editing": "Habilita l'edició", + "Error in the tilelayer URL": "Hi ha un error en l'URL de la cap de tessel·les", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtre...", + "Format": "Format", + "From zoom": "Del zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Vés a «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Ajuda", + "Hide controls": "Amaga els controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Opcions de l'exportació iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imatge amb amplada personalitzada (en px): {{http://imatge.url.com|amplada}}", + "Image: {{http://image.url.com}}": "Imatge: {{http://imatge.url.com}}", + "Import": "Importa", + "Import data": "Importa dades", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Voleu incloure l'enllaç a pantalla completa?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitud", + "Layer": "Capa", + "Layer properties": "Layer properties", + "Licence": "Llicència", + "Limit bounds": "Límits", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Enllaceu amb el text: [[http://exemple.com|text de l'enllaç]]", + "Long credits": "Long credits", + "Longitude": "Longitud", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Crèdits del fons del mapa", + "Map has been attached to your account": "El mapa s'ha adjuntat al vostre compte", + "Map has been saved!": "S'ha desat el mapa!", + "Map user content has been published under licence": "El contingut de l'usuari del mapa s'ha publicat sota la llicència", + "Map's editors": "Editors del mapa", + "Map's owner": "Propietari del mapa", + "Merge lines": "Merge lines", + "More controls": "Més controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Obre el tauler de baixada", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Opcional. El mateix color si no s'estableix.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Assegureu-vos que la llicència és compatible amb l'ús que en feu.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Introduïu el nom de la propietat", + "Please enter the new name of this property": "Introduïu el nom d'aquesta propietat", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Hi ha un problema en la resposta", + "Problem in the response format": "Hi ha un problema en el format de resposta", + "Properties imported:": "Propietats importades:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Proporcioneu un URL aquí", + "Proxy request": "Petició proxy", + "Remote data": "Dades remotes", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Canvia el nom d'aquesta propietat en totes les característiques", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Desa", + "Save anyway": "Desa-ho igualment", + "Save current edits": "Desa les edicions actuals", + "Save this center and zoom": "Desa aquest centre i escala", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Cerca un nom de lloc", + "Search location": "Search location", + "Secret edit link is:
    {link}": "L'enllaç secret d'edició és:
    {link}", + "See all": "See all", + "See data layers": "Mostra les capes de dades", + "See full screen": "Mostra-ho a pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "URL curt", + "Short credits": "Short credits", + "Show/hide layer": "Mostra/amaga la capa", + "Simple link: [[http://example.com]]": "Enllaç simple: [[http://exemple.com]]", + "Slideshow": "Presentació", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Inicia l'edició", + "Start slideshow": "Inicia la presentació", + "Stop editing": "Atura l'edició", + "Stop slideshow": "Atura la presentació", + "Supported scheme": "Esquema suportat", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "El símbol pot ser qualsevol caràcter Unicode o un URL. Podeu usar propietats de característiques com a variables. P. ex: amb \"http://myserver.org/images/{name}.png\", la variable {name} se substituirà amb el valor de \"name\" de cada marcador.", + "TMS format": "Format TMS", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Format del text", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "S'han establert l'escala i el centre.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "A l'escala", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transforma a línies", + "Transform to polygon": "Transforma a polígon", + "Type of layer": "Tipus de capa", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Capa sense títol", + "Untitled map": "Mapa sense títol", + "Update permissions": "Actualitza els permisos", + "Update permissions and editors": "Actualitza els permisos i editors", + "Url": "URL", + "Use current bounds": "Usa els límits actuals", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Crèdits dels continguts de l'usuari", + "User interface options": "Opcions de la interfície d'usuari", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "On anem des d'aquí?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Qui pot editar", + "Who can view": "Qui pot visualitzar", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Apropa't", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Allunya't", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Fes zoom a aquesta característica", + "Zoom to this place": "Zoom to this place", + "attribution": "atribució", + "by": "per", + "display name": "mostra el nom", + "height": "alçada", + "licence": "llicència", + "max East": "Est màxim", + "max North": "Nord màxim", + "max South": "Sud màxim", + "max West": "Oest màxim", + "max zoom": "escala màxima", + "min zoom": "escala mínima", + "next": "next", + "previous": "previous", + "width": "amplada", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Mesura distàncies", + "NM": "NM", + "kilometers": "quilòmetres", + "km": "km", + "mi": "mi", + "miles": "milles", + "nautical miles": "miles nàutiques", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milles", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Petició proxy en memòria cau", + "No cache": "Sense memòria cau", + "Popup": "Finestra emergent", + "Popup (large)": "Finestra emergent (gran)", + "Popup content style": "Estil del contingut de la finestra emergent", + "Popup shape": "Forma de la finestra emergent", + "Skipping unknown geometry.type: {type}": "S'està ometent el tipus de geometria desconegut: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Enganxeu les dades aquí", + "Please save the map first": "Abans deseu el mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ca", locale); +L.setLocale("ca"); \ No newline at end of file diff --git a/umap/static/umap/locale/ca.json b/umap/static/umap/locale/ca.json new file mode 100644 index 00000000..61a3d9c3 --- /dev/null +++ b/umap/static/umap/locale/ca.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Afegeix un símbol", + "Allow scroll wheel zoom?": "Voleu permetre el zoom amb la roda de desplaçament?", + "Automatic": "Automatic", + "Ball": "Bola", + "Cancel": "Cancel·la", + "Caption": "Llegenda", + "Change symbol": "Canvia el símbol", + "Choose the data format": "Trieu el format de dades", + "Choose the layer of the feature": "Trieu la capa de la característica", + "Circle": "Cercle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Per defecte", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Voleu mostrar la barra de llegenda?", + "Do you want to display a minimap?": "Voleu mostrar un minimapa?", + "Do you want to display a panel on load?": "Voleu mostrar el quandre en carregar?", + "Do you want to display popup footer?": "Voleu mostrar un peu emergent?", + "Do you want to display the scale control?": "Voleu mostrar el control d'escala?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Deixar", + "GeoRSS (only link)": "GeoRSS (només enllaç)", + "GeoRSS (title + image)": "GeoRSS (títol i imatge)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Hereta", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Cap", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Estableix el símbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Símbol o URL", + "Table": "Taula", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "descripció", + "expanded": "expanded", + "fill": "emplena", + "fill color": "emplena el color", + "fill opacity": "opacitat d'emplenament", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "heretat", + "name": "nom", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "en passar per sobre", + "opacity": "opacitat", + "parent window": "parent window", + "stroke": "stroke", + "weight": "pes", + "yes": "sí", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## dos coixinets per a capçalera secundària", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**doble asteric per a negreta**", + "*simple star for italic*": "*un asterisc per a cursiva*", + "--- for an horizontal rule": "--- per a una línia horitzontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Quant a", + "Action not allowed :(": "Acció no permesa :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Afegeix una capa", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Opcions avançades", + "Advanced properties": "Propietats avançades", + "Advanced transition": "Advanced transition", + "All properties are imported.": "S'han importat totes les propietats", + "Allow interactions": "Allow interactions", + "An error occured": "S'ha produït un error", + "Are you sure you want to cancel your changes?": "Esteu segur de voler cancel·lar els canvis?", + "Are you sure you want to clone this map and all its datalayers?": "Esteu segur de voler clonar aquest mapa i totes les capes de dades?", + "Are you sure you want to delete the feature?": "Segur que voleu suprimir la característica?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Esteu segur de voler suprimir aquest mapa?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Adjunta el mapa al meu compte", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Explora les dades", + "Cancel edits": "Cancel·la les edicions", + "Center map on your location": "Centra el mapa a la vostra ubicació", + "Change map background": "Canvia el fons del mapa", + "Change tilelayers": "Canvia les capes de tessel·les", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Trieu el format de les dades a importar", + "Choose the layer to import in": "Trieu la capa que on voleu importar", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Feu clic per a afegir una marca", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clona", + "Clone of {name}": "Clona de {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clona aquest mapa", + "Close": "Tanca", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordenades", + "Credits": "Crèdits", + "Current view instead of default map view?": "Voleu la visualització actual en comptes de la visualització predeterminada?", + "Custom background": "Fons personalitzat", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Propietats predeterminades", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Suprimeix", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Suprimeix aquesta característica", + "Delete this property on all the features": "Suprimeix aquesta propietat a totes les característiques", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Direccions des d'aquí", + "Disable editing": "Inhabilita l'edició", + "Display measure": "Display measure", + "Display on load": "Mostrar en carregar", + "Download": "Baixa", + "Download data": "Baixa les dades", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Dibuixa una línia", + "Draw a marker": "Dibuixa un marcador", + "Draw a polygon": "Dibuixa un polígon", + "Draw a polyline": "Dibuixa una polilínia", + "Dynamic": "Dinàmic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edita", + "Edit feature's layer": "Edita la capa de la característica", + "Edit map properties": "Edita les propietats del mapa", + "Edit map settings": "Edita els paràmetres del mapa", + "Edit properties in a table": "Edita les propietats en una taula", + "Edit this feature": "Edita aquesta característica", + "Editing": "Edició", + "Embed and share this map": "Incrusta i comparteix aquest mapa", + "Embed the map": "Incrusta el mapa", + "Empty": "Buit", + "Enable editing": "Habilita l'edició", + "Error in the tilelayer URL": "Hi ha un error en l'URL de la cap de tessel·les", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtre...", + "Format": "Format", + "From zoom": "Del zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Vés a «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Ajuda", + "Hide controls": "Amaga els controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Opcions de l'exportació iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imatge amb amplada personalitzada (en px): {{http://imatge.url.com|amplada}}", + "Image: {{http://image.url.com}}": "Imatge: {{http://imatge.url.com}}", + "Import": "Importa", + "Import data": "Importa dades", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Voleu incloure l'enllaç a pantalla completa?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitud", + "Layer": "Capa", + "Layer properties": "Layer properties", + "Licence": "Llicència", + "Limit bounds": "Límits", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Enllaceu amb el text: [[http://exemple.com|text de l'enllaç]]", + "Long credits": "Long credits", + "Longitude": "Longitud", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Crèdits del fons del mapa", + "Map has been attached to your account": "El mapa s'ha adjuntat al vostre compte", + "Map has been saved!": "S'ha desat el mapa!", + "Map user content has been published under licence": "El contingut de l'usuari del mapa s'ha publicat sota la llicència", + "Map's editors": "Editors del mapa", + "Map's owner": "Propietari del mapa", + "Merge lines": "Merge lines", + "More controls": "Més controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Obre el tauler de baixada", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Opcional. El mateix color si no s'estableix.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Assegureu-vos que la llicència és compatible amb l'ús que en feu.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Introduïu el nom de la propietat", + "Please enter the new name of this property": "Introduïu el nom d'aquesta propietat", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Hi ha un problema en la resposta", + "Problem in the response format": "Hi ha un problema en el format de resposta", + "Properties imported:": "Propietats importades:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Proporcioneu un URL aquí", + "Proxy request": "Petició proxy", + "Remote data": "Dades remotes", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Canvia el nom d'aquesta propietat en totes les característiques", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Desa", + "Save anyway": "Desa-ho igualment", + "Save current edits": "Desa les edicions actuals", + "Save this center and zoom": "Desa aquest centre i escala", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Cerca un nom de lloc", + "Search location": "Search location", + "Secret edit link is:
    {link}": "L'enllaç secret d'edició és:
    {link}", + "See all": "See all", + "See data layers": "Mostra les capes de dades", + "See full screen": "Mostra-ho a pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "URL curt", + "Short credits": "Short credits", + "Show/hide layer": "Mostra/amaga la capa", + "Simple link: [[http://example.com]]": "Enllaç simple: [[http://exemple.com]]", + "Slideshow": "Presentació", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Inicia l'edició", + "Start slideshow": "Inicia la presentació", + "Stop editing": "Atura l'edició", + "Stop slideshow": "Atura la presentació", + "Supported scheme": "Esquema suportat", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "El símbol pot ser qualsevol caràcter Unicode o un URL. Podeu usar propietats de característiques com a variables. P. ex: amb \"http://myserver.org/images/{name}.png\", la variable {name} se substituirà amb el valor de \"name\" de cada marcador.", + "TMS format": "Format TMS", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Format del text", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "S'han establert l'escala i el centre.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "A l'escala", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transforma a línies", + "Transform to polygon": "Transforma a polígon", + "Type of layer": "Tipus de capa", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Capa sense títol", + "Untitled map": "Mapa sense títol", + "Update permissions": "Actualitza els permisos", + "Update permissions and editors": "Actualitza els permisos i editors", + "Url": "URL", + "Use current bounds": "Usa els límits actuals", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Crèdits dels continguts de l'usuari", + "User interface options": "Opcions de la interfície d'usuari", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "On anem des d'aquí?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Qui pot editar", + "Who can view": "Qui pot visualitzar", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Apropa't", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Allunya't", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Fes zoom a aquesta característica", + "Zoom to this place": "Zoom to this place", + "attribution": "atribució", + "by": "per", + "display name": "mostra el nom", + "height": "alçada", + "licence": "llicència", + "max East": "Est màxim", + "max North": "Nord màxim", + "max South": "Sud màxim", + "max West": "Oest màxim", + "max zoom": "escala màxima", + "min zoom": "escala mínima", + "next": "next", + "previous": "previous", + "width": "amplada", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Mesura distàncies", + "NM": "NM", + "kilometers": "quilòmetres", + "km": "km", + "mi": "mi", + "miles": "milles", + "nautical miles": "miles nàutiques", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milles", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Petició proxy en memòria cau", + "No cache": "Sense memòria cau", + "Popup": "Finestra emergent", + "Popup (large)": "Finestra emergent (gran)", + "Popup content style": "Estil del contingut de la finestra emergent", + "Popup shape": "Forma de la finestra emergent", + "Skipping unknown geometry.type: {type}": "S'està ometent el tipus de geometria desconegut: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Enganxeu les dades aquí", + "Please save the map first": "Abans deseu el mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/cs_CZ.js b/umap/static/umap/locale/cs_CZ.js new file mode 100644 index 00000000..8a73426f --- /dev/null +++ b/umap/static/umap/locale/cs_CZ.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Přidat symbol", + "Allow scroll wheel zoom?": "Povolit přibližování kolečkem myši?", + "Automatic": "Automatic", + "Ball": "špendlík", + "Cancel": "Storno", + "Caption": "Popisek", + "Change symbol": "Změnit symbol značky", + "Choose the data format": "Vyberte formát dat", + "Choose the layer of the feature": "Zvolte vrstvu do které objekt patří", + "Circle": "Kruh", + "Clustered": "Shluková", + "Data browser": "Prohlížeč dat", + "Default": "Výchozí", + "Default zoom level": "Výchozí přiblížení", + "Default: name": "Výchozí: name (název objektu)", + "Display label": "Zobrazit popisek", + "Display the control to open OpenStreetMap editor": "Zobrazit možnost upravit mapu v OpenStreetMap editoru", + "Display the data layers control": "Zobrazit tlačítko nastavení datových vrstev", + "Display the embed control": "Zobrazit tlačítko pro sdílení mapy", + "Display the fullscreen control": "Zobrazit tlačítko pro celoobrazovkový režim", + "Display the locate control": "Zobrazit tlačítko pro určení polohy", + "Display the measure control": "Zobrazit tlačítko pro měření vzdálenosti", + "Display the search control": "Zobrazit vyhledávání", + "Display the tile layers control": "Zobrazit tlačítko pro změnu mapového podkladu", + "Display the zoom control": "Zobrazit ovládání přiblížení", + "Do you want to display a caption bar?": "Chcete zobrazit panel s popiskem?", + "Do you want to display a minimap?": "Chcete zobrazit minimapu?", + "Do you want to display a panel on load?": "Chcete při načtení zobrazit panel?", + "Do you want to display popup footer?": "Chcete v bublině zobrazit navigační panel?", + "Do you want to display the scale control?": "Chcete zobrazit měřítko mapy?", + "Do you want to display the «more» control?": "Přejete si zobrazovat ovládací prvek «více»?", + "Drop": "Pustit", + "GeoRSS (only link)": "GeoRSS (jen odkaz)", + "GeoRSS (title + image)": "GeoRSS (titulek + obrázek)", + "Heatmap": "Teplotní mapa", + "Icon shape": "Tvar ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "výchozí", + "Label direction": "Směr popisku", + "Label key": "Tlačítko popisku", + "Labels are clickable": "Popisky jsou klikatelné", + "None": "Žádný", + "On the bottom": "Zespod", + "On the left": "Nalevo", + "On the right": "Napravo", + "On the top": "Shora", + "Popup content template": "Šablona obsahu bubliny", + "Set symbol": "Nastavit symbol", + "Side panel": "Boční panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol nebo adresa URL", + "Table": "Tabulka", + "always": "vždy", + "clear": "vymazat", + "collapsed": "sbalené", + "color": "barva", + "dash array": "styl přerušované čáry", + "define": "definovat", + "description": "popis", + "expanded": "rozbalené", + "fill": "výplň", + "fill color": "barva výplně", + "fill opacity": "průhlednost výplně", + "hidden": "skryté", + "iframe": "iframe", + "inherit": "výchozí", + "name": "název", + "never": "nikdy", + "new window": "nové okno", + "no": "ne", + "on hover": "při přejetí myší", + "opacity": "průhlednost", + "parent window": "rodičovské okno", + "stroke": "linka", + "weight": "šířka linky", + "yes": "ano", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# jedna mřížka pro hlavní nadpis", + "## two hashes for second heading": "## dvě mřížky pro nadpis druhé úrovně", + "### three hashes for third heading": "### podnadpis třetí úrovně", + "**double star for bold**": "**vše mezi dvěma hvězdičkami je tučně**", + "*simple star for italic*": "*vše mezi hvězdičkami bude kurzívou*", + "--- for an horizontal rule": "--- vytvoří vodorovnou linku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Čárkami oddělený seznam čísel, který popisuje vzorek přerušované čáry. Např. «5, 10, 15».", + "About": "O mapě", + "Action not allowed :(": "Akce nepovolena :(", + "Activate slideshow mode": "Aktivovat prezentační mód", + "Add a layer": "Přidat vrstvu", + "Add a line to the current multi": "Přidat čáru k současnému multi", + "Add a new property": "Přidat novou vlastnost", + "Add a polygon to the current multi": "Přidat polygon k současnému multi", + "Advanced actions": "Pokročilé akce", + "Advanced properties": "Pokročilé vlastnosti", + "Advanced transition": "Pokročilá translace", + "All properties are imported.": "Všechny vlastnosti jsou importovány.", + "Allow interactions": "Povolit interakce", + "An error occured": "Došlo k chybě", + "Are you sure you want to cancel your changes?": "Jste si jisti že chcete stornovat vaše úpravy?", + "Are you sure you want to clone this map and all its datalayers?": "Určitě chcete vytvořit kopii celé této mapy a všech jejich vrstev?", + "Are you sure you want to delete the feature?": "Určitě chcete vymazat tento objekt?", + "Are you sure you want to delete this layer?": "Jste si jisti, že chcete smazat tuto vrstvu?", + "Are you sure you want to delete this map?": "Jste si jisti, že chcete vymazat tuto celou mapu?", + "Are you sure you want to delete this property on all the features?": "Určitě chcete smazat tuto vlastnost na všech objektech?", + "Are you sure you want to restore this version?": "Opravdu si přejete obnovit tuto verzi?", + "Attach the map to my account": "Připojte mapu k mému účtu", + "Auto": "Automatická", + "Autostart when map is loaded": "Spustit po načtení mapy", + "Bring feature to center": "Centruj mapu na objektu", + "Browse data": "Prohlížet data", + "Cancel edits": "Stornovat úpravy", + "Center map on your location": "Přemístit se na mapě na vaši polohu", + "Change map background": "Změnit pozadí mapy", + "Change tilelayers": "Změnit pozadí mapy", + "Choose a preset": "Zvolte přednastavení", + "Choose the format of the data to import": "Zvolte v jakém formátu jsou importovaná data", + "Choose the layer to import in": "Zvolte vrstvu, do které se bude importovat", + "Click last point to finish shape": "Klikněte na poslední bod pro dokončení tvaru", + "Click to add a marker": "Kliknutím přidáš značku", + "Click to continue drawing": "Kliknutím můžeš pokračovat v kreslení", + "Click to edit": "Klikněte pro úpravy", + "Click to start drawing a line": "Klikněte pro začátek kreslení čáry", + "Click to start drawing a polygon": "Klikněte pro začátek kreslení polygonu", + "Clone": "Klonovat", + "Clone of {name}": "Klon objektu {name}", + "Clone this feature": "Vytvoř vlastní kopii této vlastnosti", + "Clone this map": "Vytvořit vlastní kopii této mapy", + "Close": "Zavřít", + "Clustering radius": "Poloměr shlukování", + "Comma separated list of properties to use when filtering features": "Čárkami oddělený seznam vlastností pro filtrování objektů", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Hodnoty oddělené čárkou, tabulátorem, nebo středníkem. předpokládá se SRS WGS84 a jsou importovány jen polohy bodů. Import hledá záhlaví sloupců začínající na \"lat\" nebo \"lon\" a ty považuje za souřadnice (na velikosti písmen nesejde). Ostatní sloupce jsou importovány jako vlastnosti.", + "Continue line": "Pokračovat v čáře", + "Continue line (Ctrl+Click)": "Pokračovat v čáře (Ctrl+Klik)", + "Coordinates": "Souřadnice", + "Credits": "Autorství", + "Current view instead of default map view?": "Současný pohled namísto výchozího?", + "Custom background": "Vlastní pozadí", + "Data is browsable": "Data se dají procházet", + "Default interaction options": "Výchozí možnosti interakce", + "Default properties": "Výchozí vlastnosti", + "Default shape properties": "Výchozí nastavení tvaru", + "Define link to open in a new window on polygon click.": "Definice odkazu, který se otevře v novém okně po kliknutí na polygon.", + "Delay between two transitions when in play mode": "Zpoždění mezi dvěma předěly v přehrávacím módu", + "Delete": "Vymazat", + "Delete all layers": "Vymazat všechny vrstvy", + "Delete layer": "Vymazat vrstvu", + "Delete this feature": "Vymazat objekt", + "Delete this property on all the features": "Smazat tuto vlastnost na všech objektech", + "Delete this shape": "Smazat tento tvar", + "Delete this vertex (Alt+Click)": "Smazat tento bod (Alt+Klik)", + "Directions from here": "Navigovat odsud", + "Disable editing": "Zakázat úpravy", + "Display measure": "Zobrazit měřítko", + "Display on load": "Zobrazit při startu", + "Download": "Stažení", + "Download data": "Stáhnout data", + "Drag to reorder": "Přetáhni pro přeskupení", + "Draw a line": "Nakreslit jednoduchou čáru", + "Draw a marker": "Umístit značku místa", + "Draw a polygon": "Vyznačit oblast", + "Draw a polyline": "Nakreslit čáru", + "Dynamic": "Dynamicky", + "Dynamic properties": "Dynamické vlastnosti", + "Edit": "Upravit", + "Edit feature's layer": "Upravit vrstvu objektu", + "Edit map properties": "Nastavení mapy", + "Edit map settings": "Nastavení mapy", + "Edit properties in a table": "Upravit vlastnosti v tabulce", + "Edit this feature": "Upravit tento objekt", + "Editing": "Upravujete", + "Embed and share this map": "Sílet mapu nebo ji vložit do jiného webu", + "Embed the map": "Vložit mapu do jiného webu", + "Empty": "Vyprázdnit", + "Enable editing": "Povolit úpravy", + "Error in the tilelayer URL": "Chyba v URL vrstvy dlaždic", + "Error while fetching {url}": "Chyba při načítání {url}", + "Exit Fullscreen": "Ukončit režim celé obrazovky", + "Extract shape to separate feature": "Vyjmout tvar do samostatného objektu", + "Fetch data each time map view changes.": "Získat data při každé změně zobrazení mapy.", + "Filter keys": "Filtrovací klávesy", + "Filter…": "Filtr ...", + "Format": "Formát", + "From zoom": "Maximální oddálení", + "Full map data": "Kompletní mapová data", + "Go to «{feature}»": "Jdi na \"{feature}\"", + "Heatmap intensity property": "Vlastnost pro intenzitu teplotní mapy", + "Heatmap radius": "Poloměr teplotní mapy", + "Help": "Nápověda", + "Hide controls": "Skrýt ovládací prvky", + "Home": "Domů", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Jak moc zahlazovat a zjednodušovat při oddálení (větší = rychlejší odezva a plynulejší vzhled, menší = přesnější)", + "If false, the polygon will act as a part of the underlying map.": "Pokud je vypnuto, polygon se bude chovat jako součást mapového podkladu.", + "Iframe export options": "Možnosti exportu pro iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe s vlastní výškou (v px): {{{http://iframe.url.com|výška}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe s vlastní výškou a šířkou (in px): {{{http://iframe.url.com|výška*šířka}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obrázek s vlastní šířkou (v px): {{http://obrazek.url.com|šířka}}", + "Image: {{http://image.url.com}}": "Obrázek: {{http://priklad.cz/obrazek.jpg}}", + "Import": "Importovat", + "Import data": "Import dat", + "Import in a new layer": "Importovat do nové vrstvy", + "Imports all umap data, including layers and settings.": "Importuje všechy data umapy, včetně vrstev a nastavení", + "Include full screen link?": "Zahrnout odkaz na celou obrazovku?", + "Interaction options": "Možnosti interakce", + "Invalid umap data": "Neplatná data umapy", + "Invalid umap data in {filename}": "Neplatná data umapy v souboru {filename}", + "Keep current visible layers": "Použít aktuální zobrazení vrstev", + "Latitude": "Sev. šířka", + "Layer": "Vrstva", + "Layer properties": "Vlastnosti vrstvy", + "Licence": "Licence", + "Limit bounds": "Hranice zobrazení", + "Link to…": "Odkaz na…", + "Link with text: [[http://example.com|text of the link]]": "Odkaz: [[http://priklad.cz/stranka|text odkazu]]", + "Long credits": "Dlouhý text autorství", + "Longitude": "Délka", + "Make main shape": "Učinit hlavním tvarem", + "Manage layers": "Spravovat vrstvy", + "Map background credits": "Autorství pozadí mapy", + "Map has been attached to your account": "Mapa byla připojena k vašemu účtu", + "Map has been saved!": "Mapa byla uložena", + "Map user content has been published under licence": "Uživatelská data jsou zveřejněna pod licencí", + "Map's editors": "Mapoví editoři", + "Map's owner": "Majitel mapy", + "Merge lines": "Spojit čáry", + "More controls": "Více ovládacích prvků", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Platný název v CSS (např.: Red, Blue nebo #123456)", + "No licence has been set": "Nebyla nastavena licence", + "No results": "Žádné výsledky", + "Only visible features will be downloaded.": "Budou staženy jen viditelné objekty", + "Open download panel": "Otevřít panel na stahování", + "Open link in…": "Otevřít adresu v…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otevři tuto oblast v editoru OpenStreetMap. Toto vám umožní editovat přímo základní mapová data a přispět tak v tvorbě svobodné mapy pro všechny.", + "Optional intensity property for heatmap": "Volitelná vlastnost pro výpočet intenzity v teplotní mapě", + "Optional. Same as color if not set.": "Nepovinné. Stejné jako barva, pokud není nastaveno.", + "Override clustering radius (default 80)": "Přepsat shlukovací poloměr (výchozí hodnota 80)", + "Override heatmap radius (default 25)": "Přepsat poloměr teplotní mapy (výchozí hodnota 25)", + "Please be sure the licence is compliant with your use.": "Prosíme ujistěte se, že licence je ve shodě s tím jak mapu používáte.", + "Please choose a format": "Zvolte formát", + "Please enter the name of the property": "Zadejte prosím název vlastnosti", + "Please enter the new name of this property": "Zadejte prosím nový název této vlastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Sestaveno z Leaflet a Django, propojených pomocí projektu uMap.", + "Problem in the response": "Problém při odpovědi", + "Problem in the response format": "Problém ve formátu odpovědi", + "Properties imported:": "Importované vlastnosti:", + "Property to use for sorting features": "Vlastnost použitá pro řazení objektů", + "Provide an URL here": "Sem vložte odkaz", + "Proxy request": "Požadavky přes proxy", + "Remote data": "Vzdálená data", + "Remove shape from the multi": "Odebrat tvar z multi", + "Rename this property on all the features": "Přejmenovat tuto vlastnost na všech objektech", + "Replace layer content": "Nahradit obsah vrstvy", + "Restore this version": "Obnovit tuto verzi", + "Save": "Ulož", + "Save anyway": "I tak uložit", + "Save current edits": "Ulož nedávné změny", + "Save this center and zoom": "Ulož tuto pozici mapy a její přiblížení", + "Save this location as new feature": "Uložit tuto pozici jako nový objekt", + "Search a place name": "Vyhledejte název místa", + "Search location": "Vyhledat místo na mapě", + "Secret edit link is:
    {link}": "Tajný odkaz na úpravy je:
    {link}", + "See all": "Zobraz vše", + "See data layers": "Zobrazit datové vrstvy", + "See full screen": "Na celou obrazovku", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Nastavte na false pro ukrytí této vrstvy z prezentace, prohlížeče dat, vyskakovací navigace...", + "Shape properties": "Vlastností tvaru", + "Short URL": "Krátký odkaz", + "Short credits": "Krátký text autorství", + "Show/hide layer": "Skrytí/zobrazení vrstvy", + "Simple link: [[http://example.com]]": "Jednoduchý odkaz: [[http://priklad.cz]]", + "Slideshow": "Prezentace", + "Smart transitions": "Chytré přechody", + "Sort key": "Řadící klávesa", + "Split line": "Rozdělit čáru", + "Start a hole here": "Začít tady díru", + "Start editing": "Začít editaci", + "Start slideshow": "Spustit prezentaci", + "Stop editing": "Přerušit úpravy", + "Stop slideshow": "Zastavit prezentaci", + "Supported scheme": "Podporované schéma", + "Supported variables that will be dynamically replaced": "Podporované proměnné, které budou automaticky nahrazeny", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol může mít buď znak unicode nebo URL. Vlastnosti můžete použít jako proměnné: např. Pomocí \"http://myserver.org/images/{name}.png\" bude proměnná {name} nahrazena hodnotou \"name\" každé značky.", + "TMS format": "formát TMS", + "Text color for the cluster label": "Barva textu popisku shluku", + "Text formatting": "Formátování textu", + "The name of the property to use as feature label (ex.: \"nom\")": "Název vlastnosti pro použití v popisku objektu (ex.: \"nom\")", + "The zoom and center have been setted.": "Přiblížení a střed mapy byly nastaveny", + "To use if remote server doesn't allow cross domain (slower)": "Pro případ že vzdálený server neumožňuje cross domain (pomalejší)", + "To zoom": "Maximální přiblížení", + "Toggle edit mode (Shift+Click)": "Přepnout do editovacího módu (Shift+Click)", + "Transfer shape to edited feature": "Přenést tvar do editovaného objektu", + "Transform to lines": "Převést na čáry", + "Transform to polygon": "Převést na polygon", + "Type of layer": "Druh vrstvy", + "Unable to detect format of file {filename}": "Nepodařilo se detekovat formát souboru {filename}", + "Untitled layer": "Nepojmenovaná vrstva", + "Untitled map": "Mapa bez názvu", + "Update permissions": "Aktualizace oprávnění", + "Update permissions and editors": "Nastavení přístupu a práva editace", + "Url": "Url", + "Use current bounds": "Použít současné hranice", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Použijte zástupný text s vlastnostmi objektů mezi složenými závorkami, např. {name} — budou dynamicky nahrazeny odpovídajícími hodnotami.", + "User content credits": "Autorství uživatelského obsahu", + "User interface options": "Nastavení ovládacích prvků mapy", + "Versions": "Verze", + "View Fullscreen": "Otevřít přes celou obrazovku", + "Where do we go from here?": "Co všechno teď můžete udělat?", + "Whether to display or not polygons paths.": "Zda se mají či nemají zobrazovat cesty polygonů.", + "Whether to fill polygons with color.": "Zda vyplnit polygony barvou.", + "Who can edit": "Kdo může upravit", + "Who can view": "Kdo může zobrazit", + "Will be displayed in the bottom right corner of the map": "Bude zobrazeno s mapou napravo dole", + "Will be visible in the caption of the map": "Bude zobrazeno v popisu mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ojoj! Někdo jiný mezitím také upravil data. Můžete je uložit bez ohledu na to, ale smažete tak jeho změny.", + "You have unsaved changes.": "Máte neuložené změny.", + "Zoom in": "Přiblížit", + "Zoom level for automatic zooms": "Úroveň přiblížení pro automatické přiblížení", + "Zoom out": "Oddálit", + "Zoom to layer extent": "Přizpůsobit přiblížení vrstvě", + "Zoom to the next": "Skočit na následující", + "Zoom to the previous": "Skočit na předchozí", + "Zoom to this feature": "Přiblížit na tento objekt", + "Zoom to this place": "Přiblížit na toto místo", + "attribution": "autorství", + "by": "od", + "display name": "zobrazit název", + "height": "výška", + "licence": "licence", + "max East": "maximálně na Východ", + "max North": "maximálně na Sever", + "max South": "maximálně na Jih", + "max West": "maximálně na Západ", + "max zoom": "maximální přiblížení", + "min zoom": "maximální oddálení", + "next": "další", + "previous": "předchozí", + "width": "šířka", + "{count} errors during import: {message}": "{count} chyb při importu: {message}", + "Measure distances": "Měření vzdáleností", + "NM": "NM", + "kilometers": "kilometry", + "km": "km", + "mi": "mi", + "miles": "míle", + "nautical miles": "námořní míle", + "{area} acres": "{area} akry", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} míle", + "{distance} yd": "{distance} yd", + "1 day": "1 den", + "1 hour": "1 hodina", + "5 min": "5 minut", + "Cache proxied request": "Požadavek na zástupnou mezipaměť", + "No cache": "Žádná mezipaměť", + "Popup": "Popup", + "Popup (large)": "Popup (velký)", + "Popup content style": "Styl obsahu popupu", + "Popup shape": "Tvar popupu", + "Skipping unknown geometry.type: {type}": "Přeskakuji neznámý geometry.type: {type}", + "Optional.": "Volitelné.", + "Paste your data here": "Zde vložte svá data", + "Please save the map first": "Prosím, nejprve uložte mapu", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("cs_CZ", locale); +L.setLocale("cs_CZ"); \ No newline at end of file diff --git a/umap/static/umap/locale/cs_CZ.json b/umap/static/umap/locale/cs_CZ.json new file mode 100644 index 00000000..f0d68cf3 --- /dev/null +++ b/umap/static/umap/locale/cs_CZ.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Přidat symbol", + "Allow scroll wheel zoom?": "Povolit přibližování kolečkem myši?", + "Automatic": "Automatic", + "Ball": "špendlík", + "Cancel": "Storno", + "Caption": "Popisek", + "Change symbol": "Změnit symbol značky", + "Choose the data format": "Vyberte formát dat", + "Choose the layer of the feature": "Zvolte vrstvu do které objekt patří", + "Circle": "Kruh", + "Clustered": "Shluková", + "Data browser": "Prohlížeč dat", + "Default": "Výchozí", + "Default zoom level": "Výchozí přiblížení", + "Default: name": "Výchozí: name (název objektu)", + "Display label": "Zobrazit popisek", + "Display the control to open OpenStreetMap editor": "Zobrazit možnost upravit mapu v OpenStreetMap editoru", + "Display the data layers control": "Zobrazit tlačítko nastavení datových vrstev", + "Display the embed control": "Zobrazit tlačítko pro sdílení mapy", + "Display the fullscreen control": "Zobrazit tlačítko pro celoobrazovkový režim", + "Display the locate control": "Zobrazit tlačítko pro určení polohy", + "Display the measure control": "Zobrazit tlačítko pro měření vzdálenosti", + "Display the search control": "Zobrazit vyhledávání", + "Display the tile layers control": "Zobrazit tlačítko pro změnu mapového podkladu", + "Display the zoom control": "Zobrazit ovládání přiblížení", + "Do you want to display a caption bar?": "Chcete zobrazit panel s popiskem?", + "Do you want to display a minimap?": "Chcete zobrazit minimapu?", + "Do you want to display a panel on load?": "Chcete při načtení zobrazit panel?", + "Do you want to display popup footer?": "Chcete v bublině zobrazit navigační panel?", + "Do you want to display the scale control?": "Chcete zobrazit měřítko mapy?", + "Do you want to display the «more» control?": "Přejete si zobrazovat ovládací prvek «více»?", + "Drop": "Pustit", + "GeoRSS (only link)": "GeoRSS (jen odkaz)", + "GeoRSS (title + image)": "GeoRSS (titulek + obrázek)", + "Heatmap": "Teplotní mapa", + "Icon shape": "Tvar ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "výchozí", + "Label direction": "Směr popisku", + "Label key": "Tlačítko popisku", + "Labels are clickable": "Popisky jsou klikatelné", + "None": "Žádný", + "On the bottom": "Zespod", + "On the left": "Nalevo", + "On the right": "Napravo", + "On the top": "Shora", + "Popup content template": "Šablona obsahu bubliny", + "Set symbol": "Nastavit symbol", + "Side panel": "Boční panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol nebo adresa URL", + "Table": "Tabulka", + "always": "vždy", + "clear": "vymazat", + "collapsed": "sbalené", + "color": "barva", + "dash array": "styl přerušované čáry", + "define": "definovat", + "description": "popis", + "expanded": "rozbalené", + "fill": "výplň", + "fill color": "barva výplně", + "fill opacity": "průhlednost výplně", + "hidden": "skryté", + "iframe": "iframe", + "inherit": "výchozí", + "name": "název", + "never": "nikdy", + "new window": "nové okno", + "no": "ne", + "on hover": "při přejetí myší", + "opacity": "průhlednost", + "parent window": "rodičovské okno", + "stroke": "linka", + "weight": "šířka linky", + "yes": "ano", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# jedna mřížka pro hlavní nadpis", + "## two hashes for second heading": "## dvě mřížky pro nadpis druhé úrovně", + "### three hashes for third heading": "### podnadpis třetí úrovně", + "**double star for bold**": "**vše mezi dvěma hvězdičkami je tučně**", + "*simple star for italic*": "*vše mezi hvězdičkami bude kurzívou*", + "--- for an horizontal rule": "--- vytvoří vodorovnou linku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Čárkami oddělený seznam čísel, který popisuje vzorek přerušované čáry. Např. «5, 10, 15».", + "About": "O mapě", + "Action not allowed :(": "Akce nepovolena :(", + "Activate slideshow mode": "Aktivovat prezentační mód", + "Add a layer": "Přidat vrstvu", + "Add a line to the current multi": "Přidat čáru k současnému multi", + "Add a new property": "Přidat novou vlastnost", + "Add a polygon to the current multi": "Přidat polygon k současnému multi", + "Advanced actions": "Pokročilé akce", + "Advanced properties": "Pokročilé vlastnosti", + "Advanced transition": "Pokročilá translace", + "All properties are imported.": "Všechny vlastnosti jsou importovány.", + "Allow interactions": "Povolit interakce", + "An error occured": "Došlo k chybě", + "Are you sure you want to cancel your changes?": "Jste si jisti že chcete stornovat vaše úpravy?", + "Are you sure you want to clone this map and all its datalayers?": "Určitě chcete vytvořit kopii celé této mapy a všech jejich vrstev?", + "Are you sure you want to delete the feature?": "Určitě chcete vymazat tento objekt?", + "Are you sure you want to delete this layer?": "Jste si jisti, že chcete smazat tuto vrstvu?", + "Are you sure you want to delete this map?": "Jste si jisti, že chcete vymazat tuto celou mapu?", + "Are you sure you want to delete this property on all the features?": "Určitě chcete smazat tuto vlastnost na všech objektech?", + "Are you sure you want to restore this version?": "Opravdu si přejete obnovit tuto verzi?", + "Attach the map to my account": "Připojte mapu k mému účtu", + "Auto": "Automatická", + "Autostart when map is loaded": "Spustit po načtení mapy", + "Bring feature to center": "Centruj mapu na objektu", + "Browse data": "Prohlížet data", + "Cancel edits": "Stornovat úpravy", + "Center map on your location": "Přemístit se na mapě na vaši polohu", + "Change map background": "Změnit pozadí mapy", + "Change tilelayers": "Změnit pozadí mapy", + "Choose a preset": "Zvolte přednastavení", + "Choose the format of the data to import": "Zvolte v jakém formátu jsou importovaná data", + "Choose the layer to import in": "Zvolte vrstvu, do které se bude importovat", + "Click last point to finish shape": "Klikněte na poslední bod pro dokončení tvaru", + "Click to add a marker": "Kliknutím přidáš značku", + "Click to continue drawing": "Kliknutím můžeš pokračovat v kreslení", + "Click to edit": "Klikněte pro úpravy", + "Click to start drawing a line": "Klikněte pro začátek kreslení čáry", + "Click to start drawing a polygon": "Klikněte pro začátek kreslení polygonu", + "Clone": "Klonovat", + "Clone of {name}": "Klon objektu {name}", + "Clone this feature": "Vytvoř vlastní kopii této vlastnosti", + "Clone this map": "Vytvořit vlastní kopii této mapy", + "Close": "Zavřít", + "Clustering radius": "Poloměr shlukování", + "Comma separated list of properties to use when filtering features": "Čárkami oddělený seznam vlastností pro filtrování objektů", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Hodnoty oddělené čárkou, tabulátorem, nebo středníkem. předpokládá se SRS WGS84 a jsou importovány jen polohy bodů. Import hledá záhlaví sloupců začínající na \"lat\" nebo \"lon\" a ty považuje za souřadnice (na velikosti písmen nesejde). Ostatní sloupce jsou importovány jako vlastnosti.", + "Continue line": "Pokračovat v čáře", + "Continue line (Ctrl+Click)": "Pokračovat v čáře (Ctrl+Klik)", + "Coordinates": "Souřadnice", + "Credits": "Autorství", + "Current view instead of default map view?": "Současný pohled namísto výchozího?", + "Custom background": "Vlastní pozadí", + "Data is browsable": "Data se dají procházet", + "Default interaction options": "Výchozí možnosti interakce", + "Default properties": "Výchozí vlastnosti", + "Default shape properties": "Výchozí nastavení tvaru", + "Define link to open in a new window on polygon click.": "Definice odkazu, který se otevře v novém okně po kliknutí na polygon.", + "Delay between two transitions when in play mode": "Zpoždění mezi dvěma předěly v přehrávacím módu", + "Delete": "Vymazat", + "Delete all layers": "Vymazat všechny vrstvy", + "Delete layer": "Vymazat vrstvu", + "Delete this feature": "Vymazat objekt", + "Delete this property on all the features": "Smazat tuto vlastnost na všech objektech", + "Delete this shape": "Smazat tento tvar", + "Delete this vertex (Alt+Click)": "Smazat tento bod (Alt+Klik)", + "Directions from here": "Navigovat odsud", + "Disable editing": "Zakázat úpravy", + "Display measure": "Zobrazit měřítko", + "Display on load": "Zobrazit při startu", + "Download": "Stažení", + "Download data": "Stáhnout data", + "Drag to reorder": "Přetáhni pro přeskupení", + "Draw a line": "Nakreslit jednoduchou čáru", + "Draw a marker": "Umístit značku místa", + "Draw a polygon": "Vyznačit oblast", + "Draw a polyline": "Nakreslit čáru", + "Dynamic": "Dynamicky", + "Dynamic properties": "Dynamické vlastnosti", + "Edit": "Upravit", + "Edit feature's layer": "Upravit vrstvu objektu", + "Edit map properties": "Nastavení mapy", + "Edit map settings": "Nastavení mapy", + "Edit properties in a table": "Upravit vlastnosti v tabulce", + "Edit this feature": "Upravit tento objekt", + "Editing": "Upravujete", + "Embed and share this map": "Sílet mapu nebo ji vložit do jiného webu", + "Embed the map": "Vložit mapu do jiného webu", + "Empty": "Vyprázdnit", + "Enable editing": "Povolit úpravy", + "Error in the tilelayer URL": "Chyba v URL vrstvy dlaždic", + "Error while fetching {url}": "Chyba při načítání {url}", + "Exit Fullscreen": "Ukončit režim celé obrazovky", + "Extract shape to separate feature": "Vyjmout tvar do samostatného objektu", + "Fetch data each time map view changes.": "Získat data při každé změně zobrazení mapy.", + "Filter keys": "Filtrovací klávesy", + "Filter…": "Filtr ...", + "Format": "Formát", + "From zoom": "Maximální oddálení", + "Full map data": "Kompletní mapová data", + "Go to «{feature}»": "Jdi na \"{feature}\"", + "Heatmap intensity property": "Vlastnost pro intenzitu teplotní mapy", + "Heatmap radius": "Poloměr teplotní mapy", + "Help": "Nápověda", + "Hide controls": "Skrýt ovládací prvky", + "Home": "Domů", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Jak moc zahlazovat a zjednodušovat při oddálení (větší = rychlejší odezva a plynulejší vzhled, menší = přesnější)", + "If false, the polygon will act as a part of the underlying map.": "Pokud je vypnuto, polygon se bude chovat jako součást mapového podkladu.", + "Iframe export options": "Možnosti exportu pro iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe s vlastní výškou (v px): {{{http://iframe.url.com|výška}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe s vlastní výškou a šířkou (in px): {{{http://iframe.url.com|výška*šířka}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obrázek s vlastní šířkou (v px): {{http://obrazek.url.com|šířka}}", + "Image: {{http://image.url.com}}": "Obrázek: {{http://priklad.cz/obrazek.jpg}}", + "Import": "Importovat", + "Import data": "Import dat", + "Import in a new layer": "Importovat do nové vrstvy", + "Imports all umap data, including layers and settings.": "Importuje všechy data umapy, včetně vrstev a nastavení", + "Include full screen link?": "Zahrnout odkaz na celou obrazovku?", + "Interaction options": "Možnosti interakce", + "Invalid umap data": "Neplatná data umapy", + "Invalid umap data in {filename}": "Neplatná data umapy v souboru {filename}", + "Keep current visible layers": "Použít aktuální zobrazení vrstev", + "Latitude": "Sev. šířka", + "Layer": "Vrstva", + "Layer properties": "Vlastnosti vrstvy", + "Licence": "Licence", + "Limit bounds": "Hranice zobrazení", + "Link to…": "Odkaz na…", + "Link with text: [[http://example.com|text of the link]]": "Odkaz: [[http://priklad.cz/stranka|text odkazu]]", + "Long credits": "Dlouhý text autorství", + "Longitude": "Délka", + "Make main shape": "Učinit hlavním tvarem", + "Manage layers": "Spravovat vrstvy", + "Map background credits": "Autorství pozadí mapy", + "Map has been attached to your account": "Mapa byla připojena k vašemu účtu", + "Map has been saved!": "Mapa byla uložena", + "Map user content has been published under licence": "Uživatelská data jsou zveřejněna pod licencí", + "Map's editors": "Mapoví editoři", + "Map's owner": "Majitel mapy", + "Merge lines": "Spojit čáry", + "More controls": "Více ovládacích prvků", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Platný název v CSS (např.: Red, Blue nebo #123456)", + "No licence has been set": "Nebyla nastavena licence", + "No results": "Žádné výsledky", + "Only visible features will be downloaded.": "Budou staženy jen viditelné objekty", + "Open download panel": "Otevřít panel na stahování", + "Open link in…": "Otevřít adresu v…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otevři tuto oblast v editoru OpenStreetMap. Toto vám umožní editovat přímo základní mapová data a přispět tak v tvorbě svobodné mapy pro všechny.", + "Optional intensity property for heatmap": "Volitelná vlastnost pro výpočet intenzity v teplotní mapě", + "Optional. Same as color if not set.": "Nepovinné. Stejné jako barva, pokud není nastaveno.", + "Override clustering radius (default 80)": "Přepsat shlukovací poloměr (výchozí hodnota 80)", + "Override heatmap radius (default 25)": "Přepsat poloměr teplotní mapy (výchozí hodnota 25)", + "Please be sure the licence is compliant with your use.": "Prosíme ujistěte se, že licence je ve shodě s tím jak mapu používáte.", + "Please choose a format": "Zvolte formát", + "Please enter the name of the property": "Zadejte prosím název vlastnosti", + "Please enter the new name of this property": "Zadejte prosím nový název této vlastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Sestaveno z Leaflet a Django, propojených pomocí projektu uMap.", + "Problem in the response": "Problém při odpovědi", + "Problem in the response format": "Problém ve formátu odpovědi", + "Properties imported:": "Importované vlastnosti:", + "Property to use for sorting features": "Vlastnost použitá pro řazení objektů", + "Provide an URL here": "Sem vložte odkaz", + "Proxy request": "Požadavky přes proxy", + "Remote data": "Vzdálená data", + "Remove shape from the multi": "Odebrat tvar z multi", + "Rename this property on all the features": "Přejmenovat tuto vlastnost na všech objektech", + "Replace layer content": "Nahradit obsah vrstvy", + "Restore this version": "Obnovit tuto verzi", + "Save": "Ulož", + "Save anyway": "I tak uložit", + "Save current edits": "Ulož nedávné změny", + "Save this center and zoom": "Ulož tuto pozici mapy a její přiblížení", + "Save this location as new feature": "Uložit tuto pozici jako nový objekt", + "Search a place name": "Vyhledejte název místa", + "Search location": "Vyhledat místo na mapě", + "Secret edit link is:
    {link}": "Tajný odkaz na úpravy je:
    {link}", + "See all": "Zobraz vše", + "See data layers": "Zobrazit datové vrstvy", + "See full screen": "Na celou obrazovku", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Nastavte na false pro ukrytí této vrstvy z prezentace, prohlížeče dat, vyskakovací navigace...", + "Shape properties": "Vlastností tvaru", + "Short URL": "Krátký odkaz", + "Short credits": "Krátký text autorství", + "Show/hide layer": "Skrytí/zobrazení vrstvy", + "Simple link: [[http://example.com]]": "Jednoduchý odkaz: [[http://priklad.cz]]", + "Slideshow": "Prezentace", + "Smart transitions": "Chytré přechody", + "Sort key": "Řadící klávesa", + "Split line": "Rozdělit čáru", + "Start a hole here": "Začít tady díru", + "Start editing": "Začít editaci", + "Start slideshow": "Spustit prezentaci", + "Stop editing": "Přerušit úpravy", + "Stop slideshow": "Zastavit prezentaci", + "Supported scheme": "Podporované schéma", + "Supported variables that will be dynamically replaced": "Podporované proměnné, které budou automaticky nahrazeny", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol může mít buď znak unicode nebo URL. Vlastnosti můžete použít jako proměnné: např. Pomocí \"http://myserver.org/images/{name}.png\" bude proměnná {name} nahrazena hodnotou \"name\" každé značky.", + "TMS format": "formát TMS", + "Text color for the cluster label": "Barva textu popisku shluku", + "Text formatting": "Formátování textu", + "The name of the property to use as feature label (ex.: \"nom\")": "Název vlastnosti pro použití v popisku objektu (ex.: \"nom\")", + "The zoom and center have been setted.": "Přiblížení a střed mapy byly nastaveny", + "To use if remote server doesn't allow cross domain (slower)": "Pro případ že vzdálený server neumožňuje cross domain (pomalejší)", + "To zoom": "Maximální přiblížení", + "Toggle edit mode (Shift+Click)": "Přepnout do editovacího módu (Shift+Click)", + "Transfer shape to edited feature": "Přenést tvar do editovaného objektu", + "Transform to lines": "Převést na čáry", + "Transform to polygon": "Převést na polygon", + "Type of layer": "Druh vrstvy", + "Unable to detect format of file {filename}": "Nepodařilo se detekovat formát souboru {filename}", + "Untitled layer": "Nepojmenovaná vrstva", + "Untitled map": "Mapa bez názvu", + "Update permissions": "Aktualizace oprávnění", + "Update permissions and editors": "Nastavení přístupu a práva editace", + "Url": "Url", + "Use current bounds": "Použít současné hranice", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Použijte zástupný text s vlastnostmi objektů mezi složenými závorkami, např. {name} — budou dynamicky nahrazeny odpovídajícími hodnotami.", + "User content credits": "Autorství uživatelského obsahu", + "User interface options": "Nastavení ovládacích prvků mapy", + "Versions": "Verze", + "View Fullscreen": "Otevřít přes celou obrazovku", + "Where do we go from here?": "Co všechno teď můžete udělat?", + "Whether to display or not polygons paths.": "Zda se mají či nemají zobrazovat cesty polygonů.", + "Whether to fill polygons with color.": "Zda vyplnit polygony barvou.", + "Who can edit": "Kdo může upravit", + "Who can view": "Kdo může zobrazit", + "Will be displayed in the bottom right corner of the map": "Bude zobrazeno s mapou napravo dole", + "Will be visible in the caption of the map": "Bude zobrazeno v popisu mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ojoj! Někdo jiný mezitím také upravil data. Můžete je uložit bez ohledu na to, ale smažete tak jeho změny.", + "You have unsaved changes.": "Máte neuložené změny.", + "Zoom in": "Přiblížit", + "Zoom level for automatic zooms": "Úroveň přiblížení pro automatické přiblížení", + "Zoom out": "Oddálit", + "Zoom to layer extent": "Přizpůsobit přiblížení vrstvě", + "Zoom to the next": "Skočit na následující", + "Zoom to the previous": "Skočit na předchozí", + "Zoom to this feature": "Přiblížit na tento objekt", + "Zoom to this place": "Přiblížit na toto místo", + "attribution": "autorství", + "by": "od", + "display name": "zobrazit název", + "height": "výška", + "licence": "licence", + "max East": "maximálně na Východ", + "max North": "maximálně na Sever", + "max South": "maximálně na Jih", + "max West": "maximálně na Západ", + "max zoom": "maximální přiblížení", + "min zoom": "maximální oddálení", + "next": "další", + "previous": "předchozí", + "width": "šířka", + "{count} errors during import: {message}": "{count} chyb při importu: {message}", + "Measure distances": "Měření vzdáleností", + "NM": "NM", + "kilometers": "kilometry", + "km": "km", + "mi": "mi", + "miles": "míle", + "nautical miles": "námořní míle", + "{area} acres": "{area} akry", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} míle", + "{distance} yd": "{distance} yd", + "1 day": "1 den", + "1 hour": "1 hodina", + "5 min": "5 minut", + "Cache proxied request": "Požadavek na zástupnou mezipaměť", + "No cache": "Žádná mezipaměť", + "Popup": "Popup", + "Popup (large)": "Popup (velký)", + "Popup content style": "Styl obsahu popupu", + "Popup shape": "Tvar popupu", + "Skipping unknown geometry.type: {type}": "Přeskakuji neznámý geometry.type: {type}", + "Optional.": "Volitelné.", + "Paste your data here": "Zde vložte svá data", + "Please save the map first": "Prosím, nejprve uložte mapu", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/da.js b/umap/static/umap/locale/da.js new file mode 100644 index 00000000..b9d1cb13 --- /dev/null +++ b/umap/static/umap/locale/da.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Tilføj symbol", + "Allow scroll wheel zoom?": "Tillad zoom med scrollhjul?", + "Automatic": "Automatisk", + "Ball": "Kugle", + "Cancel": "Fortryd", + "Caption": "Billedtekst", + "Change symbol": "Skift symbol", + "Choose the data format": "Vælg dataformat", + "Choose the layer of the feature": "Vælg objektets lag", + "Circle": "Cirkel", + "Clustered": "Klynge", + "Data browser": "Databrowser", + "Default": "Standard", + "Default zoom level": "Standardzoomniveau", + "Default: name": "Standard:-navn", + "Display label": "Visningslabel", + "Display the control to open OpenStreetMap editor": "Vis kontrollen til åbning af OpenStreetMap-editoren", + "Display the data layers control": "Vis datalagkontrollen", + "Display the embed control": "Vis indlejringskontrollen", + "Display the fullscreen control": "Vis fuldskærmskontrollen", + "Display the locate control": "Vis lokaliseringskontrollen", + "Display the measure control": "Vis opmålingskontrollen", + "Display the search control": "Vis søgekontrollen", + "Display the tile layers control": "Vis fliselagskontrollen", + "Display the zoom control": "Vis zoomkontrollen", + "Do you want to display a caption bar?": "Vil du vise en billedtekst?", + "Do you want to display a minimap?": "Vil du vise et miniaturekort?", + "Do you want to display a panel on load?": "Vil du vise et panel ved indlæsning?", + "Do you want to display popup footer?": "Vil du vise popupnoten?", + "Do you want to display the scale control?": "Vil du vise målestokskontrollen?", + "Do you want to display the «more» control?": "Vil du vise \"mere\"-kontrollen?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (kun link)", + "GeoRSS (title + image)": "GeoRSS (titel + billede)", + "Heatmap": "Heatmap", + "Icon shape": "Ikonfacon", + "Icon symbol": "Ikonsymbol", + "Inherit": "Nedarv", + "Label direction": "Labelretning", + "Label key": "Labelnøgle", + "Labels are clickable": "Labels er klikbare", + "None": "Ingen", + "On the bottom": "I bunden", + "On the left": "Til venstre", + "On the right": "Til højre", + "On the top": "I toppen", + "Popup content template": "Popups indholdsskabelon", + "Set symbol": "Opsæt symbol", + "Side panel": "Sidepanel", + "Simplify": "Simplificer", + "Symbol or url": "Symbol eller url", + "Table": "Tabel", + "always": "altid", + "clear": "tøm", + "collapsed": "klappet sammen", + "color": "farver", + "dash array": "stiplet række", + "define": "definer", + "description": "beskrivelse", + "expanded": "udvidet", + "fill": "udfyldning", + "fill color": "udfyldningsfarve", + "fill opacity": "udfyldningsgennemsigtighed", + "hidden": "skjult", + "iframe": "iframe", + "inherit": "nedarvet", + "name": "navn", + "never": "aldrig", + "new window": "nyt vindue", + "no": "nej", + "on hover": "ved hover", + "opacity": "gennemsigtighed", + "parent window": "forældervindue", + "stroke": "strøg", + "weight": "vægtning", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# et hashtag for hovedoverskrift", + "## two hashes for second heading": "## to hashtags for andet overskriftniveau", + "### three hashes for third heading": "### tre hashtags for tredje overskriftsniveau", + "**double star for bold**": "**dobbelt stjerne for fed skrift**", + "*simple star for italic*": "*enkelt stjerne for kursiv*", + "--- for an horizontal rule": "--- for vandret streg", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En kommasepareret nummerliste som definerer stiplingsmønstret. Fx: \"5, 10, 15\".", + "About": "Om", + "Action not allowed :(": "Handling er ikke tilladt :(", + "Activate slideshow mode": "Aktiver slideshowtilstand", + "Add a layer": "Tilføj et lag", + "Add a line to the current multi": "Tilføj en linje til nuværende multi", + "Add a new property": "Tilføj en ny egenskab", + "Add a polygon to the current multi": "Tilføj en polygon til nuværende multi", + "Advanced actions": "Avancerede handlinger", + "Advanced properties": "Avancerede egenskaber", + "Advanced transition": "Avanceret overgang", + "All properties are imported.": "Alle egenskaber er importeret.", + "Allow interactions": "Tillad interaktioner", + "An error occured": "Der opstod en fejl", + "Are you sure you want to cancel your changes?": "Er du sikker på du vil fortryde dine ændringer?", + "Are you sure you want to clone this map and all its datalayers?": "Er du sikker på du vil klone dette kort og alle dets datalag?", + "Are you sure you want to delete the feature?": "Er du sikker på at du vil slette dette objekt?", + "Are you sure you want to delete this layer?": "Er du sikker på at du vil slette dette lag?", + "Are you sure you want to delete this map?": "Er du sikker på at du vil slette dette kort?", + "Are you sure you want to delete this property on all the features?": "Er du sikker på du vil slette denne egenskab på alle objekter?", + "Are you sure you want to restore this version?": "Er du sikker på at du vil genskabe denne version?", + "Attach the map to my account": "Knyt kortet til min konto", + "Auto": "Auto", + "Autostart when map is loaded": "Start automatisk når kort er indlæst", + "Bring feature to center": "Centrerer objekt", + "Browse data": "Gennemse data", + "Cancel edits": "Fortryd redigeringer", + "Center map on your location": "Centrer kort på din placering", + "Change map background": "Skift kortbaggrund", + "Change tilelayers": "Skift kortlag", + "Choose a preset": "Vælg en forudindstilling", + "Choose the format of the data to import": "Vælg imports dataformat", + "Choose the layer to import in": "Vælg lag der skal importeres", + "Click last point to finish shape": "Klik på det det sidste punkt for at afslutte figur", + "Click to add a marker": "Klik for at tilføje en markør", + "Click to continue drawing": "Klik for at fortsætte indtegning", + "Click to edit": "Klik for at redigere", + "Click to start drawing a line": "Klik for at starte indtegning af linje", + "Click to start drawing a polygon": "Klik for at starte indtegning af polygon", + "Clone": "Kloning", + "Clone of {name}": "Klone af {name}", + "Clone this feature": "Klon dette objekt", + "Clone this map": "Klon dette kort", + "Close": "Luk", + "Clustering radius": "Klyngeradius", + "Comma separated list of properties to use when filtering features": "Kommasepareret egenskabsliste til brug ved objektfiltrering.", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma, tabulering eller semikolon adskiller værdier. SRS WGS84 er underforstået. Kun punktgeometri importeres. Importen vil kigge efter kolonner, der indeholder varianter af \"lat\" eller \"lon\" i begyndelsen af overskriften, uden at tage hensyn til små og store bogstaver. Alle andre kolonner importeres som egenskaber.", + "Continue line": "Fortsæt linje", + "Continue line (Ctrl+Click)": "Fortsæt linje (Ctrl+Klik)", + "Coordinates": "Koordinater", + "Credits": "Kreditering", + "Current view instead of default map view?": "Nuværende kortudsnit i stedet for standardkortvisning?", + "Custom background": "Tilpasset baggrund", + "Data is browsable": "Data kan gennemses", + "Default interaction options": "Standardinteraktionsindstillinger", + "Default properties": "Standardegenskaber", + "Default shape properties": "Standard figur-egenskaber", + "Define link to open in a new window on polygon click.": "Definer link der åbnes i et nyt vindue ved klik på polygon.", + "Delay between two transitions when in play mode": "Forsinkelse mellem to transitioner, når i afspilningstilstand", + "Delete": "Slet", + "Delete all layers": "Slet alle lag", + "Delete layer": "Slet lag", + "Delete this feature": "Slet dette objekt", + "Delete this property on all the features": "Slet denne egenskab på alle objekter", + "Delete this shape": "Slet denne figur", + "Delete this vertex (Alt+Click)": "Slet denne vertex (Alt+Click)", + "Directions from here": "Kørselsvejledning herfra", + "Disable editing": "Deaktiver redigering", + "Display measure": "Vis opmåling", + "Display on load": "Vis ved indlæsning", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Træk for at ændre rækkefølge", + "Draw a line": "Tegn en linje", + "Draw a marker": "Tegn en markør", + "Draw a polygon": "Tegn en polygon", + "Draw a polyline": "Tegn en polygonlinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiske egenskaber", + "Edit": "Redigering", + "Edit feature's layer": "Rediger objekts lag", + "Edit map properties": "Rediger kortegenskaber", + "Edit map settings": "Rediger kortindstillinger", + "Edit properties in a table": "Rediger egenskaberne i en tabel", + "Edit this feature": "Rediger dette objekt", + "Editing": "Redigerer", + "Embed and share this map": "Indlejr og del dette kort", + "Embed the map": "Indlejring af kortet", + "Empty": "Tomt", + "Enable editing": "Aktiver redigering", + "Error in the tilelayer URL": "Fejl i fliselags-URL'en", + "Error while fetching {url}": "Fejl ved hentning af {url}", + "Exit Fullscreen": "Afslut fuldskærm", + "Extract shape to separate feature": "Udtræk figur for at adskille objekt", + "Fetch data each time map view changes.": "Hent data hver gang kortvisningen ændres.", + "Filter keys": "Filternøgler", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Fra zoom", + "Full map data": "Komplette kortdata", + "Go to «{feature}»": "Gå til \"{feature}\"", + "Heatmap intensity property": "Heatmaps intensitetsegenskaber", + "Heatmap radius": "Heatmaps radius", + "Help": "Hjælp", + "Hide controls": "Skjul kontroller", + "Home": "Hjem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hvor meget polylinjen skal forenkles på hvert zoomniveau (mere = bedre ydeevne og jævnere udseende, mindre = mere præcist)", + "If false, the polygon will act as a part of the underlying map.": "Hvis falsk så vil polygonen opfører sig som en del af det underliggende kort.", + "Iframe export options": "Iframes eksportindstillinger", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe med brugerdefineret højde (i px): {{{http://iframe.url.com|højde}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe med tilpasset højde og bredde (i px): {{{http://iframe.url.com|højde*bredde}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Billede med tilpasset bredde (i px): {{http://image.url.com|bredde}}", + "Image: {{http://image.url.com}}": "Billede: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Importer data", + "Import in a new layer": "Importerer i et nyt lag", + "Imports all umap data, including layers and settings.": "Importerer alle umapdata, inklusiv lag og indstillinger,", + "Include full screen link?": "Inkluder fuldskærmslink?", + "Interaction options": "Interaktionsindstillinger", + "Invalid umap data": "Ugyldige umapdata", + "Invalid umap data in {filename}": "Ugydige umapdata i {filename}", + "Keep current visible layers": "Behold nuværende synlige lag", + "Latitude": "Længdegrader", + "Layer": "Lag", + "Layer properties": "Lags egenskaber", + "Licence": "Licens", + "Limit bounds": "Afgræsning", + "Link to…": "Link til…", + "Link with text: [[http://example.com|text of the link]]": "Link med tekst: [[http://example.com|linktekst]]", + "Long credits": "Lang kreditering", + "Longitude": "Breddegrader", + "Make main shape": "Gør til hovedfigur", + "Manage layers": "Håndter lag", + "Map background credits": "Baggrundskortkreditering", + "Map has been attached to your account": "Kortet er blevet knyttet til din konto", + "Map has been saved!": "Kortet er blevet gemt!", + "Map user content has been published under licence": "Kortbrugerindholdet er udgivet under licensen", + "Map's editors": "Korts redaktører", + "Map's owner": "Korts ejer", + "Merge lines": "Flet linjer", + "More controls": "Vis flere kontroller", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Skal være en gyldig CSS-værdi (fx: DarkBlue eller #123456)", + "No licence has been set": "Ingen licens angivet", + "No results": "Ingen resultater", + "Only visible features will be downloaded.": "Kun synlige objekter vil blive downloadet.", + "Open download panel": "Åbn downloadpanel", + "Open link in…": "Åbn link i…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Åbn dette kort i en korteditor for at levere mere nøjagtige data til OpenStreetMap", + "Optional intensity property for heatmap": "Valgfri intensitetsegenskaber for heatmap", + "Optional. Same as color if not set.": "Valgfrit. Samme som farve hvis ikke opsat.", + "Override clustering radius (default 80)": "Overskriv klyngeradius (standard 80)", + "Override heatmap radius (default 25)": "Overskriv heatmapradius (standard 25)", + "Please be sure the licence is compliant with your use.": "Sørg for at licensen tillader din anvendelse.", + "Please choose a format": "Vælg et format", + "Please enter the name of the property": "Angiv egenskabens navn", + "Please enter the new name of this property": "Angiv egenskabens nye navn", + "Powered by Leaflet and Django, glued by uMap project.": "Drives af Leaflet og Django, sammensat af uMap-projektet.", + "Problem in the response": "Problem med svaret", + "Problem in the response format": "Problem med svarformatet", + "Properties imported:": "Egenskaber importeret:", + "Property to use for sorting features": "Egenskab til brug ved sortering af objekter", + "Provide an URL here": "Indsæt en URL her", + "Proxy request": "Proxyforespørgsel", + "Remote data": "Fjernudbudte data", + "Remove shape from the multi": "Fjern figur fra multi", + "Rename this property on all the features": "Omdøb denne egenskab på alle objekter", + "Replace layer content": "Erstat lags indhold", + "Restore this version": "Genskab denne version", + "Save": "Gem", + "Save anyway": "Gem alligevel", + "Save current edits": "Gem nuværende redigeringer", + "Save this center and zoom": "Gem med dette center og zoom", + "Save this location as new feature": "Gem denne placering som et nyt objekt", + "Search a place name": "Søg efter et stednavn", + "Search location": "Søg efter placering", + "Secret edit link is:
    {link}": "Hemmeligt redigeringslink er:
    {link}", + "See all": "Se alle", + "See data layers": "Se datalag", + "See full screen": "Se i fuld skærm", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Sæt den til false, for at skjule dette lag fra slideshowet, databrowseren, popupnavigeringen…", + "Shape properties": "Figuregenskaber", + "Short URL": "Kort URL", + "Short credits": "Kort kreditering", + "Show/hide layer": "Vis/skjul lag", + "Simple link: [[http://example.com]]": "Simpelt link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smarte transitioner", + "Sort key": "Sorteringsnøgle", + "Split line": "Opsplit linje", + "Start a hole here": "Start et hul her", + "Start editing": "Start redigering", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop redigering", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Understøttet skema", + "Supported variables that will be dynamically replaced": "Understøttede variabler som vil blive dynamisk erstattet", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol kan enten være et unicodetegn eller en URL. Du kan anvende objektegenskaber som variabler: fx: med \"http://myserver.org/images/{navn}.png\", vil variablen {navn} blive erstattet af hver markørs \"navn\"-værdi.", + "TMS format": "TMS-format", + "Text color for the cluster label": "Tekstfarve for klyngelabel", + "Text formatting": "Tekstformatering", + "The name of the property to use as feature label (ex.: \"nom\")": "Navnet på den egenskab, der skal anvendes som objektlabel (fx: \"nom\")", + "The zoom and center have been setted.": "Zoom og center er blevet justeret.", + "To use if remote server doesn't allow cross domain (slower)": "Anvendes hvis fjernserver ikke tillader krydsdomæne (langsommere)", + "To zoom": "For at zoome", + "Toggle edit mode (Shift+Click)": "Skift redigeringstilstand (Shift+Click)", + "Transfer shape to edited feature": "Overfør figur til redigeret objekt", + "Transform to lines": "Transformer til linjer", + "Transform to polygon": "Transformer til polygon", + "Type of layer": "Lagtype", + "Unable to detect format of file {filename}": "Kunne ikke genkende formatet på filen {filename}", + "Untitled layer": "Unavngivet lag", + "Untitled map": "Unavngivet kort", + "Update permissions": "Opdater tilladelser", + "Update permissions and editors": "Opdater indstillinger og redaktører", + "Url": "URL", + "Use current bounds": "Brug nuværende grænser", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Brug pladsholdere med objektegenskaberne mellem tuborgklammer, fx {navn}, så vil de dynamatisk blive erstattet med de tilhørende værdier.", + "User content credits": "Brugerindhold-kreditering", + "User interface options": "Brugergrænsefladeindstillinger", + "Versions": "Versioner", + "View Fullscreen": "Fuldskærmsvisning", + "Where do we go from here?": "Hvor skal vi hen herfra?", + "Whether to display or not polygons paths.": "Hvorvidt der vises eller ikke vises polygonstier.", + "Whether to fill polygons with color.": "Hvorvidt polygoner udfyldes med farve.", + "Who can edit": "Hvem kan redigere", + "Who can view": "Hvem kan se", + "Will be displayed in the bottom right corner of the map": "Vil blive vist i kortets nederste højre hjørne", + "Will be visible in the caption of the map": "Vil være synlig i tekstfeltet på kortet", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ups! Det ser ud til at nogen har rettet i dataene. Du kan gemme alligevel, men det vil overskrive andres ændringer.", + "You have unsaved changes.": "Du har ændringer, som ikke er gemt.", + "Zoom in": "Zoom ind", + "Zoom level for automatic zooms": "Zoomniveau for automatisk zooming", + "Zoom out": "Zoom ud", + "Zoom to layer extent": "Zoom til lagudvidelse", + "Zoom to the next": "Zoom til næste", + "Zoom to the previous": "Zoom til forrige", + "Zoom to this feature": "Zoom til dette objekt", + "Zoom to this place": "Zoom til dette sted", + "attribution": "navngivelse", + "by": "af", + "display name": "visningsnavn", + "height": "højde", + "licence": "licens", + "max East": "max øst", + "max North": "max nord", + "max South": "max syd", + "max West": "max vest", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "næste", + "previous": "forrige", + "width": "bredde", + "{count} errors during import: {message}": "{count} fejl under import: {message}", + "Measure distances": "Opmål afstande", + "NM": "NM", + "kilometers": "kilometer", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "sømil", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 dag", + "1 hour": "1 time", + "5 min": "5 min", + "Cache proxied request": "Forespørgsel i proxycache", + "No cache": "Ingen cache", + "Popup": "Popup", + "Popup (large)": "Popup (stor)", + "Popup content style": "Popupindholdsstil", + "Popup shape": "Popupfacon", + "Skipping unknown geometry.type: {type}": "Springer over ukendt geometry.type: {type}", + "Optional.": "Valgfrit.", + "Paste your data here": "Indsæt dine data her", + "Please save the map first": "Gem først kortet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("da", locale); +L.setLocale("da"); \ No newline at end of file diff --git a/umap/static/umap/locale/da.json b/umap/static/umap/locale/da.json new file mode 100644 index 00000000..621dd7e7 --- /dev/null +++ b/umap/static/umap/locale/da.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Tilføj symbol", + "Allow scroll wheel zoom?": "Tillad zoom med scrollhjul?", + "Automatic": "Automatisk", + "Ball": "Kugle", + "Cancel": "Fortryd", + "Caption": "Billedtekst", + "Change symbol": "Skift symbol", + "Choose the data format": "Vælg dataformat", + "Choose the layer of the feature": "Vælg objektets lag", + "Circle": "Cirkel", + "Clustered": "Klynge", + "Data browser": "Databrowser", + "Default": "Standard", + "Default zoom level": "Standardzoomniveau", + "Default: name": "Standard:-navn", + "Display label": "Visningslabel", + "Display the control to open OpenStreetMap editor": "Vis kontrollen til åbning af OpenStreetMap-editoren", + "Display the data layers control": "Vis datalagkontrollen", + "Display the embed control": "Vis indlejringskontrollen", + "Display the fullscreen control": "Vis fuldskærmskontrollen", + "Display the locate control": "Vis lokaliseringskontrollen", + "Display the measure control": "Vis opmålingskontrollen", + "Display the search control": "Vis søgekontrollen", + "Display the tile layers control": "Vis fliselagskontrollen", + "Display the zoom control": "Vis zoomkontrollen", + "Do you want to display a caption bar?": "Vil du vise en billedtekst?", + "Do you want to display a minimap?": "Vil du vise et miniaturekort?", + "Do you want to display a panel on load?": "Vil du vise et panel ved indlæsning?", + "Do you want to display popup footer?": "Vil du vise popupnoten?", + "Do you want to display the scale control?": "Vil du vise målestokskontrollen?", + "Do you want to display the «more» control?": "Vil du vise \"mere\"-kontrollen?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (kun link)", + "GeoRSS (title + image)": "GeoRSS (titel + billede)", + "Heatmap": "Heatmap", + "Icon shape": "Ikonfacon", + "Icon symbol": "Ikonsymbol", + "Inherit": "Nedarv", + "Label direction": "Labelretning", + "Label key": "Labelnøgle", + "Labels are clickable": "Labels er klikbare", + "None": "Ingen", + "On the bottom": "I bunden", + "On the left": "Til venstre", + "On the right": "Til højre", + "On the top": "I toppen", + "Popup content template": "Popups indholdsskabelon", + "Set symbol": "Opsæt symbol", + "Side panel": "Sidepanel", + "Simplify": "Simplificer", + "Symbol or url": "Symbol eller url", + "Table": "Tabel", + "always": "altid", + "clear": "tøm", + "collapsed": "klappet sammen", + "color": "farver", + "dash array": "stiplet række", + "define": "definer", + "description": "beskrivelse", + "expanded": "udvidet", + "fill": "udfyldning", + "fill color": "udfyldningsfarve", + "fill opacity": "udfyldningsgennemsigtighed", + "hidden": "skjult", + "iframe": "iframe", + "inherit": "nedarvet", + "name": "navn", + "never": "aldrig", + "new window": "nyt vindue", + "no": "nej", + "on hover": "ved hover", + "opacity": "gennemsigtighed", + "parent window": "forældervindue", + "stroke": "strøg", + "weight": "vægtning", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# et hashtag for hovedoverskrift", + "## two hashes for second heading": "## to hashtags for andet overskriftniveau", + "### three hashes for third heading": "### tre hashtags for tredje overskriftsniveau", + "**double star for bold**": "**dobbelt stjerne for fed skrift**", + "*simple star for italic*": "*enkelt stjerne for kursiv*", + "--- for an horizontal rule": "--- for vandret streg", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En kommasepareret nummerliste som definerer stiplingsmønstret. Fx: \"5, 10, 15\".", + "About": "Om", + "Action not allowed :(": "Handling er ikke tilladt :(", + "Activate slideshow mode": "Aktiver slideshowtilstand", + "Add a layer": "Tilføj et lag", + "Add a line to the current multi": "Tilføj en linje til nuværende multi", + "Add a new property": "Tilføj en ny egenskab", + "Add a polygon to the current multi": "Tilføj en polygon til nuværende multi", + "Advanced actions": "Avancerede handlinger", + "Advanced properties": "Avancerede egenskaber", + "Advanced transition": "Avanceret overgang", + "All properties are imported.": "Alle egenskaber er importeret.", + "Allow interactions": "Tillad interaktioner", + "An error occured": "Der opstod en fejl", + "Are you sure you want to cancel your changes?": "Er du sikker på du vil fortryde dine ændringer?", + "Are you sure you want to clone this map and all its datalayers?": "Er du sikker på du vil klone dette kort og alle dets datalag?", + "Are you sure you want to delete the feature?": "Er du sikker på at du vil slette dette objekt?", + "Are you sure you want to delete this layer?": "Er du sikker på at du vil slette dette lag?", + "Are you sure you want to delete this map?": "Er du sikker på at du vil slette dette kort?", + "Are you sure you want to delete this property on all the features?": "Er du sikker på du vil slette denne egenskab på alle objekter?", + "Are you sure you want to restore this version?": "Er du sikker på at du vil genskabe denne version?", + "Attach the map to my account": "Knyt kortet til min konto", + "Auto": "Auto", + "Autostart when map is loaded": "Start automatisk når kort er indlæst", + "Bring feature to center": "Centrerer objekt", + "Browse data": "Gennemse data", + "Cancel edits": "Fortryd redigeringer", + "Center map on your location": "Centrer kort på din placering", + "Change map background": "Skift kortbaggrund", + "Change tilelayers": "Skift kortlag", + "Choose a preset": "Vælg en forudindstilling", + "Choose the format of the data to import": "Vælg imports dataformat", + "Choose the layer to import in": "Vælg lag der skal importeres", + "Click last point to finish shape": "Klik på det det sidste punkt for at afslutte figur", + "Click to add a marker": "Klik for at tilføje en markør", + "Click to continue drawing": "Klik for at fortsætte indtegning", + "Click to edit": "Klik for at redigere", + "Click to start drawing a line": "Klik for at starte indtegning af linje", + "Click to start drawing a polygon": "Klik for at starte indtegning af polygon", + "Clone": "Kloning", + "Clone of {name}": "Klone af {name}", + "Clone this feature": "Klon dette objekt", + "Clone this map": "Klon dette kort", + "Close": "Luk", + "Clustering radius": "Klyngeradius", + "Comma separated list of properties to use when filtering features": "Kommasepareret egenskabsliste til brug ved objektfiltrering.", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma, tabulering eller semikolon adskiller værdier. SRS WGS84 er underforstået. Kun punktgeometri importeres. Importen vil kigge efter kolonner, der indeholder varianter af \"lat\" eller \"lon\" i begyndelsen af overskriften, uden at tage hensyn til små og store bogstaver. Alle andre kolonner importeres som egenskaber.", + "Continue line": "Fortsæt linje", + "Continue line (Ctrl+Click)": "Fortsæt linje (Ctrl+Klik)", + "Coordinates": "Koordinater", + "Credits": "Kreditering", + "Current view instead of default map view?": "Nuværende kortudsnit i stedet for standardkortvisning?", + "Custom background": "Tilpasset baggrund", + "Data is browsable": "Data kan gennemses", + "Default interaction options": "Standardinteraktionsindstillinger", + "Default properties": "Standardegenskaber", + "Default shape properties": "Standard figur-egenskaber", + "Define link to open in a new window on polygon click.": "Definer link der åbnes i et nyt vindue ved klik på polygon.", + "Delay between two transitions when in play mode": "Forsinkelse mellem to transitioner, når i afspilningstilstand", + "Delete": "Slet", + "Delete all layers": "Slet alle lag", + "Delete layer": "Slet lag", + "Delete this feature": "Slet dette objekt", + "Delete this property on all the features": "Slet denne egenskab på alle objekter", + "Delete this shape": "Slet denne figur", + "Delete this vertex (Alt+Click)": "Slet denne vertex (Alt+Click)", + "Directions from here": "Kørselsvejledning herfra", + "Disable editing": "Deaktiver redigering", + "Display measure": "Vis opmåling", + "Display on load": "Vis ved indlæsning", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Træk for at ændre rækkefølge", + "Draw a line": "Tegn en linje", + "Draw a marker": "Tegn en markør", + "Draw a polygon": "Tegn en polygon", + "Draw a polyline": "Tegn en polygonlinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiske egenskaber", + "Edit": "Redigering", + "Edit feature's layer": "Rediger objekts lag", + "Edit map properties": "Rediger kortegenskaber", + "Edit map settings": "Rediger kortindstillinger", + "Edit properties in a table": "Rediger egenskaberne i en tabel", + "Edit this feature": "Rediger dette objekt", + "Editing": "Redigerer", + "Embed and share this map": "Indlejr og del dette kort", + "Embed the map": "Indlejring af kortet", + "Empty": "Tomt", + "Enable editing": "Aktiver redigering", + "Error in the tilelayer URL": "Fejl i fliselags-URL'en", + "Error while fetching {url}": "Fejl ved hentning af {url}", + "Exit Fullscreen": "Afslut fuldskærm", + "Extract shape to separate feature": "Udtræk figur for at adskille objekt", + "Fetch data each time map view changes.": "Hent data hver gang kortvisningen ændres.", + "Filter keys": "Filternøgler", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Fra zoom", + "Full map data": "Komplette kortdata", + "Go to «{feature}»": "Gå til \"{feature}\"", + "Heatmap intensity property": "Heatmaps intensitetsegenskaber", + "Heatmap radius": "Heatmaps radius", + "Help": "Hjælp", + "Hide controls": "Skjul kontroller", + "Home": "Hjem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hvor meget polylinjen skal forenkles på hvert zoomniveau (mere = bedre ydeevne og jævnere udseende, mindre = mere præcist)", + "If false, the polygon will act as a part of the underlying map.": "Hvis falsk så vil polygonen opfører sig som en del af det underliggende kort.", + "Iframe export options": "Iframes eksportindstillinger", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe med brugerdefineret højde (i px): {{{http://iframe.url.com|højde}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe med tilpasset højde og bredde (i px): {{{http://iframe.url.com|højde*bredde}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Billede med tilpasset bredde (i px): {{http://image.url.com|bredde}}", + "Image: {{http://image.url.com}}": "Billede: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Importer data", + "Import in a new layer": "Importerer i et nyt lag", + "Imports all umap data, including layers and settings.": "Importerer alle umapdata, inklusiv lag og indstillinger,", + "Include full screen link?": "Inkluder fuldskærmslink?", + "Interaction options": "Interaktionsindstillinger", + "Invalid umap data": "Ugyldige umapdata", + "Invalid umap data in {filename}": "Ugydige umapdata i {filename}", + "Keep current visible layers": "Behold nuværende synlige lag", + "Latitude": "Længdegrader", + "Layer": "Lag", + "Layer properties": "Lags egenskaber", + "Licence": "Licens", + "Limit bounds": "Afgræsning", + "Link to…": "Link til…", + "Link with text: [[http://example.com|text of the link]]": "Link med tekst: [[http://example.com|linktekst]]", + "Long credits": "Lang kreditering", + "Longitude": "Breddegrader", + "Make main shape": "Gør til hovedfigur", + "Manage layers": "Håndter lag", + "Map background credits": "Baggrundskortkreditering", + "Map has been attached to your account": "Kortet er blevet knyttet til din konto", + "Map has been saved!": "Kortet er blevet gemt!", + "Map user content has been published under licence": "Kortbrugerindholdet er udgivet under licensen", + "Map's editors": "Korts redaktører", + "Map's owner": "Korts ejer", + "Merge lines": "Flet linjer", + "More controls": "Vis flere kontroller", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Skal være en gyldig CSS-værdi (fx: DarkBlue eller #123456)", + "No licence has been set": "Ingen licens angivet", + "No results": "Ingen resultater", + "Only visible features will be downloaded.": "Kun synlige objekter vil blive downloadet.", + "Open download panel": "Åbn downloadpanel", + "Open link in…": "Åbn link i…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Åbn dette kort i en korteditor for at levere mere nøjagtige data til OpenStreetMap", + "Optional intensity property for heatmap": "Valgfri intensitetsegenskaber for heatmap", + "Optional. Same as color if not set.": "Valgfrit. Samme som farve hvis ikke opsat.", + "Override clustering radius (default 80)": "Overskriv klyngeradius (standard 80)", + "Override heatmap radius (default 25)": "Overskriv heatmapradius (standard 25)", + "Please be sure the licence is compliant with your use.": "Sørg for at licensen tillader din anvendelse.", + "Please choose a format": "Vælg et format", + "Please enter the name of the property": "Angiv egenskabens navn", + "Please enter the new name of this property": "Angiv egenskabens nye navn", + "Powered by Leaflet and Django, glued by uMap project.": "Drives af Leaflet og Django, sammensat af uMap-projektet.", + "Problem in the response": "Problem med svaret", + "Problem in the response format": "Problem med svarformatet", + "Properties imported:": "Egenskaber importeret:", + "Property to use for sorting features": "Egenskab til brug ved sortering af objekter", + "Provide an URL here": "Indsæt en URL her", + "Proxy request": "Proxyforespørgsel", + "Remote data": "Fjernudbudte data", + "Remove shape from the multi": "Fjern figur fra multi", + "Rename this property on all the features": "Omdøb denne egenskab på alle objekter", + "Replace layer content": "Erstat lags indhold", + "Restore this version": "Genskab denne version", + "Save": "Gem", + "Save anyway": "Gem alligevel", + "Save current edits": "Gem nuværende redigeringer", + "Save this center and zoom": "Gem med dette center og zoom", + "Save this location as new feature": "Gem denne placering som et nyt objekt", + "Search a place name": "Søg efter et stednavn", + "Search location": "Søg efter placering", + "Secret edit link is:
    {link}": "Hemmeligt redigeringslink er:
    {link}", + "See all": "Se alle", + "See data layers": "Se datalag", + "See full screen": "Se i fuld skærm", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Sæt den til false, for at skjule dette lag fra slideshowet, databrowseren, popupnavigeringen…", + "Shape properties": "Figuregenskaber", + "Short URL": "Kort URL", + "Short credits": "Kort kreditering", + "Show/hide layer": "Vis/skjul lag", + "Simple link: [[http://example.com]]": "Simpelt link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smarte transitioner", + "Sort key": "Sorteringsnøgle", + "Split line": "Opsplit linje", + "Start a hole here": "Start et hul her", + "Start editing": "Start redigering", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop redigering", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Understøttet skema", + "Supported variables that will be dynamically replaced": "Understøttede variabler som vil blive dynamisk erstattet", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol kan enten være et unicodetegn eller en URL. Du kan anvende objektegenskaber som variabler: fx: med \"http://myserver.org/images/{navn}.png\", vil variablen {navn} blive erstattet af hver markørs \"navn\"-værdi.", + "TMS format": "TMS-format", + "Text color for the cluster label": "Tekstfarve for klyngelabel", + "Text formatting": "Tekstformatering", + "The name of the property to use as feature label (ex.: \"nom\")": "Navnet på den egenskab, der skal anvendes som objektlabel (fx: \"nom\")", + "The zoom and center have been setted.": "Zoom og center er blevet justeret.", + "To use if remote server doesn't allow cross domain (slower)": "Anvendes hvis fjernserver ikke tillader krydsdomæne (langsommere)", + "To zoom": "For at zoome", + "Toggle edit mode (Shift+Click)": "Skift redigeringstilstand (Shift+Click)", + "Transfer shape to edited feature": "Overfør figur til redigeret objekt", + "Transform to lines": "Transformer til linjer", + "Transform to polygon": "Transformer til polygon", + "Type of layer": "Lagtype", + "Unable to detect format of file {filename}": "Kunne ikke genkende formatet på filen {filename}", + "Untitled layer": "Unavngivet lag", + "Untitled map": "Unavngivet kort", + "Update permissions": "Opdater tilladelser", + "Update permissions and editors": "Opdater indstillinger og redaktører", + "Url": "URL", + "Use current bounds": "Brug nuværende grænser", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Brug pladsholdere med objektegenskaberne mellem tuborgklammer, fx {navn}, så vil de dynamatisk blive erstattet med de tilhørende værdier.", + "User content credits": "Brugerindhold-kreditering", + "User interface options": "Brugergrænsefladeindstillinger", + "Versions": "Versioner", + "View Fullscreen": "Fuldskærmsvisning", + "Where do we go from here?": "Hvor skal vi hen herfra?", + "Whether to display or not polygons paths.": "Hvorvidt der vises eller ikke vises polygonstier.", + "Whether to fill polygons with color.": "Hvorvidt polygoner udfyldes med farve.", + "Who can edit": "Hvem kan redigere", + "Who can view": "Hvem kan se", + "Will be displayed in the bottom right corner of the map": "Vil blive vist i kortets nederste højre hjørne", + "Will be visible in the caption of the map": "Vil være synlig i tekstfeltet på kortet", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ups! Det ser ud til at nogen har rettet i dataene. Du kan gemme alligevel, men det vil overskrive andres ændringer.", + "You have unsaved changes.": "Du har ændringer, som ikke er gemt.", + "Zoom in": "Zoom ind", + "Zoom level for automatic zooms": "Zoomniveau for automatisk zooming", + "Zoom out": "Zoom ud", + "Zoom to layer extent": "Zoom til lagudvidelse", + "Zoom to the next": "Zoom til næste", + "Zoom to the previous": "Zoom til forrige", + "Zoom to this feature": "Zoom til dette objekt", + "Zoom to this place": "Zoom til dette sted", + "attribution": "navngivelse", + "by": "af", + "display name": "visningsnavn", + "height": "højde", + "licence": "licens", + "max East": "max øst", + "max North": "max nord", + "max South": "max syd", + "max West": "max vest", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "næste", + "previous": "forrige", + "width": "bredde", + "{count} errors during import: {message}": "{count} fejl under import: {message}", + "Measure distances": "Opmål afstande", + "NM": "NM", + "kilometers": "kilometer", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "sømil", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 dag", + "1 hour": "1 time", + "5 min": "5 min", + "Cache proxied request": "Forespørgsel i proxycache", + "No cache": "Ingen cache", + "Popup": "Popup", + "Popup (large)": "Popup (stor)", + "Popup content style": "Popupindholdsstil", + "Popup shape": "Popupfacon", + "Skipping unknown geometry.type: {type}": "Springer over ukendt geometry.type: {type}", + "Optional.": "Valgfrit.", + "Paste your data here": "Indsæt dine data her", + "Please save the map first": "Gem først kortet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/de.js b/umap/static/umap/locale/de.js new file mode 100644 index 00000000..45fb440f --- /dev/null +++ b/umap/static/umap/locale/de.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Symbol hinzufügen", + "Allow scroll wheel zoom?": "Möchtest du Zoomen mit dem Mausrad erlauben?", + "Automatic": "Automatisch", + "Ball": "Stecknadel", + "Cancel": "Abbrechen", + "Caption": "Überschrift", + "Change symbol": "Symbol ändern", + "Choose the data format": "Wähle das Datenformat", + "Choose the layer of the feature": "Wähle die Ebene für das Element", + "Circle": "Kreis", + "Clustered": "Gruppiert", + "Data browser": "Datenbrowser", + "Default": "Standard", + "Default zoom level": "Standard-Zoomstufe", + "Default: name": "Standard: Name", + "Display label": "Beschriftung anzeigen", + "Display the control to open OpenStreetMap editor": "Den Button zum OpenStreetMap editor anzeigen", + "Display the data layers control": "Datenebenensteuerung anzeigen", + "Display the embed control": "Eingebettete Steuerung anzeigen", + "Display the fullscreen control": "Vollbildsteuerung anzeigen", + "Display the locate control": "Den Ortungsbutton anzeigen.", + "Display the measure control": "Messsteuerung anzeigen", + "Display the search control": "Suchsteuerung anzeigen", + "Display the tile layers control": "Kachelebenensteuerung anzeigen", + "Display the zoom control": "Zoomsteuerung anzeigen", + "Do you want to display a caption bar?": "Mächtest du eine Überschrift (Fußzeile) anzeigen?", + "Do you want to display a minimap?": "Möchtest du eine Übersichtskarte anzeigen?", + "Do you want to display a panel on load?": "Möchtest du beim Seitenaufruf eine Seitenleiste anzeigen?", + "Do you want to display popup footer?": "Möchtest du eine Fußzeile im Popup anzeigen?", + "Do you want to display the scale control?": "Möchtest du die Maßstabsleiste anzeigen?", + "Do you want to display the «more» control?": "Möchtest du die „Mehr“-Schaltfläche anzeigen?", + "Drop": "Tropfen", + "GeoRSS (only link)": "GeoRSS (nur Link)", + "GeoRSS (title + image)": "GeoRSS (Titel + Bild)", + "Heatmap": "Heatmap", + "Icon shape": "Bildzeichenform", + "Icon symbol": "Bildzeichensymbol", + "Inherit": "erben", + "Label direction": "Beschriftungsrichtung", + "Label key": "Anzeigeschlüssel", + "Labels are clickable": "Beschriftungen sind klickbar", + "None": "Keine", + "On the bottom": "An der Unterseite", + "On the left": "An der linken Seite", + "On the right": "An der rechten Seite", + "On the top": "An der Oberseite", + "Popup content template": "Popup Vorlage", + "Set symbol": "Symbol festlegen", + "Side panel": "Seitenleiste", + "Simplify": "Vereinfachen", + "Symbol or url": "Symbol oder URL", + "Table": "Tabelle", + "always": "immer", + "clear": "leeren", + "collapsed": "eingeklappt", + "color": "Farbe", + "dash array": "Linienart", + "define": "festlegen", + "description": "Beschreibung", + "expanded": "ausgeklappt", + "fill": "Füllung", + "fill color": "Farbe der Füllung", + "fill opacity": "Deckkraft der Füllung", + "hidden": "ausgeblendet", + "iframe": "iframe", + "inherit": "erben", + "name": "Name", + "never": "nie", + "new window": "neues Fenster", + "no": "Nein", + "on hover": "beim Draufzeigen", + "opacity": "Deckkraft", + "parent window": "übergeordnetes Fenster", + "stroke": "Umrisslinie", + "weight": "Stärke", + "yes": "Ja", + "{delay} seconds": "{delay} Sekunden", + "# one hash for main heading": "# Eine Raute für große Überschrift", + "## two hashes for second heading": "## Zwei Rauten für mittlere Überschrift", + "### three hashes for third heading": "### Drei Rauten für kleine Überschrift", + "**double star for bold**": "**Zwei Sterne für Fett**", + "*simple star for italic*": "*Ein Stern für Kursiv*", + "--- for an horizontal rule": "--- Für eine horizontale Linie", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Eine kommagetrente Zahlenfolge, die die Linienart (Strichmuster) der Kontur definiert, z.B.: \"5, 10, 15\".", + "About": "Über", + "Action not allowed :(": "Aktion nicht erlaubt :(", + "Activate slideshow mode": "Diashowmodus aktivieren", + "Add a layer": "Ebene hinzufügen", + "Add a line to the current multi": "Linie zur vorhandene Gruppe hinzufügen", + "Add a new property": "Ein Merkmal hinzufügen", + "Add a polygon to the current multi": "Fläche zur vorhandene Gruppe hinzufügen", + "Advanced actions": "Erweiterte Aktionen", + "Advanced properties": "Erweiterte Eigenschaften", + "Advanced transition": "Erweiterter Übergang", + "All properties are imported.": "Alle Merkmale wurden importiert.", + "Allow interactions": "Interaktionen erlauben", + "An error occured": "Es ist ein Fehler aufgetreten.", + "Are you sure you want to cancel your changes?": "Willst du deine Änderungen wirklich abbrechen?", + "Are you sure you want to clone this map and all its datalayers?": "Möchtest du die Karte und ihre Datenebenen wirklich duplizieren?", + "Are you sure you want to delete the feature?": "Möchtest du dieses Element wirklich löschen?", + "Are you sure you want to delete this layer?": "Bist du sicher, dass du diese Ebene löschen willst?", + "Are you sure you want to delete this map?": "Willst du diese Karte wirklich löschen?", + "Are you sure you want to delete this property on all the features?": "Bist du sicher, dass du dieses Merkmal bei allen Elementen löschen willst?", + "Are you sure you want to restore this version?": "Bist du sicher, dass du diese Version wiederherstellen willst?", + "Attach the map to my account": "Die Karte meinem Benutzerkonto zuordnen", + "Auto": "Automatisch", + "Autostart when map is loaded": "Automatischer Start, wenn Karte geladen ist", + "Bring feature to center": "Auf Element zentrieren", + "Browse data": "Daten anzeigen", + "Cancel edits": "Bearbeitungen abbrechen", + "Center map on your location": "Die Karte auf deinen Standort ausrichten", + "Change map background": "Hintergrundkarte ändern", + "Change tilelayers": "Hintergrundkarte ändern", + "Choose a preset": "Wähle eine Vorlage", + "Choose the format of the data to import": "Wähle das Datenformat für den Import", + "Choose the layer to import in": "Wähle die Ebene, in die importiert werden soll", + "Click last point to finish shape": "Kllicke den letzten Punkt an, um die Form abzuschließen", + "Click to add a marker": "Klicke, um einen Marker hinzuzufügen", + "Click to continue drawing": "Klicke, um weiter zu zeichnen", + "Click to edit": "Zum Bearbeiten klicken", + "Click to start drawing a line": "Klicke, um eine Linie zu zeichnen", + "Click to start drawing a polygon": "Klicke, um eine Fläche zu zeichnen", + "Clone": "Duplizieren", + "Clone of {name}": "Duplikat von {name}", + "Clone this feature": "Dieses Element duplizieren", + "Clone this map": "Dupliziere diese Karte", + "Close": "Schließen", + "Clustering radius": "Gruppierungsradius", + "Comma separated list of properties to use when filtering features": "Kommagetrennte Liste der Merkmale, welche beim Filtern von Elementen verwendet werden sollen", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma-, tabulator-, oder semikolongetrennte Werte. SRS WGS84 ist impliziert. Nur Punktgeometrien werden importiert. Beim Import wird nach Spaltenüberschriften mit jeder Nennung von „lat“ und „lon“ am Anfang der Überschrift gesucht (ohne Beachtung von Groß-/Kleinschreibung). Alle anderen Spalten werden als Merkmale importiert.", + "Continue line": "Linie fortführen", + "Continue line (Ctrl+Click)": "Linie weiterzeichnen (Strg+Klick)", + "Coordinates": "Koordinaten", + "Credits": "Credits", + "Current view instead of default map view?": "Aktuelle Kartenansicht anstatt der Standard-Kartenansicht verwenden?", + "Custom background": "Benutzerdefinierter Hintergrund", + "Data is browsable": "Daten sind durchsuchbar", + "Default interaction options": "Standard-Interaktionsoptionen", + "Default properties": "Standardeigenschaften", + "Default shape properties": "Standard-Formeigenschaften", + "Define link to open in a new window on polygon click.": "Definiere einen externen Link, der sich beim Klick auf die Fläche in einem neuen Fenster öffnet.", + "Delay between two transitions when in play mode": "Verzögerung zwischen zwei Übergängen im Abspielmodus", + "Delete": "Löschen", + "Delete all layers": "Alle Ebenen löschen", + "Delete layer": "Ebene löschen", + "Delete this feature": "Dieses Element löschen", + "Delete this property on all the features": "Dieses Merkmal bei allen Elementen löschen", + "Delete this shape": "Diese Form löschen", + "Delete this vertex (Alt+Click)": "Diesen Eckpunkt löschen (Alt+Klick)", + "Directions from here": "Route von hier", + "Disable editing": "Bearbeiten deaktivieren", + "Display measure": "Display measure", + "Display on load": "Beim Seitenaufruf anzeigen.", + "Download": "Heruterladen", + "Download data": "Daten herunterladen", + "Drag to reorder": "Ziehen zum Neuanordnen", + "Draw a line": "Eine Linie zeichnen", + "Draw a marker": "Einen Marker zeichnen", + "Draw a polygon": "Eine Fläche zeichnen", + "Draw a polyline": "Eine Linie zeichnen", + "Dynamic": "Dynamisch", + "Dynamic properties": "Dynamische Merkmale", + "Edit": "Bearbeiten", + "Edit feature's layer": "Elementebene bearbeiten", + "Edit map properties": "Karteneigenschaften bearbeiten", + "Edit map settings": "Karteneinstellungen bearbeiten", + "Edit properties in a table": "Merkmale in einer Tabelle bearbeiten", + "Edit this feature": "Dieses Element bearbeiten", + "Editing": "Bearbeiten", + "Embed and share this map": "Teile und binde diese Karte ein.", + "Embed the map": "Karte einbinden", + "Empty": "Leeren", + "Enable editing": "Bearbeiten aktivieren", + "Error in the tilelayer URL": "Fehler in der Kachelebenen-URL", + "Error while fetching {url}": "Fehler beim Abrufen von {url}", + "Exit Fullscreen": "Vollbild beenden", + "Extract shape to separate feature": "Form als separates Element extrahieren", + "Fetch data each time map view changes.": "Daten jedes Mal abrufen, wenn sich die Kartenansicht ändert.", + "Filter keys": "Schlüssel filtern", + "Filter…": "Elemente filtern...", + "Format": "Format", + "From zoom": "Von Zoomstufe", + "Full map data": "Vollständige Kartendaten", + "Go to «{feature}»": "Zu „{feature}“ wechseln", + "Heatmap intensity property": "Heatmap-Intensität", + "Heatmap radius": "Radius der Heatmap", + "Help": "Hilfe", + "Hide controls": "Schaltflächen ausblenden", + "Home": "Startseite", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Wie stark Linien mit jeder Zoomstufe vereinfacht werden (mehr = bessere Performance und glatteres Aussehen, weniger = präziser)", + "If false, the polygon will act as a part of the underlying map.": "Wenn auf Nein gesetzt, dann verhält sich die Fläche als Teil der hinterlegten Karte.", + "Iframe export options": "Iframe Exportoptionen", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe mit benutzerdefinierter Höhe (in Pixel): {{{http://iframe.url.com|Höhe}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe mit benutzerdefinierter Höhe und Breite (in Pixel): {{{http://iframe.url.com|Höhe*Breite}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Bild mit benutzerdefinierter Breite (in Pixel): {{http://bild.url.com|Breite}}", + "Image: {{http://image.url.com}}": "Bild: {{http://bild.url.com}}", + "Import": "Importieren", + "Import data": "Daten importieren", + "Import in a new layer": "In eine neue Ebene importieren", + "Imports all umap data, including layers and settings.": "Importiert alle uMap-Daten inklusive Ebenen und Einstellungen", + "Include full screen link?": "Link für Vollbildanzeige einbeziehen?", + "Interaction options": "Interaktionsoptionen", + "Invalid umap data": "Ungütige uMap-Daten", + "Invalid umap data in {filename}": "Ungültige uMap-Daten in {filename}", + "Keep current visible layers": "Aktuell eingeblendete Ebenen übernehmen?", + "Latitude": "Geogr. Breite", + "Layer": "Ebene", + "Layer properties": "Ebeneneigenschaften", + "Licence": "Lizenz", + "Limit bounds": "Kartenverschiebung begrenzen", + "Link to…": "Verlinke zu...", + "Link with text: [[http://example.com|text of the link]]": "Link mit Text: [[http://beispiel.com|Text für den Link]]", + "Long credits": "Lange Credits", + "Longitude": "Geogr. Länge", + "Make main shape": "Hauptform erstellen", + "Manage layers": "Ebenen verwalten", + "Map background credits": "Credits der Hintergrundkarte", + "Map has been attached to your account": "Die Karte wurde deinem Benutzerkonto zugeordnet.", + "Map has been saved!": "Karte gespeichert!", + "Map user content has been published under licence": "Der Benutzerinhalt wurde veröffentlicht unter der Lizenz", + "Map's editors": "Kartenbearbeiter", + "Map's owner": "Karteneigentümer", + "Merge lines": "Linien zusammenführen", + "More controls": "Mehr Schaltflächen", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Muss ein gültiger CSS-Wert sein (z.B.: DarkBlue oder #123456)", + "No licence has been set": "Keine Lizenz ausgewählt", + "No results": "Keine Ergebnisse", + "Only visible features will be downloaded.": "Es werden nur die sichtbaren Elemente heruntergeladen.", + "Open download panel": "Herunterladeleiste öffnen", + "Open link in…": "Link öffnen in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Diesen Kartenauschnitt in einem Karten-Editor öffnen, um genauere Daten für OpenStreetMap bereitzustellen.", + "Optional intensity property for heatmap": "Optionale Intensitätseigenschaft für die Heatmap", + "Optional. Same as color if not set.": "Optional. Gleich wie Farbe, falls nicht ausgefüllt.", + "Override clustering radius (default 80)": "Gruppierungsradius überschreiben (Standard: 80)", + "Override heatmap radius (default 25)": "Heatmap-Radius überschreiben (Standard: 25)", + "Please be sure the licence is compliant with your use.": "Stelle bitte sicher, dass die Lizenz mit deiner Verwendung kompatibel ist.", + "Please choose a format": "Bitte wähle ein Format", + "Please enter the name of the property": "Bitte gib den Namen des Merkmals ein", + "Please enter the new name of this property": "Bitte gib den neuen Namen des Merkmals ein", + "Powered by Leaflet and Django, glued by uMap project.": "Bereitgestellt von Leaflet und Django, zusammengebastelt vom uMap Projekt.", + "Problem in the response": "Fehlerhafte Serverantwort", + "Problem in the response format": "Ungültiges Format der Serverantwort", + "Properties imported:": "Importierte Merkmale:", + "Property to use for sorting features": "Merkmal, welches für Sortierfunktionen verwendet werden soll", + "Provide an URL here": "Hier eine URL angeben", + "Proxy request": "Proxyanforderung", + "Remote data": "Ausgelagerte Daten", + "Remove shape from the multi": "Form aus der Gruppe löschen", + "Rename this property on all the features": "Dieses Merkmal bei allen Elementen umbenennen", + "Replace layer content": "Ebeneninhalt ersetzen", + "Restore this version": "Diese Version wiederherstellen", + "Save": "Speichern", + "Save anyway": "Trotzdem speichern", + "Save current edits": "Aktuelle Änderungen speichern", + "Save this center and zoom": "Aktuelle Position und Zoomstufe speichern", + "Save this location as new feature": "Diesen Ort als neues Element speichern", + "Search a place name": "Einen Ortsnamen suchen", + "Search location": "Ort suchen", + "Secret edit link is:
    {link}": "Geheimer Bearbeitungslink ist:
    {link}", + "See all": "Alle anzeigen", + "See data layers": "Datenebenen ansehen", + "See full screen": "Vollbildanzeige", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Setze es auf Nein, um diese Ebene in der Diashow, im Datenbrowser, in der Popup-Navigation,... auszublenden.", + "Shape properties": "Formeigenschaften", + "Short URL": "Kurze URL", + "Short credits": "Kurze Credits", + "Show/hide layer": "Ebene Einblenden/Ausblenden", + "Simple link: [[http://example.com]]": "Einfacher Link: [[http://beispiel.com]]", + "Slideshow": "Diashow", + "Smart transitions": "Weiche Übergänge", + "Sort key": "Sortierschlüssel", + "Split line": "Linie teilen", + "Start a hole here": "Hier ein Loch beginnen", + "Start editing": "Mit der Bearbeitung beginnen", + "Start slideshow": "Diashow starten", + "Stop editing": "Bearbeitung beenden", + "Stop slideshow": "Diashow beenden", + "Supported scheme": "Unterstütztes Schema", + "Supported variables that will be dynamically replaced": "Unterstützte Variablen, die dynamisch ersetzt werden", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol kann entweder ein Unicodezeichen oder eine URL sein. Du kannst Elementmerkmale als Variablen nutzen: z.B.: bei \"http://myserver.org/images/{name}.png\" wird die {name}-Variable durch den Wert von \"name\" jeden Markers ersetzt.", + "TMS format": "TMS-Format", + "Text color for the cluster label": "Textfarbe für die Gruppierungsbezeichnung", + "Text formatting": "Textformatierung", + "The name of the property to use as feature label (ex.: \"nom\")": "Den Namen des Merkmals als Elementbezeichnung verwenden (z.B.: \"Name\")", + "The zoom and center have been setted.": "Zoomstufe und Mittelpunkt wurden gespeichert.", + "To use if remote server doesn't allow cross domain (slower)": "Anzuwenden, wenn der Zielserver kein Cross Origin Resource Sharing (CORS) erlaubt (langsamer).", + "To zoom": "Bis Zoomstufe", + "Toggle edit mode (Shift+Click)": "Bearbeitungsmodus umschalten (Umschalt+Klick)", + "Transfer shape to edited feature": "Form in bearbeitetes Element überführen", + "Transform to lines": "In Linien umwandeln", + "Transform to polygon": "In Fläche umwandeln", + "Type of layer": "Ebenentyp", + "Unable to detect format of file {filename}": "Format der Datei {filename} kann nicht erkannt werden", + "Untitled layer": "unbenannte Ebene", + "Untitled map": "Unbenannte Karte", + "Update permissions": "Berechtigungen aktualisieren", + "Update permissions and editors": "Berechtigungen und Bearbeiter ändern", + "Url": "URL", + "Use current bounds": "Nutze aktuelle Kartenansicht", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Nutze Platzhalter mit Elementmerkmalen innerhalb der Klammern, z.B. {name}, sie werden dynamisch durch die entsprechenden Werte ersetzt.", + "User content credits": "Credits der Benutzerinhalte", + "User interface options": "Einstellungen Benutzeroberfläche", + "Versions": "Versionen", + "View Fullscreen": "Vollbild ansehen", + "Where do we go from here?": "Wie geht es weiter?", + "Whether to display or not polygons paths.": "Umrisslinie von Flächen anzeigen oder nicht anzeigen.", + "Whether to fill polygons with color.": "Ob Flächen mit Farbe gefüllt werden.", + "Who can edit": "Wer darf bearbeiten", + "Who can view": "Wer darf betrachten", + "Will be displayed in the bottom right corner of the map": "Wird in rechten unteren Ecke der Karte angezeigt", + "Will be visible in the caption of the map": "Wird in der Überschrift der Karte angezeigt", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Hoppla! Jemand anders hat die Daten bearbeitet. Du kannst trotzdem speichern, von anderen vorgenommene Änderungen werden dabei aber gelöscht.", + "You have unsaved changes.": "Es gibt ungespeicherte Änderungen.", + "Zoom in": "Hineinzoomen", + "Zoom level for automatic zooms": "Zommstufe für automatischen Zoom", + "Zoom out": "Herauszoomen", + "Zoom to layer extent": "Auf Ebenenausdehnung zommen", + "Zoom to the next": "Zum nächsten zoomen", + "Zoom to the previous": "Zum vorherigen zoomen", + "Zoom to this feature": "Auf dieses Element zoomen", + "Zoom to this place": "Auf diesen Ort zoomen", + "attribution": "Copyright-Hinweis", + "by": "von", + "display name": "Namen anzeigen", + "height": "Höhe", + "licence": "Lizenz", + "max East": "Östliche Begrenzung", + "max North": "Nördliche Begrenzung", + "max South": "Südliche Begrenzung", + "max West": "Westliche Begrenzung", + "max zoom": "höchste Zoomstufe", + "min zoom": "kleinste Zoomstufe", + "next": "weiter", + "previous": "zurück", + "width": "Breite", + "{count} errors during import: {message}": "{count} Fehler während des Imports: {message}", + "Measure distances": "Abstände messen", + "NM": "NM", + "kilometers": "Kilometer", + "km": "km", + "mi": "mi", + "miles": "Meilen", + "nautical miles": "Nautische Meilen", + "{area} acres": "{area} ac", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 Tag", + "1 hour": "1 Stunde", + "5 min": "5 min", + "Cache proxied request": "Proxycache-Anfrage", + "No cache": "Kein Cache", + "Popup": "Popup", + "Popup (large)": "Popup (groß)", + "Popup content style": "Popupinhaltstil", + "Popup shape": "Popupform", + "Skipping unknown geometry.type: {type}": "Überspringe unbekannten Geometrietyp: {type}", + "Optional.": "Optional.", + "Paste your data here": "Füge deine Daten hier ein", + "Please save the map first": "Bitte zuerst die Karte speichern", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("de", locale); +L.setLocale("de"); \ No newline at end of file diff --git a/umap/static/umap/locale/de.json b/umap/static/umap/locale/de.json new file mode 100644 index 00000000..0606cd7c --- /dev/null +++ b/umap/static/umap/locale/de.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Symbol hinzufügen", + "Allow scroll wheel zoom?": "Möchtest du Zoomen mit dem Mausrad erlauben?", + "Automatic": "Automatisch", + "Ball": "Stecknadel", + "Cancel": "Abbrechen", + "Caption": "Überschrift", + "Change symbol": "Symbol ändern", + "Choose the data format": "Wähle das Datenformat", + "Choose the layer of the feature": "Wähle die Ebene für das Element", + "Circle": "Kreis", + "Clustered": "Gruppiert", + "Data browser": "Datenbrowser", + "Default": "Standard", + "Default zoom level": "Standard-Zoomstufe", + "Default: name": "Standard: Name", + "Display label": "Beschriftung anzeigen", + "Display the control to open OpenStreetMap editor": "Den Button zum OpenStreetMap editor anzeigen", + "Display the data layers control": "Datenebenensteuerung anzeigen", + "Display the embed control": "Eingebettete Steuerung anzeigen", + "Display the fullscreen control": "Vollbildsteuerung anzeigen", + "Display the locate control": "Den Ortungsbutton anzeigen.", + "Display the measure control": "Messsteuerung anzeigen", + "Display the search control": "Suchsteuerung anzeigen", + "Display the tile layers control": "Kachelebenensteuerung anzeigen", + "Display the zoom control": "Zoomsteuerung anzeigen", + "Do you want to display a caption bar?": "Mächtest du eine Überschrift (Fußzeile) anzeigen?", + "Do you want to display a minimap?": "Möchtest du eine Übersichtskarte anzeigen?", + "Do you want to display a panel on load?": "Möchtest du beim Seitenaufruf eine Seitenleiste anzeigen?", + "Do you want to display popup footer?": "Möchtest du eine Fußzeile im Popup anzeigen?", + "Do you want to display the scale control?": "Möchtest du die Maßstabsleiste anzeigen?", + "Do you want to display the «more» control?": "Möchtest du die „Mehr“-Schaltfläche anzeigen?", + "Drop": "Tropfen", + "GeoRSS (only link)": "GeoRSS (nur Link)", + "GeoRSS (title + image)": "GeoRSS (Titel + Bild)", + "Heatmap": "Heatmap", + "Icon shape": "Bildzeichenform", + "Icon symbol": "Bildzeichensymbol", + "Inherit": "erben", + "Label direction": "Beschriftungsrichtung", + "Label key": "Anzeigeschlüssel", + "Labels are clickable": "Beschriftungen sind klickbar", + "None": "Keine", + "On the bottom": "An der Unterseite", + "On the left": "An der linken Seite", + "On the right": "An der rechten Seite", + "On the top": "An der Oberseite", + "Popup content template": "Popup Vorlage", + "Set symbol": "Symbol festlegen", + "Side panel": "Seitenleiste", + "Simplify": "Vereinfachen", + "Symbol or url": "Symbol oder URL", + "Table": "Tabelle", + "always": "immer", + "clear": "leeren", + "collapsed": "eingeklappt", + "color": "Farbe", + "dash array": "Linienart", + "define": "festlegen", + "description": "Beschreibung", + "expanded": "ausgeklappt", + "fill": "Füllung", + "fill color": "Farbe der Füllung", + "fill opacity": "Deckkraft der Füllung", + "hidden": "ausgeblendet", + "iframe": "iframe", + "inherit": "erben", + "name": "Name", + "never": "nie", + "new window": "neues Fenster", + "no": "Nein", + "on hover": "beim Draufzeigen", + "opacity": "Deckkraft", + "parent window": "übergeordnetes Fenster", + "stroke": "Umrisslinie", + "weight": "Stärke", + "yes": "Ja", + "{delay} seconds": "{delay} Sekunden", + "# one hash for main heading": "# Eine Raute für große Überschrift", + "## two hashes for second heading": "## Zwei Rauten für mittlere Überschrift", + "### three hashes for third heading": "### Drei Rauten für kleine Überschrift", + "**double star for bold**": "**Zwei Sterne für Fett**", + "*simple star for italic*": "*Ein Stern für Kursiv*", + "--- for an horizontal rule": "--- Für eine horizontale Linie", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Eine kommagetrente Zahlenfolge, die die Linienart (Strichmuster) der Kontur definiert, z.B.: \"5, 10, 15\".", + "About": "Über", + "Action not allowed :(": "Aktion nicht erlaubt :(", + "Activate slideshow mode": "Diashowmodus aktivieren", + "Add a layer": "Ebene hinzufügen", + "Add a line to the current multi": "Linie zur vorhandene Gruppe hinzufügen", + "Add a new property": "Ein Merkmal hinzufügen", + "Add a polygon to the current multi": "Fläche zur vorhandene Gruppe hinzufügen", + "Advanced actions": "Erweiterte Aktionen", + "Advanced properties": "Erweiterte Eigenschaften", + "Advanced transition": "Erweiterter Übergang", + "All properties are imported.": "Alle Merkmale wurden importiert.", + "Allow interactions": "Interaktionen erlauben", + "An error occured": "Es ist ein Fehler aufgetreten.", + "Are you sure you want to cancel your changes?": "Willst du deine Änderungen wirklich abbrechen?", + "Are you sure you want to clone this map and all its datalayers?": "Möchtest du die Karte und ihre Datenebenen wirklich duplizieren?", + "Are you sure you want to delete the feature?": "Möchtest du dieses Element wirklich löschen?", + "Are you sure you want to delete this layer?": "Bist du sicher, dass du diese Ebene löschen willst?", + "Are you sure you want to delete this map?": "Willst du diese Karte wirklich löschen?", + "Are you sure you want to delete this property on all the features?": "Bist du sicher, dass du dieses Merkmal bei allen Elementen löschen willst?", + "Are you sure you want to restore this version?": "Bist du sicher, dass du diese Version wiederherstellen willst?", + "Attach the map to my account": "Die Karte meinem Benutzerkonto zuordnen", + "Auto": "Automatisch", + "Autostart when map is loaded": "Automatischer Start, wenn Karte geladen ist", + "Bring feature to center": "Auf Element zentrieren", + "Browse data": "Daten anzeigen", + "Cancel edits": "Bearbeitungen abbrechen", + "Center map on your location": "Die Karte auf deinen Standort ausrichten", + "Change map background": "Hintergrundkarte ändern", + "Change tilelayers": "Hintergrundkarte ändern", + "Choose a preset": "Wähle eine Vorlage", + "Choose the format of the data to import": "Wähle das Datenformat für den Import", + "Choose the layer to import in": "Wähle die Ebene, in die importiert werden soll", + "Click last point to finish shape": "Kllicke den letzten Punkt an, um die Form abzuschließen", + "Click to add a marker": "Klicke, um einen Marker hinzuzufügen", + "Click to continue drawing": "Klicke, um weiter zu zeichnen", + "Click to edit": "Zum Bearbeiten klicken", + "Click to start drawing a line": "Klicke, um eine Linie zu zeichnen", + "Click to start drawing a polygon": "Klicke, um eine Fläche zu zeichnen", + "Clone": "Duplizieren", + "Clone of {name}": "Duplikat von {name}", + "Clone this feature": "Dieses Element duplizieren", + "Clone this map": "Dupliziere diese Karte", + "Close": "Schließen", + "Clustering radius": "Gruppierungsradius", + "Comma separated list of properties to use when filtering features": "Kommagetrennte Liste der Merkmale, welche beim Filtern von Elementen verwendet werden sollen", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma-, tabulator-, oder semikolongetrennte Werte. SRS WGS84 ist impliziert. Nur Punktgeometrien werden importiert. Beim Import wird nach Spaltenüberschriften mit jeder Nennung von „lat“ und „lon“ am Anfang der Überschrift gesucht (ohne Beachtung von Groß-/Kleinschreibung). Alle anderen Spalten werden als Merkmale importiert.", + "Continue line": "Linie fortführen", + "Continue line (Ctrl+Click)": "Linie weiterzeichnen (Strg+Klick)", + "Coordinates": "Koordinaten", + "Credits": "Credits", + "Current view instead of default map view?": "Aktuelle Kartenansicht anstatt der Standard-Kartenansicht verwenden?", + "Custom background": "Benutzerdefinierter Hintergrund", + "Data is browsable": "Daten sind durchsuchbar", + "Default interaction options": "Standard-Interaktionsoptionen", + "Default properties": "Standardeigenschaften", + "Default shape properties": "Standard-Formeigenschaften", + "Define link to open in a new window on polygon click.": "Definiere einen externen Link, der sich beim Klick auf die Fläche in einem neuen Fenster öffnet.", + "Delay between two transitions when in play mode": "Verzögerung zwischen zwei Übergängen im Abspielmodus", + "Delete": "Löschen", + "Delete all layers": "Alle Ebenen löschen", + "Delete layer": "Ebene löschen", + "Delete this feature": "Dieses Element löschen", + "Delete this property on all the features": "Dieses Merkmal bei allen Elementen löschen", + "Delete this shape": "Diese Form löschen", + "Delete this vertex (Alt+Click)": "Diesen Eckpunkt löschen (Alt+Klick)", + "Directions from here": "Route von hier", + "Disable editing": "Bearbeiten deaktivieren", + "Display measure": "Display measure", + "Display on load": "Beim Seitenaufruf anzeigen.", + "Download": "Heruterladen", + "Download data": "Daten herunterladen", + "Drag to reorder": "Ziehen zum Neuanordnen", + "Draw a line": "Eine Linie zeichnen", + "Draw a marker": "Einen Marker zeichnen", + "Draw a polygon": "Eine Fläche zeichnen", + "Draw a polyline": "Eine Linie zeichnen", + "Dynamic": "Dynamisch", + "Dynamic properties": "Dynamische Merkmale", + "Edit": "Bearbeiten", + "Edit feature's layer": "Elementebene bearbeiten", + "Edit map properties": "Karteneigenschaften bearbeiten", + "Edit map settings": "Karteneinstellungen bearbeiten", + "Edit properties in a table": "Merkmale in einer Tabelle bearbeiten", + "Edit this feature": "Dieses Element bearbeiten", + "Editing": "Bearbeiten", + "Embed and share this map": "Teile und binde diese Karte ein.", + "Embed the map": "Karte einbinden", + "Empty": "Leeren", + "Enable editing": "Bearbeiten aktivieren", + "Error in the tilelayer URL": "Fehler in der Kachelebenen-URL", + "Error while fetching {url}": "Fehler beim Abrufen von {url}", + "Exit Fullscreen": "Vollbild beenden", + "Extract shape to separate feature": "Form als separates Element extrahieren", + "Fetch data each time map view changes.": "Daten jedes Mal abrufen, wenn sich die Kartenansicht ändert.", + "Filter keys": "Schlüssel filtern", + "Filter…": "Elemente filtern...", + "Format": "Format", + "From zoom": "Von Zoomstufe", + "Full map data": "Vollständige Kartendaten", + "Go to «{feature}»": "Zu „{feature}“ wechseln", + "Heatmap intensity property": "Heatmap-Intensität", + "Heatmap radius": "Radius der Heatmap", + "Help": "Hilfe", + "Hide controls": "Schaltflächen ausblenden", + "Home": "Startseite", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Wie stark Linien mit jeder Zoomstufe vereinfacht werden (mehr = bessere Performance und glatteres Aussehen, weniger = präziser)", + "If false, the polygon will act as a part of the underlying map.": "Wenn auf Nein gesetzt, dann verhält sich die Fläche als Teil der hinterlegten Karte.", + "Iframe export options": "Iframe Exportoptionen", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe mit benutzerdefinierter Höhe (in Pixel): {{{http://iframe.url.com|Höhe}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe mit benutzerdefinierter Höhe und Breite (in Pixel): {{{http://iframe.url.com|Höhe*Breite}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Bild mit benutzerdefinierter Breite (in Pixel): {{http://bild.url.com|Breite}}", + "Image: {{http://image.url.com}}": "Bild: {{http://bild.url.com}}", + "Import": "Importieren", + "Import data": "Daten importieren", + "Import in a new layer": "In eine neue Ebene importieren", + "Imports all umap data, including layers and settings.": "Importiert alle uMap-Daten inklusive Ebenen und Einstellungen", + "Include full screen link?": "Link für Vollbildanzeige einbeziehen?", + "Interaction options": "Interaktionsoptionen", + "Invalid umap data": "Ungütige uMap-Daten", + "Invalid umap data in {filename}": "Ungültige uMap-Daten in {filename}", + "Keep current visible layers": "Aktuell eingeblendete Ebenen übernehmen?", + "Latitude": "Geogr. Breite", + "Layer": "Ebene", + "Layer properties": "Ebeneneigenschaften", + "Licence": "Lizenz", + "Limit bounds": "Kartenverschiebung begrenzen", + "Link to…": "Verlinke zu...", + "Link with text: [[http://example.com|text of the link]]": "Link mit Text: [[http://beispiel.com|Text für den Link]]", + "Long credits": "Lange Credits", + "Longitude": "Geogr. Länge", + "Make main shape": "Hauptform erstellen", + "Manage layers": "Ebenen verwalten", + "Map background credits": "Credits der Hintergrundkarte", + "Map has been attached to your account": "Die Karte wurde deinem Benutzerkonto zugeordnet.", + "Map has been saved!": "Karte gespeichert!", + "Map user content has been published under licence": "Der Benutzerinhalt wurde veröffentlicht unter der Lizenz", + "Map's editors": "Kartenbearbeiter", + "Map's owner": "Karteneigentümer", + "Merge lines": "Linien zusammenführen", + "More controls": "Mehr Schaltflächen", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Muss ein gültiger CSS-Wert sein (z.B.: DarkBlue oder #123456)", + "No licence has been set": "Keine Lizenz ausgewählt", + "No results": "Keine Ergebnisse", + "Only visible features will be downloaded.": "Es werden nur die sichtbaren Elemente heruntergeladen.", + "Open download panel": "Herunterladeleiste öffnen", + "Open link in…": "Link öffnen in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Diesen Kartenauschnitt in einem Karten-Editor öffnen, um genauere Daten für OpenStreetMap bereitzustellen.", + "Optional intensity property for heatmap": "Optionale Intensitätseigenschaft für die Heatmap", + "Optional. Same as color if not set.": "Optional. Gleich wie Farbe, falls nicht ausgefüllt.", + "Override clustering radius (default 80)": "Gruppierungsradius überschreiben (Standard: 80)", + "Override heatmap radius (default 25)": "Heatmap-Radius überschreiben (Standard: 25)", + "Please be sure the licence is compliant with your use.": "Stelle bitte sicher, dass die Lizenz mit deiner Verwendung kompatibel ist.", + "Please choose a format": "Bitte wähle ein Format", + "Please enter the name of the property": "Bitte gib den Namen des Merkmals ein", + "Please enter the new name of this property": "Bitte gib den neuen Namen des Merkmals ein", + "Powered by Leaflet and Django, glued by uMap project.": "Bereitgestellt von Leaflet und Django, zusammengebastelt vom uMap Projekt.", + "Problem in the response": "Fehlerhafte Serverantwort", + "Problem in the response format": "Ungültiges Format der Serverantwort", + "Properties imported:": "Importierte Merkmale:", + "Property to use for sorting features": "Merkmal, welches für Sortierfunktionen verwendet werden soll", + "Provide an URL here": "Hier eine URL angeben", + "Proxy request": "Proxyanforderung", + "Remote data": "Ausgelagerte Daten", + "Remove shape from the multi": "Form aus der Gruppe löschen", + "Rename this property on all the features": "Dieses Merkmal bei allen Elementen umbenennen", + "Replace layer content": "Ebeneninhalt ersetzen", + "Restore this version": "Diese Version wiederherstellen", + "Save": "Speichern", + "Save anyway": "Trotzdem speichern", + "Save current edits": "Aktuelle Änderungen speichern", + "Save this center and zoom": "Aktuelle Position und Zoomstufe speichern", + "Save this location as new feature": "Diesen Ort als neues Element speichern", + "Search a place name": "Einen Ortsnamen suchen", + "Search location": "Ort suchen", + "Secret edit link is:
    {link}": "Geheimer Bearbeitungslink ist:
    {link}", + "See all": "Alle anzeigen", + "See data layers": "Datenebenen ansehen", + "See full screen": "Vollbildanzeige", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Setze es auf Nein, um diese Ebene in der Diashow, im Datenbrowser, in der Popup-Navigation,... auszublenden.", + "Shape properties": "Formeigenschaften", + "Short URL": "Kurze URL", + "Short credits": "Kurze Credits", + "Show/hide layer": "Ebene Einblenden/Ausblenden", + "Simple link: [[http://example.com]]": "Einfacher Link: [[http://beispiel.com]]", + "Slideshow": "Diashow", + "Smart transitions": "Weiche Übergänge", + "Sort key": "Sortierschlüssel", + "Split line": "Linie teilen", + "Start a hole here": "Hier ein Loch beginnen", + "Start editing": "Mit der Bearbeitung beginnen", + "Start slideshow": "Diashow starten", + "Stop editing": "Bearbeitung beenden", + "Stop slideshow": "Diashow beenden", + "Supported scheme": "Unterstütztes Schema", + "Supported variables that will be dynamically replaced": "Unterstützte Variablen, die dynamisch ersetzt werden", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol kann entweder ein Unicodezeichen oder eine URL sein. Du kannst Elementmerkmale als Variablen nutzen: z.B.: bei \"http://myserver.org/images/{name}.png\" wird die {name}-Variable durch den Wert von \"name\" jeden Markers ersetzt.", + "TMS format": "TMS-Format", + "Text color for the cluster label": "Textfarbe für die Gruppierungsbezeichnung", + "Text formatting": "Textformatierung", + "The name of the property to use as feature label (ex.: \"nom\")": "Den Namen des Merkmals als Elementbezeichnung verwenden (z.B.: \"Name\")", + "The zoom and center have been setted.": "Zoomstufe und Mittelpunkt wurden gespeichert.", + "To use if remote server doesn't allow cross domain (slower)": "Anzuwenden, wenn der Zielserver kein Cross Origin Resource Sharing (CORS) erlaubt (langsamer).", + "To zoom": "Bis Zoomstufe", + "Toggle edit mode (Shift+Click)": "Bearbeitungsmodus umschalten (Umschalt+Klick)", + "Transfer shape to edited feature": "Form in bearbeitetes Element überführen", + "Transform to lines": "In Linien umwandeln", + "Transform to polygon": "In Fläche umwandeln", + "Type of layer": "Ebenentyp", + "Unable to detect format of file {filename}": "Format der Datei {filename} kann nicht erkannt werden", + "Untitled layer": "unbenannte Ebene", + "Untitled map": "Unbenannte Karte", + "Update permissions": "Berechtigungen aktualisieren", + "Update permissions and editors": "Berechtigungen und Bearbeiter ändern", + "Url": "URL", + "Use current bounds": "Nutze aktuelle Kartenansicht", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Nutze Platzhalter mit Elementmerkmalen innerhalb der Klammern, z.B. {name}, sie werden dynamisch durch die entsprechenden Werte ersetzt.", + "User content credits": "Credits der Benutzerinhalte", + "User interface options": "Einstellungen Benutzeroberfläche", + "Versions": "Versionen", + "View Fullscreen": "Vollbild ansehen", + "Where do we go from here?": "Wie geht es weiter?", + "Whether to display or not polygons paths.": "Umrisslinie von Flächen anzeigen oder nicht anzeigen.", + "Whether to fill polygons with color.": "Ob Flächen mit Farbe gefüllt werden.", + "Who can edit": "Wer darf bearbeiten", + "Who can view": "Wer darf betrachten", + "Will be displayed in the bottom right corner of the map": "Wird in rechten unteren Ecke der Karte angezeigt", + "Will be visible in the caption of the map": "Wird in der Überschrift der Karte angezeigt", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Hoppla! Jemand anders hat die Daten bearbeitet. Du kannst trotzdem speichern, von anderen vorgenommene Änderungen werden dabei aber gelöscht.", + "You have unsaved changes.": "Es gibt ungespeicherte Änderungen.", + "Zoom in": "Hineinzoomen", + "Zoom level for automatic zooms": "Zommstufe für automatischen Zoom", + "Zoom out": "Herauszoomen", + "Zoom to layer extent": "Auf Ebenenausdehnung zommen", + "Zoom to the next": "Zum nächsten zoomen", + "Zoom to the previous": "Zum vorherigen zoomen", + "Zoom to this feature": "Auf dieses Element zoomen", + "Zoom to this place": "Auf diesen Ort zoomen", + "attribution": "Copyright-Hinweis", + "by": "von", + "display name": "Namen anzeigen", + "height": "Höhe", + "licence": "Lizenz", + "max East": "Östliche Begrenzung", + "max North": "Nördliche Begrenzung", + "max South": "Südliche Begrenzung", + "max West": "Westliche Begrenzung", + "max zoom": "höchste Zoomstufe", + "min zoom": "kleinste Zoomstufe", + "next": "weiter", + "previous": "zurück", + "width": "Breite", + "{count} errors during import: {message}": "{count} Fehler während des Imports: {message}", + "Measure distances": "Abstände messen", + "NM": "NM", + "kilometers": "Kilometer", + "km": "km", + "mi": "mi", + "miles": "Meilen", + "nautical miles": "Nautische Meilen", + "{area} acres": "{area} ac", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 Tag", + "1 hour": "1 Stunde", + "5 min": "5 min", + "Cache proxied request": "Proxycache-Anfrage", + "No cache": "Kein Cache", + "Popup": "Popup", + "Popup (large)": "Popup (groß)", + "Popup content style": "Popupinhaltstil", + "Popup shape": "Popupform", + "Skipping unknown geometry.type: {type}": "Überspringe unbekannten Geometrietyp: {type}", + "Optional.": "Optional.", + "Paste your data here": "Füge deine Daten hier ein", + "Please save the map first": "Bitte zuerst die Karte speichern", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/el.js b/umap/static/umap/locale/el.js new file mode 100644 index 00000000..2e43bab5 --- /dev/null +++ b/umap/static/umap/locale/el.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Προσθήκη συμβόλου ", + "Allow scroll wheel zoom?": "Επέτρεψε ζουμ κύλισης", + "Automatic": "Αυτόματα", + "Ball": "Καρφίτσα", + "Cancel": "Άκυρο ", + "Caption": "Υπόμνημα", + "Change symbol": "Αλλαγή συμβόλου ", + "Choose the data format": "Επιλογή μορφής για δεδομένα", + "Choose the layer of the feature": "Επιλέξτε το επίπεδο του στοιχείου", + "Circle": "Κύκλος ", + "Clustered": "Σύμπλεγμα", + "Data browser": "Δεδομένα Περιήγησης ", + "Default": "Προεπιλογή ", + "Default zoom level": "Προεπιλεγμένο επίπεδο μεγέθυνσης", + "Default: name": "Προεπιλογή: 'Ονομα", + "Display label": "Εμφάνιση ετικέτας", + "Display the control to open OpenStreetMap editor": "Εμφάνιση εικονιδίου επεξεργασίας OpenStreetMap", + "Display the data layers control": "Εμφάνιση εικονιδίου δεδομένα επίπεδων ", + "Display the embed control": "Εμφάνιση εικονιδίου διαμοιρασμού", + "Display the fullscreen control": "Εμφάνιση εικονιδίου πλήρους οθόνης ", + "Display the locate control": "Εμφάνιση εικονιδίου γεωεντοπισμού ", + "Display the measure control": "Εμφάνιση εικονιδίου μέτρησης", + "Display the search control": "Εμφάνιση εικονιδίου αναζήτησης", + "Display the tile layers control": "Εμφάνιση εικονιδίου αλλαγής υποβάθρων", + "Display the zoom control": "Εμφάνιση εικονιδίου μεγέθυνσης/σμίκρυνσης ", + "Do you want to display a caption bar?": "Θα επιθυμούσες την εμφάνιση Λεζάντας ;", + "Do you want to display a minimap?": "Επιθυμείτε την εμφάνιση χάρτη υπομνήματος ;", + "Do you want to display a panel on load?": "Θα επιθυμούσες την εμφάνιση πινακίδας κατά την φόρτωση ;", + "Do you want to display popup footer?": "Επιθυμείτε την εμφάνιση αναδυόμενης βάσης ;", + "Do you want to display the scale control?": "Επιθυμείτε την εμφάνιση κλίμακας ;", + "Do you want to display the «more» control?": "Επιθυμείτε την εμφάνιση \"περισσότερων\" επιλογών;", + "Drop": "Ρίψη ", + "GeoRSS (only link)": "GeoRSS (μόνο σύνδεσμος)", + "GeoRSS (title + image)": "GeoRSS (τίτλος + εικόνα)", + "Heatmap": "Χάρτης εγγύτητας", + "Icon shape": "Μορφή σύμβολο", + "Icon symbol": "Εικόνα σύμβολο", + "Inherit": "Μεταβίβαση", + "Label direction": "Κατεύθυνση ετικέτας ", + "Label key": "Κλειδί ετικέτας ", + "Labels are clickable": "Η ετικέτα έχει σύνδεσμο ", + "None": "Κανένα", + "On the bottom": "Στο κάτω μέρος", + "On the left": "Στο αριστερό μέρος", + "On the right": "Στο δεξί μέρος", + "On the top": "Στο πάνω μέρος", + "Popup content template": "Αναδυόμενο παράθυρο περιεχομένου ", + "Set symbol": "Ορισμός συμβόλου", + "Side panel": "Πλευρικός πίνακας", + "Simplify": "Απλοποίησε", + "Symbol or url": "Σύμβολο ή σύνδεσμος", + "Table": "Πίνακας", + "always": "πάντα", + "clear": "Εκκαθάριση", + "collapsed": "Κατέρρευσε ", + "color": "Χρώμα ", + "dash array": "Διάνυσμα σειράς", + "define": "Όρισε ", + "description": "Περιγραφή", + "expanded": "Ανεπτυγμένος", + "fill": "Γέμισμα ", + "fill color": "Χρώμα Γεμίσματος", + "fill opacity": "Αδιαφάνεια Γεμίσματος", + "hidden": "Απόκρυψη", + "iframe": "Παράθυρο εξωτερικού συνδέσμου", + "inherit": "Μετάβαση", + "name": "Όνομα", + "never": "Ποτέ", + "new window": "Νέο Παράθυρο", + "no": "όχι", + "on hover": "Με κατάδειξη", + "opacity": "Αδιαφάνεια", + "parent window": "Συγγενές παράθυρο ", + "stroke": "Πινέλο ", + "weight": "Βάρος", + "yes": "ναι", + "{delay} seconds": "{καθυστέρηση} δευτερόλεπτα", + "# one hash for main heading": "# ένα hash για τίτλο ", + "## two hashes for second heading": "## δύο hash για επικεφαλίδα", + "### three hashes for third heading": "### τρία hash για κεφαλίδα ", + "**double star for bold**": "**διπλό αστερίσκο για έντονη**", + "*simple star for italic*": "*μονό αστερίσκο για πλάγια*", + "--- for an horizontal rule": "---για οριζόντιο διαχωριστικό ", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Το κόμμα χωρίζει λίστα αριθμών που ορίζονται από ένα διανυσματικό σύνολο πχ.: \"5, 10, 15\".", + "About": "Σχετικά", + "Action not allowed :(": "Μη επιτρεπόμενη ενέργεια :(", + "Activate slideshow mode": "Ενεργοποίηση διαφανειών παρουσίασης ", + "Add a layer": "Προσθήκη επιπέδου", + "Add a line to the current multi": "Προσθήκη γραμμής στο παρόν πολυδεδομένο ", + "Add a new property": "Προσθήκη νέας ιδιότητας", + "Add a polygon to the current multi": "Προσθήκη πολυγώνου στο παρόν πολυδεδομένο ", + "Advanced actions": "Εξειδικευμένες ενέργειες ", + "Advanced properties": "Εξειδικευμένες ιδιότητες ", + "Advanced transition": "Προχωρημένος μετασχηματισμός ", + "All properties are imported.": "Εισήχθησαν όλες οι ιδιότητες", + "Allow interactions": "Επέτρεψε αλληλεπιδράσεις ", + "An error occured": "Παρουσιάστηκε σφάλμα ", + "Are you sure you want to cancel your changes?": "Είστε βέβαιος για το ότι θέλετε να ακυρώσετε τις αλλαγές σας;", + "Are you sure you want to clone this map and all its datalayers?": "Είστε βέβαιος ότι θέλετε να κλωνοποιηθεί αυτός ο χάρτης και όλα τα επίπεδα δεδομένων του;", + "Are you sure you want to delete the feature?": "Είστε βέβαιος ότι θέλετε να διαγράφει αυτό το στοιχείο;", + "Are you sure you want to delete this layer?": "Είσαι σίγουρος για την διαγραφή αυτού του επιπέδου;", + "Are you sure you want to delete this map?": "Είστε βέβαιος ότι θέλετε να διαγραφεί αυτός ο χάρτης ;", + "Are you sure you want to delete this property on all the features?": "Είσαι σίγουρος για την διαγραφή αυτής της ιδιότητας από όλα τα στοιχεία; ", + "Are you sure you want to restore this version?": "Είσαι σίγουρος για την επαναφορά αυτής της εκδοχής ;", + "Attach the map to my account": "Επισύναψη αυτού του χάρτη στο λογαριασμό μου", + "Auto": "Αυτόματα", + "Autostart when map is loaded": "Αυτόματη έναρξη με την φόρτωση του χάρτη ", + "Bring feature to center": "Κέντραρε το στοιχείο", + "Browse data": "Περιήγηση δεδομένων ", + "Cancel edits": "Ακύρωση επεξεργασίας ", + "Center map on your location": "Κέντραρε τον χάρτη στη θέση σου ", + "Change map background": "Αλλαγή χαρτογραφικού υποβάθρου ", + "Change tilelayers": "Αλλαγή επιπέδου ", + "Choose a preset": "Επιλογή τρέχοντος", + "Choose the format of the data to import": "Επιλέξτε τη μορφή των δεδομένων για εισαγωγή", + "Choose the layer to import in": "Επιλέξτε το επίπεδο που θα γίνει η εισαγωγή ", + "Click last point to finish shape": "Πατήστε στο τελευταίο σημείο για την εισαγωγή του σχήματος", + "Click to add a marker": "Πατήστε για την εισαγωγή συμβόλου ", + "Click to continue drawing": "Πατήστε για συνέχεια σχεδίου", + "Click to edit": "Πατήστε για επεξεργασία", + "Click to start drawing a line": "Πατήστε για έναρξη σχεδιασμού γραμμής", + "Click to start drawing a polygon": "Πατήστε για έναρξη σχεδιασμού πολυγώνου ", + "Clone": "Κλωνοποίηση", + "Clone of {name}": "Κλωνοποίηση του {ονόματος}", + "Clone this feature": "Κλωνοποίηση αυτού του στοιχείου", + "Clone this map": "Κλωνοποίηση αυτού του χάρτη", + "Close": "Κλείσιμο ", + "Clustering radius": "Ακτίνα συμπλέγματος", + "Comma separated list of properties to use when filtering features": "Διαχωρίστε με κόμμα την λίστα ιδιοτήτων για το φιλτράρισμα των στοιχείων ", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Οι τιμές που χωρίζονται με κόμματα, tab ή χρώματα. SRS WGS84 υπονοείται. Εισάγονται μόνο γεωμετρίες σημείων. Η εισαγωγή θα εξετάσει τις κεφαλίδες στηλών -Headers- για οποιαδήποτε αναφορά «lat» και «lon» στην αρχή της κεφαλίδας, που δεν είναι ευαίσθητες -case insensitive- . Όλες οι άλλες στήλες εισάγονται ως ιδιότητες.", + "Continue line": "Συνέχεια γραμμής ", + "Continue line (Ctrl+Click)": "Συνέχεια γραμμής (Ctrl+Click)", + "Coordinates": "Συντεταγμένες ", + "Credits": "Πιστώσεις ", + "Current view instead of default map view?": "Αυτή τη προβολή χάρτη αντί της προ επιλεγμένης ", + "Custom background": "Προσαρμοσμένο υπόβαθρο", + "Data is browsable": "Τα δεδομένα είναι περιήγησιμα ", + "Default interaction options": "Προεπιλεγμένες επιλογές αλληλεπίδρασης", + "Default properties": "Προεπιλεγμένες ιδιότητες", + "Default shape properties": "Προεπιλεγμένες ιδιότητες σχημάτων ", + "Define link to open in a new window on polygon click.": "Προσδιορισμός συνδέσμου για άνοιγμα νέου παραθύρου με κλικ στο πολύγονο ", + "Delay between two transitions when in play mode": "Καθυστέρηση μεταξύ δύο εναλλαγών κατά την παρουσίαση ", + "Delete": "Διαγραφή ", + "Delete all layers": "Διαγραφή όλων των επιπέδων", + "Delete layer": "Διαγραφή επιπέδου", + "Delete this feature": "Διαγραφή αυτού του στοιχείου ", + "Delete this property on all the features": "Διαγραφή αυτής της ιδιότητας από όλα τα στοιχεία", + "Delete this shape": "Διαγραφή σχήματος", + "Delete this vertex (Alt+Click)": "Διαγραφή αυτής της κορυφής (Alt+Click)", + "Directions from here": "Διαδρομή από εδώ", + "Disable editing": "Απενεργοποίηση επεξεργασίας ", + "Display measure": "Εμφάνιση μέτρου ", + "Display on load": "Εμφάνιση κατά την φόρτωση ", + "Download": "Λήψη", + "Download data": "Λήψη δεδομένων", + "Drag to reorder": "Σύρατε για αναδιάταξη", + "Draw a line": "Σχεδιασμός γραμμής ", + "Draw a marker": "Σχεδιασμός σημείου ", + "Draw a polygon": "Σχεδιασμός πολυγώνου ", + "Draw a polyline": "Σχεδιασμός σύνθετης γραμμής ", + "Dynamic": "Δυναμική ", + "Dynamic properties": "Δυναμικές ιδιότητες ", + "Edit": "Επεξεργασία ", + "Edit feature's layer": "Επεξεργασία στοιχείων επιπέδου", + "Edit map properties": "Επεξεργασία ιδιοτήτων χάρτη ", + "Edit map settings": "Επεξεργασία ρυθμίσεων χάρτη", + "Edit properties in a table": "Επεξεργασία ιδιοτήτων πίνακα", + "Edit this feature": "Επεξεργασία του στοιχείου ", + "Editing": "Επεξεργασία", + "Embed and share this map": "Ένθεση και διαμοιρασμός του χάρτη ", + "Embed the map": "Ένθεση του χάρτη ", + "Empty": "Άδειασμα ", + "Enable editing": "Ενεργοποίηση επεξεργασίας ", + "Error in the tilelayer URL": "Σφάλμα συνδέσμου υποβάθρου ", + "Error while fetching {url}": "Σφάλμα ανάκτησης {url}", + "Exit Fullscreen": "Έξοδος πλήρους οθόνης ", + "Extract shape to separate feature": "Εξαγωγή σχήματος σε ξεχωριστό στοιχείο", + "Fetch data each time map view changes.": "Ανάκτηση για δεδομένα σε όλες τις αλλαγές του χάρτη ", + "Filter keys": "Βασικά φίλτρα", + "Filter…": "Φίλτρα", + "Format": "Μορφή", + "From zoom": "Από μεγέθυνση ", + "Full map data": "Ολοκληρωμένα δεδομένα χάρτη", + "Go to «{feature}»": "πήγαινε στο «{στοιχείο}»", + "Heatmap intensity property": "Ένταση χαρακτηριστικών χάρτης εγγύτητας ", + "Heatmap radius": "Ακτίνα χάρτης εγγύτητας ", + "Help": "Βοήθεια", + "Hide controls": "Απόκρυψη εργαλείων ελέγχου ", + "Home": "Αρχική", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Πόσο απλοποιείται η συνθέτη γραμμή σε κάθε επίπεδο μεγέθυνσης (περισσότερο = ταχύτερη εκτέλεση και γενικότερη αποτύπωση, λιγότερο = περισσότερη ακρίβεια)", + "If false, the polygon will act as a part of the underlying map.": "Αν ψευδείς, το πολύγονο θα λειτουργήσει σαν μέρος του υποκείμενου χάρτη.", + "Iframe export options": "iframe παράμετροι εξαγωγής", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe με προσαρμοσμένο ύψος (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe με προσαρμοσμένο ύψος και πλάτος (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Εικόνα με προσαρμοσμένο πλάτος (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Εικόνα: {{http://image.url.com}}", + "Import": "Εισαγωγή ", + "Import data": "Εισαγωγή δεδομένων ", + "Import in a new layer": "Εισαγωγή σε νέο επίπεδο", + "Imports all umap data, including layers and settings.": "Εισάγει όλα τα δεδομένα, συμπεριλαμβανομένων επιπέδων και ρυθμίσεων.", + "Include full screen link?": "Να περιληφθεί σύνδεσμος πλήρους παραθύρου;", + "Interaction options": "Επιλογές διάδρασης ", + "Invalid umap data": "Μη έγκυρα δεδομένα umap ", + "Invalid umap data in {filename}": "Μη έγκυρα δεδομένα σε {filename}", + "Keep current visible layers": "Διατήρηση τρεχουσών ορατών επιπέδων ", + "Latitude": "Γεωγραφικό πλάτος", + "Layer": "Επίπεδο", + "Layer properties": "Ιδιότητες επιπέδου", + "Licence": "Άδεια", + "Limit bounds": "Περιορισμός ορίων", + "Link to…": "Σύνδεση με ...", + "Link with text: [[http://example.com|text of the link]]": "Σύνδεση με κείμενο:[[http://example.com|text of the link]]", + "Long credits": "Αναλυτικές Πιστώσεις ", + "Longitude": "Γεωγραφικό μήκος", + "Make main shape": "Κάντε κύριο σχήμα", + "Manage layers": "Διαχείριση επιπέδων ", + "Map background credits": "Πιστοποιητικά δημιουργού υποβάθρου ", + "Map has been attached to your account": "Ο χάρτης έχει συνδεθεί στο λογαριασμό σας", + "Map has been saved!": "Ο χάρτης έχει αποθηκευτεί!", + "Map user content has been published under licence": "Ο χάρτης του χρήστη δημοσιεύθηκε με άδεια ", + "Map's editors": "Οι συντάκτες του χάρτη", + "Map's owner": "Κάτοχος χάρτη", + "Merge lines": "Συγχώνευση γραμμών", + "More controls": "Περισσότερα εργαλεία ", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Πρέπει να είναι έγκυρη τιμή CSS (π.χ.: DarkBlue ή # 123456)", + "No licence has been set": "Δεν έχει οριστεί άδεια χρήσης", + "No results": "Δεν υπάρχουν αποτελέσματα", + "Only visible features will be downloaded.": "Μόνο τα ορατά στοιχεία θα ληφθούν ", + "Open download panel": "Ανοίξτε το πλαίσιο λήψης", + "Open link in…": "Άνοιγμα συνδέσμου σε ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Ανοίξτε αυτό το χάρτη σε έναν επεξεργαστή χαρτών για να παρέχετε πιο ακριβή δεδομένα στο OpenStreetMap", + "Optional intensity property for heatmap": "Προαιρετική ιδιότητα έντασης για το χάρτης εγγύτητας ", + "Optional. Same as color if not set.": "Προαιρετικό. Ίδιο χρώμα αν δεν διαμορφωθεί ", + "Override clustering radius (default 80)": "Αντικατάσταση ακτίνας συμπλέγματος (προεπιλογή 80)", + "Override heatmap radius (default 25)": "Αντικατάσταση ακτίνας χάρτης εγγύτητας (προεπιλογή 25)", + "Please be sure the licence is compliant with your use.": "Παρακαλώ χρησιμοποιείστε άδεια που συμμορφώνετε με την χρήση σας ", + "Please choose a format": "Παρακαλώ επιλέξτε μια μορφή", + "Please enter the name of the property": "Πληκτρολογήστε το όνομα της ιδιότητας", + "Please enter the new name of this property": "Εισαγάγετε το νέο όνομα αυτής της ιδιότητας", + "Powered by Leaflet and Django, glued by uMap project.": "Τροφοδοτείται από Leaflet και Django, που συνδέθηκαν από το uMap project.", + "Problem in the response": "Πρόβλημα στην απόκριση ", + "Problem in the response format": "Πρόβλημα στη μορφή απόκρισης ", + "Properties imported:": "Ιδιότητες που έχουν εισαχθεί:", + "Property to use for sorting features": "Ιδιότητα που χρησιμοποιείται για τη ταξινόμηση στοιχείων", + "Provide an URL here": "Δώστε ένα σύνδεσμο URL εδώ ", + "Proxy request": "Αίτημα απομακρυσμένου μεσολαβητή ", + "Remote data": "Απομακρυσμένα δεδομένα ", + "Remove shape from the multi": "Αφαίρεση σχήματος από πολυδεδομένο", + "Rename this property on all the features": "Μετονομασία αυτής της ιδιότητας από όλα τα στοιχεία", + "Replace layer content": "Αντικατάσταση περιεχομένου επιπέδου", + "Restore this version": "Επαναφορά της έκδοσης", + "Save": "Αποθήκευση", + "Save anyway": "Αποθήκευσε ούτως ή άλλως", + "Save current edits": "Αποθήκευση τρέχουσας επεξεργασίας", + "Save this center and zoom": "Αποθήκευσε αυτό το κέντρο και επίπεδο μεγέθυνσης ", + "Save this location as new feature": "Αποθήκευσε αυτήν την τοποθεσία ως νέο στοιχείο", + "Search a place name": "Αναζήτηση ονόματος χώρου", + "Search location": "Αναζήτηση τοποθεσίας ", + "Secret edit link is:
    {link}": "Ο μυστικό σύνδεσμος επεξεργασίας είναι:
    {link}", + "See all": "Εμφάνιση όλων ", + "See data layers": "Εμφάνιση δεδομένα επιπέδων ", + "See full screen": "Εμφάνιση πλήρους οθόνης ", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Ρύθμισε την ως ψευδή για την απόκρυψη του επιπέδου από την προβολή διαφανειών, το πρόγραμμα δεδομένα περιήγησης , την αναδυόμενη πλοήγηση ...", + "Shape properties": "Ιδιότητες σχήματος", + "Short URL": "Σύντομος σύνδεσμος URL", + "Short credits": "Σύντομες πιστώσεις.", + "Show/hide layer": "Εμφάνιση / απόκρυψη επιπέδου", + "Simple link: [[http://example.com]]": "Απλός σύνδεσμος:[[http://example.com]]", + "Slideshow": "Παρουσίαση", + "Smart transitions": "Έξυπνες μεταβάσεις", + "Sort key": "Κλειδί ταξινόμησης ", + "Split line": "Διαμελισμός γραμμής ", + "Start a hole here": "Ξεκίνησε μια τρύπα εδώ", + "Start editing": "Έναρξη επεξεργασίας", + "Start slideshow": "Έναρξη παρουσίασης", + "Stop editing": "Τερματισμός επεξεργασίας ", + "Stop slideshow": "Τερματισμός παρουσίασης", + "Supported scheme": "Υποστηριζόμενο γράφημα ", + "Supported variables that will be dynamically replaced": "Υποστηριζόμενες μεταβλητές που θα αντικατασταθούν δυναμικά", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Το σύμβολο μπορεί να είναι χαρακτήρας unicode ή μια διεύθυνση URL. Μπορείτε να χρησιμοποιήσετε τις ιδιότητες στοιχείων ως μεταβλητές: π.χ. με \"http://myserver.org/images/{name}.png\", η μεταβλητή {name} θα αντικατασταθεί από την τιμή \"όνομα\" κάθε δείκτη.", + "TMS format": " TMS μορφή", + "Text color for the cluster label": "Χρώμα κειμένου για την ετικέτα ομαδοποίησης", + "Text formatting": "Μορφοποίηση κειμένου", + "The name of the property to use as feature label (ex.: \"nom\")": "Το όνομα της ιδιότητας που θα χρησιμοποιηθεί ως ετικέτα χαρακτηριστικών (π.χ. \"nom\")", + "The zoom and center have been setted.": "Το επίπεδο μεγέθυνσης και το κέντρο χάρτη έχουν ρυθμιστεί.", + "To use if remote server doesn't allow cross domain (slower)": "Για χρήση εάν ο απομακρυσμένος διακομιστής δεν επιτρέπει cross domain (πιο αργή)", + "To zoom": "Για Μεγέθυνση ", + "Toggle edit mode (Shift+Click)": "Εναλλαγή λειτουργίας επεξεργασίας (Shift+Click)", + "Transfer shape to edited feature": "Μεταφορά σχήματος σε επεξεργασμένο στοιχείο", + "Transform to lines": "Μετασχηματισμός σε γραμμές", + "Transform to polygon": "Μετασχηματισμός σε πολύγωνο", + "Type of layer": "Τύπος επιπέδου", + "Unable to detect format of file {filename}": "Δεν είναι δυνατή η αναγνώριση της μορφής αρχείου {filename}", + "Untitled layer": "Επίπεδο χωρίς όνομα ", + "Untitled map": "Χάρτης χωρίς όνομα", + "Update permissions": "Ενημέρωση δικαιωμάτων ", + "Update permissions and editors": "Ενημέρωση δικαιωμάτων και συντακτών ", + "Url": "Σύνδεσμος", + "Use current bounds": "Χρησιμοποίησε αυτά τα όρια", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Χρησιμοποιήστε placeholders με τις ιδιότητες στοιχείο μεταξύ παρενθέσεων, π.χ. {name}, θα αντικατασταθούν δυναμικά από τις αντίστοιχες τιμές ", + "User content credits": "Πιστώσεις περιεχομένου χρήστη", + "User interface options": "Επιλογές περιβάλλοντος χρήστη", + "Versions": "Εκδόσεις", + "View Fullscreen": "Εμφάνιση πλήρους οθόνης", + "Where do we go from here?": "Πού πάμε από εδώ;", + "Whether to display or not polygons paths.": "Είτε πρόκειται να εμφανίσετε είτε όχι οδεύσεις πολυγώνων.", + "Whether to fill polygons with color.": "Είτε πρόκειται να γεμίσετε πολύγωνα με χρώμα.", + "Who can edit": "Ποιος μπορεί να επεξεργαστεί", + "Who can view": "Ποιος μπορεί να δει", + "Will be displayed in the bottom right corner of the map": "Θα εμφανιστεί στην κάτω δεξιά γωνία του χάρτη", + "Will be visible in the caption of the map": "Θα είναι ορατό στη λεζάντα του χάρτη", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Οχ!! Κάποιος άλλος φαίνεται να έχει επεξεργαστεί τα δεδομένα. Μπορείτε να αποθηκεύσετε ούτως ή άλλως, αλλά αυτό θα διαγράψει τις αλλαγές που έγιναν από άλλους.", + "You have unsaved changes.": "Έχετε μη αποθηκευμένες αλλαγές.", + "Zoom in": "Μεγέθυνση ", + "Zoom level for automatic zooms": "Επίπεδο ζουμ για αυτόματες μεγεθύνσεις/σμικρύνσεις ", + "Zoom out": "Σμίκρυνση ", + "Zoom to layer extent": "Μεγέθυνε στο χώρο κάλυψης του επίπεδου ", + "Zoom to the next": "Μεγέθυνση στο επόμενο", + "Zoom to the previous": "Μεγέθυνση στο προηγούμενο", + "Zoom to this feature": "Μεγέθυνε σε αυτό το στοιχείο", + "Zoom to this place": "Μεγέθυνση σε αυτό το μέρος", + "attribution": "Αναφορά", + "by": "από", + "display name": "εμφάνιση ονόματος ", + "height": "ύψος", + "licence": "άδεια", + "max East": "μέγιστο ανατολικό ", + "max North": "Μέγιστο Βόρειο ", + "max South": "Μέγιστο Νότιο", + "max West": "Μέγιστο Δυτικό ", + "max zoom": "Μέγιστη Μεγέθυνση ", + "min zoom": "Ελάχιστη σμίκρυνση ", + "next": "επόμενο", + "previous": "προηγούμενο", + "width": "πλάτος", + "{count} errors during import: {message}": "{count} σφάλματα κατά την εισαγωγή:{message}", + "Measure distances": "Μέτρηση αποστάσεων ", + "NM": "ΝΜ", + "kilometers": "Χιλιόμετρα ", + "km": "χλμ", + "mi": "μλ", + "miles": "μίλια ", + "nautical miles": "Ναυτικά μίλια", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha - Εκτάρια ", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} χλμ", + "{distance} m": "{distance} μ", + "{distance} miles": "{distance} μίλια ", + "{distance} yd": "{distance} yd", + "1 day": "1 μέρα", + "1 hour": "1 ώρα", + "5 min": "5 λεπτά", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Αναδυόμενο", + "Popup (large)": "Αναδυόμενο (μεγάλο) ", + "Popup content style": "Στυλ περιεχομένου αναδυόμενου ", + "Popup shape": "Σχήμα αναδυόμενου ", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("el", locale); +L.setLocale("el"); \ No newline at end of file diff --git a/umap/static/umap/locale/el.json b/umap/static/umap/locale/el.json new file mode 100644 index 00000000..311adc6b --- /dev/null +++ b/umap/static/umap/locale/el.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Προσθήκη συμβόλου ", + "Allow scroll wheel zoom?": "Επέτρεψε ζουμ κύλισης", + "Automatic": "Αυτόματα", + "Ball": "Καρφίτσα", + "Cancel": "Άκυρο ", + "Caption": "Υπόμνημα", + "Change symbol": "Αλλαγή συμβόλου ", + "Choose the data format": "Επιλογή μορφής για δεδομένα", + "Choose the layer of the feature": "Επιλέξτε το επίπεδο του στοιχείου", + "Circle": "Κύκλος ", + "Clustered": "Σύμπλεγμα", + "Data browser": "Δεδομένα Περιήγησης ", + "Default": "Προεπιλογή ", + "Default zoom level": "Προεπιλεγμένο επίπεδο μεγέθυνσης", + "Default: name": "Προεπιλογή: 'Ονομα", + "Display label": "Εμφάνιση ετικέτας", + "Display the control to open OpenStreetMap editor": "Εμφάνιση εικονιδίου επεξεργασίας OpenStreetMap", + "Display the data layers control": "Εμφάνιση εικονιδίου δεδομένα επίπεδων ", + "Display the embed control": "Εμφάνιση εικονιδίου διαμοιρασμού", + "Display the fullscreen control": "Εμφάνιση εικονιδίου πλήρους οθόνης ", + "Display the locate control": "Εμφάνιση εικονιδίου γεωεντοπισμού ", + "Display the measure control": "Εμφάνιση εικονιδίου μέτρησης", + "Display the search control": "Εμφάνιση εικονιδίου αναζήτησης", + "Display the tile layers control": "Εμφάνιση εικονιδίου αλλαγής υποβάθρων", + "Display the zoom control": "Εμφάνιση εικονιδίου μεγέθυνσης/σμίκρυνσης ", + "Do you want to display a caption bar?": "Θα επιθυμούσες την εμφάνιση Λεζάντας ;", + "Do you want to display a minimap?": "Επιθυμείτε την εμφάνιση χάρτη υπομνήματος ;", + "Do you want to display a panel on load?": "Θα επιθυμούσες την εμφάνιση πινακίδας κατά την φόρτωση ;", + "Do you want to display popup footer?": "Επιθυμείτε την εμφάνιση αναδυόμενης βάσης ;", + "Do you want to display the scale control?": "Επιθυμείτε την εμφάνιση κλίμακας ;", + "Do you want to display the «more» control?": "Επιθυμείτε την εμφάνιση \"περισσότερων\" επιλογών;", + "Drop": "Ρίψη ", + "GeoRSS (only link)": "GeoRSS (μόνο σύνδεσμος)", + "GeoRSS (title + image)": "GeoRSS (τίτλος + εικόνα)", + "Heatmap": "Χάρτης εγγύτητας", + "Icon shape": "Μορφή σύμβολο", + "Icon symbol": "Εικόνα σύμβολο", + "Inherit": "Μεταβίβαση", + "Label direction": "Κατεύθυνση ετικέτας ", + "Label key": "Κλειδί ετικέτας ", + "Labels are clickable": "Η ετικέτα έχει σύνδεσμο ", + "None": "Κανένα", + "On the bottom": "Στο κάτω μέρος", + "On the left": "Στο αριστερό μέρος", + "On the right": "Στο δεξί μέρος", + "On the top": "Στο πάνω μέρος", + "Popup content template": "Αναδυόμενο παράθυρο περιεχομένου ", + "Set symbol": "Ορισμός συμβόλου", + "Side panel": "Πλευρικός πίνακας", + "Simplify": "Απλοποίησε", + "Symbol or url": "Σύμβολο ή σύνδεσμος", + "Table": "Πίνακας", + "always": "πάντα", + "clear": "Εκκαθάριση", + "collapsed": "Κατέρρευσε ", + "color": "Χρώμα ", + "dash array": "Διάνυσμα σειράς", + "define": "Όρισε ", + "description": "Περιγραφή", + "expanded": "Ανεπτυγμένος", + "fill": "Γέμισμα ", + "fill color": "Χρώμα Γεμίσματος", + "fill opacity": "Αδιαφάνεια Γεμίσματος", + "hidden": "Απόκρυψη", + "iframe": "Παράθυρο εξωτερικού συνδέσμου", + "inherit": "Μετάβαση", + "name": "Όνομα", + "never": "Ποτέ", + "new window": "Νέο Παράθυρο", + "no": "όχι", + "on hover": "Με κατάδειξη", + "opacity": "Αδιαφάνεια", + "parent window": "Συγγενές παράθυρο ", + "stroke": "Πινέλο ", + "weight": "Βάρος", + "yes": "ναι", + "{delay} seconds": "{καθυστέρηση} δευτερόλεπτα", + "# one hash for main heading": "# ένα hash για τίτλο ", + "## two hashes for second heading": "## δύο hash για επικεφαλίδα", + "### three hashes for third heading": "### τρία hash για κεφαλίδα ", + "**double star for bold**": "**διπλό αστερίσκο για έντονη**", + "*simple star for italic*": "*μονό αστερίσκο για πλάγια*", + "--- for an horizontal rule": "---για οριζόντιο διαχωριστικό ", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Το κόμμα χωρίζει λίστα αριθμών που ορίζονται από ένα διανυσματικό σύνολο πχ.: \"5, 10, 15\".", + "About": "Σχετικά", + "Action not allowed :(": "Μη επιτρεπόμενη ενέργεια :(", + "Activate slideshow mode": "Ενεργοποίηση διαφανειών παρουσίασης ", + "Add a layer": "Προσθήκη επιπέδου", + "Add a line to the current multi": "Προσθήκη γραμμής στο παρόν πολυδεδομένο ", + "Add a new property": "Προσθήκη νέας ιδιότητας", + "Add a polygon to the current multi": "Προσθήκη πολυγώνου στο παρόν πολυδεδομένο ", + "Advanced actions": "Εξειδικευμένες ενέργειες ", + "Advanced properties": "Εξειδικευμένες ιδιότητες ", + "Advanced transition": "Προχωρημένος μετασχηματισμός ", + "All properties are imported.": "Εισήχθησαν όλες οι ιδιότητες", + "Allow interactions": "Επέτρεψε αλληλεπιδράσεις ", + "An error occured": "Παρουσιάστηκε σφάλμα ", + "Are you sure you want to cancel your changes?": "Είστε βέβαιος για το ότι θέλετε να ακυρώσετε τις αλλαγές σας;", + "Are you sure you want to clone this map and all its datalayers?": "Είστε βέβαιος ότι θέλετε να κλωνοποιηθεί αυτός ο χάρτης και όλα τα επίπεδα δεδομένων του;", + "Are you sure you want to delete the feature?": "Είστε βέβαιος ότι θέλετε να διαγράφει αυτό το στοιχείο;", + "Are you sure you want to delete this layer?": "Είσαι σίγουρος για την διαγραφή αυτού του επιπέδου;", + "Are you sure you want to delete this map?": "Είστε βέβαιος ότι θέλετε να διαγραφεί αυτός ο χάρτης ;", + "Are you sure you want to delete this property on all the features?": "Είσαι σίγουρος για την διαγραφή αυτής της ιδιότητας από όλα τα στοιχεία; ", + "Are you sure you want to restore this version?": "Είσαι σίγουρος για την επαναφορά αυτής της εκδοχής ;", + "Attach the map to my account": "Επισύναψη αυτού του χάρτη στο λογαριασμό μου", + "Auto": "Αυτόματα", + "Autostart when map is loaded": "Αυτόματη έναρξη με την φόρτωση του χάρτη ", + "Bring feature to center": "Κέντραρε το στοιχείο", + "Browse data": "Περιήγηση δεδομένων ", + "Cancel edits": "Ακύρωση επεξεργασίας ", + "Center map on your location": "Κέντραρε τον χάρτη στη θέση σου ", + "Change map background": "Αλλαγή χαρτογραφικού υποβάθρου ", + "Change tilelayers": "Αλλαγή επιπέδου ", + "Choose a preset": "Επιλογή τρέχοντος", + "Choose the format of the data to import": "Επιλέξτε τη μορφή των δεδομένων για εισαγωγή", + "Choose the layer to import in": "Επιλέξτε το επίπεδο που θα γίνει η εισαγωγή ", + "Click last point to finish shape": "Πατήστε στο τελευταίο σημείο για την εισαγωγή του σχήματος", + "Click to add a marker": "Πατήστε για την εισαγωγή συμβόλου ", + "Click to continue drawing": "Πατήστε για συνέχεια σχεδίου", + "Click to edit": "Πατήστε για επεξεργασία", + "Click to start drawing a line": "Πατήστε για έναρξη σχεδιασμού γραμμής", + "Click to start drawing a polygon": "Πατήστε για έναρξη σχεδιασμού πολυγώνου ", + "Clone": "Κλωνοποίηση", + "Clone of {name}": "Κλωνοποίηση του {ονόματος}", + "Clone this feature": "Κλωνοποίηση αυτού του στοιχείου", + "Clone this map": "Κλωνοποίηση αυτού του χάρτη", + "Close": "Κλείσιμο ", + "Clustering radius": "Ακτίνα συμπλέγματος", + "Comma separated list of properties to use when filtering features": "Διαχωρίστε με κόμμα την λίστα ιδιοτήτων για το φιλτράρισμα των στοιχείων ", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Οι τιμές που χωρίζονται με κόμματα, tab ή χρώματα. SRS WGS84 υπονοείται. Εισάγονται μόνο γεωμετρίες σημείων. Η εισαγωγή θα εξετάσει τις κεφαλίδες στηλών -Headers- για οποιαδήποτε αναφορά «lat» και «lon» στην αρχή της κεφαλίδας, που δεν είναι ευαίσθητες -case insensitive- . Όλες οι άλλες στήλες εισάγονται ως ιδιότητες.", + "Continue line": "Συνέχεια γραμμής ", + "Continue line (Ctrl+Click)": "Συνέχεια γραμμής (Ctrl+Click)", + "Coordinates": "Συντεταγμένες ", + "Credits": "Πιστώσεις ", + "Current view instead of default map view?": "Αυτή τη προβολή χάρτη αντί της προ επιλεγμένης ", + "Custom background": "Προσαρμοσμένο υπόβαθρο", + "Data is browsable": "Τα δεδομένα είναι περιήγησιμα ", + "Default interaction options": "Προεπιλεγμένες επιλογές αλληλεπίδρασης", + "Default properties": "Προεπιλεγμένες ιδιότητες", + "Default shape properties": "Προεπιλεγμένες ιδιότητες σχημάτων ", + "Define link to open in a new window on polygon click.": "Προσδιορισμός συνδέσμου για άνοιγμα νέου παραθύρου με κλικ στο πολύγονο ", + "Delay between two transitions when in play mode": "Καθυστέρηση μεταξύ δύο εναλλαγών κατά την παρουσίαση ", + "Delete": "Διαγραφή ", + "Delete all layers": "Διαγραφή όλων των επιπέδων", + "Delete layer": "Διαγραφή επιπέδου", + "Delete this feature": "Διαγραφή αυτού του στοιχείου ", + "Delete this property on all the features": "Διαγραφή αυτής της ιδιότητας από όλα τα στοιχεία", + "Delete this shape": "Διαγραφή σχήματος", + "Delete this vertex (Alt+Click)": "Διαγραφή αυτής της κορυφής (Alt+Click)", + "Directions from here": "Διαδρομή από εδώ", + "Disable editing": "Απενεργοποίηση επεξεργασίας ", + "Display measure": "Εμφάνιση μέτρου ", + "Display on load": "Εμφάνιση κατά την φόρτωση ", + "Download": "Λήψη", + "Download data": "Λήψη δεδομένων", + "Drag to reorder": "Σύρατε για αναδιάταξη", + "Draw a line": "Σχεδιασμός γραμμής ", + "Draw a marker": "Σχεδιασμός σημείου ", + "Draw a polygon": "Σχεδιασμός πολυγώνου ", + "Draw a polyline": "Σχεδιασμός σύνθετης γραμμής ", + "Dynamic": "Δυναμική ", + "Dynamic properties": "Δυναμικές ιδιότητες ", + "Edit": "Επεξεργασία ", + "Edit feature's layer": "Επεξεργασία στοιχείων επιπέδου", + "Edit map properties": "Επεξεργασία ιδιοτήτων χάρτη ", + "Edit map settings": "Επεξεργασία ρυθμίσεων χάρτη", + "Edit properties in a table": "Επεξεργασία ιδιοτήτων πίνακα", + "Edit this feature": "Επεξεργασία του στοιχείου ", + "Editing": "Επεξεργασία", + "Embed and share this map": "Ένθεση και διαμοιρασμός του χάρτη ", + "Embed the map": "Ένθεση του χάρτη ", + "Empty": "Άδειασμα ", + "Enable editing": "Ενεργοποίηση επεξεργασίας ", + "Error in the tilelayer URL": "Σφάλμα συνδέσμου υποβάθρου ", + "Error while fetching {url}": "Σφάλμα ανάκτησης {url}", + "Exit Fullscreen": "Έξοδος πλήρους οθόνης ", + "Extract shape to separate feature": "Εξαγωγή σχήματος σε ξεχωριστό στοιχείο", + "Fetch data each time map view changes.": "Ανάκτηση για δεδομένα σε όλες τις αλλαγές του χάρτη ", + "Filter keys": "Βασικά φίλτρα", + "Filter…": "Φίλτρα", + "Format": "Μορφή", + "From zoom": "Από μεγέθυνση ", + "Full map data": "Ολοκληρωμένα δεδομένα χάρτη", + "Go to «{feature}»": "πήγαινε στο «{στοιχείο}»", + "Heatmap intensity property": "Ένταση χαρακτηριστικών χάρτης εγγύτητας ", + "Heatmap radius": "Ακτίνα χάρτης εγγύτητας ", + "Help": "Βοήθεια", + "Hide controls": "Απόκρυψη εργαλείων ελέγχου ", + "Home": "Αρχική", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Πόσο απλοποιείται η συνθέτη γραμμή σε κάθε επίπεδο μεγέθυνσης (περισσότερο = ταχύτερη εκτέλεση και γενικότερη αποτύπωση, λιγότερο = περισσότερη ακρίβεια)", + "If false, the polygon will act as a part of the underlying map.": "Αν ψευδείς, το πολύγονο θα λειτουργήσει σαν μέρος του υποκείμενου χάρτη.", + "Iframe export options": "iframe παράμετροι εξαγωγής", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe με προσαρμοσμένο ύψος (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe με προσαρμοσμένο ύψος και πλάτος (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Εικόνα με προσαρμοσμένο πλάτος (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Εικόνα: {{http://image.url.com}}", + "Import": "Εισαγωγή ", + "Import data": "Εισαγωγή δεδομένων ", + "Import in a new layer": "Εισαγωγή σε νέο επίπεδο", + "Imports all umap data, including layers and settings.": "Εισάγει όλα τα δεδομένα, συμπεριλαμβανομένων επιπέδων και ρυθμίσεων.", + "Include full screen link?": "Να περιληφθεί σύνδεσμος πλήρους παραθύρου;", + "Interaction options": "Επιλογές διάδρασης ", + "Invalid umap data": "Μη έγκυρα δεδομένα umap ", + "Invalid umap data in {filename}": "Μη έγκυρα δεδομένα σε {filename}", + "Keep current visible layers": "Διατήρηση τρεχουσών ορατών επιπέδων ", + "Latitude": "Γεωγραφικό πλάτος", + "Layer": "Επίπεδο", + "Layer properties": "Ιδιότητες επιπέδου", + "Licence": "Άδεια", + "Limit bounds": "Περιορισμός ορίων", + "Link to…": "Σύνδεση με ...", + "Link with text: [[http://example.com|text of the link]]": "Σύνδεση με κείμενο:[[http://example.com|text of the link]]", + "Long credits": "Αναλυτικές Πιστώσεις ", + "Longitude": "Γεωγραφικό μήκος", + "Make main shape": "Κάντε κύριο σχήμα", + "Manage layers": "Διαχείριση επιπέδων ", + "Map background credits": "Πιστοποιητικά δημιουργού υποβάθρου ", + "Map has been attached to your account": "Ο χάρτης έχει συνδεθεί στο λογαριασμό σας", + "Map has been saved!": "Ο χάρτης έχει αποθηκευτεί!", + "Map user content has been published under licence": "Ο χάρτης του χρήστη δημοσιεύθηκε με άδεια ", + "Map's editors": "Οι συντάκτες του χάρτη", + "Map's owner": "Κάτοχος χάρτη", + "Merge lines": "Συγχώνευση γραμμών", + "More controls": "Περισσότερα εργαλεία ", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Πρέπει να είναι έγκυρη τιμή CSS (π.χ.: DarkBlue ή # 123456)", + "No licence has been set": "Δεν έχει οριστεί άδεια χρήσης", + "No results": "Δεν υπάρχουν αποτελέσματα", + "Only visible features will be downloaded.": "Μόνο τα ορατά στοιχεία θα ληφθούν ", + "Open download panel": "Ανοίξτε το πλαίσιο λήψης", + "Open link in…": "Άνοιγμα συνδέσμου σε ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Ανοίξτε αυτό το χάρτη σε έναν επεξεργαστή χαρτών για να παρέχετε πιο ακριβή δεδομένα στο OpenStreetMap", + "Optional intensity property for heatmap": "Προαιρετική ιδιότητα έντασης για το χάρτης εγγύτητας ", + "Optional. Same as color if not set.": "Προαιρετικό. Ίδιο χρώμα αν δεν διαμορφωθεί ", + "Override clustering radius (default 80)": "Αντικατάσταση ακτίνας συμπλέγματος (προεπιλογή 80)", + "Override heatmap radius (default 25)": "Αντικατάσταση ακτίνας χάρτης εγγύτητας (προεπιλογή 25)", + "Please be sure the licence is compliant with your use.": "Παρακαλώ χρησιμοποιείστε άδεια που συμμορφώνετε με την χρήση σας ", + "Please choose a format": "Παρακαλώ επιλέξτε μια μορφή", + "Please enter the name of the property": "Πληκτρολογήστε το όνομα της ιδιότητας", + "Please enter the new name of this property": "Εισαγάγετε το νέο όνομα αυτής της ιδιότητας", + "Powered by Leaflet and Django, glued by uMap project.": "Τροφοδοτείται από Leaflet και Django, που συνδέθηκαν από το uMap project.", + "Problem in the response": "Πρόβλημα στην απόκριση ", + "Problem in the response format": "Πρόβλημα στη μορφή απόκρισης ", + "Properties imported:": "Ιδιότητες που έχουν εισαχθεί:", + "Property to use for sorting features": "Ιδιότητα που χρησιμοποιείται για τη ταξινόμηση στοιχείων", + "Provide an URL here": "Δώστε ένα σύνδεσμο URL εδώ ", + "Proxy request": "Αίτημα απομακρυσμένου μεσολαβητή ", + "Remote data": "Απομακρυσμένα δεδομένα ", + "Remove shape from the multi": "Αφαίρεση σχήματος από πολυδεδομένο", + "Rename this property on all the features": "Μετονομασία αυτής της ιδιότητας από όλα τα στοιχεία", + "Replace layer content": "Αντικατάσταση περιεχομένου επιπέδου", + "Restore this version": "Επαναφορά της έκδοσης", + "Save": "Αποθήκευση", + "Save anyway": "Αποθήκευσε ούτως ή άλλως", + "Save current edits": "Αποθήκευση τρέχουσας επεξεργασίας", + "Save this center and zoom": "Αποθήκευσε αυτό το κέντρο και επίπεδο μεγέθυνσης ", + "Save this location as new feature": "Αποθήκευσε αυτήν την τοποθεσία ως νέο στοιχείο", + "Search a place name": "Αναζήτηση ονόματος χώρου", + "Search location": "Αναζήτηση τοποθεσίας ", + "Secret edit link is:
    {link}": "Ο μυστικό σύνδεσμος επεξεργασίας είναι:
    {link}", + "See all": "Εμφάνιση όλων ", + "See data layers": "Εμφάνιση δεδομένα επιπέδων ", + "See full screen": "Εμφάνιση πλήρους οθόνης ", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Ρύθμισε την ως ψευδή για την απόκρυψη του επιπέδου από την προβολή διαφανειών, το πρόγραμμα δεδομένα περιήγησης , την αναδυόμενη πλοήγηση ...", + "Shape properties": "Ιδιότητες σχήματος", + "Short URL": "Σύντομος σύνδεσμος URL", + "Short credits": "Σύντομες πιστώσεις.", + "Show/hide layer": "Εμφάνιση / απόκρυψη επιπέδου", + "Simple link: [[http://example.com]]": "Απλός σύνδεσμος:[[http://example.com]]", + "Slideshow": "Παρουσίαση", + "Smart transitions": "Έξυπνες μεταβάσεις", + "Sort key": "Κλειδί ταξινόμησης ", + "Split line": "Διαμελισμός γραμμής ", + "Start a hole here": "Ξεκίνησε μια τρύπα εδώ", + "Start editing": "Έναρξη επεξεργασίας", + "Start slideshow": "Έναρξη παρουσίασης", + "Stop editing": "Τερματισμός επεξεργασίας ", + "Stop slideshow": "Τερματισμός παρουσίασης", + "Supported scheme": "Υποστηριζόμενο γράφημα ", + "Supported variables that will be dynamically replaced": "Υποστηριζόμενες μεταβλητές που θα αντικατασταθούν δυναμικά", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Το σύμβολο μπορεί να είναι χαρακτήρας unicode ή μια διεύθυνση URL. Μπορείτε να χρησιμοποιήσετε τις ιδιότητες στοιχείων ως μεταβλητές: π.χ. με \"http://myserver.org/images/{name}.png\", η μεταβλητή {name} θα αντικατασταθεί από την τιμή \"όνομα\" κάθε δείκτη.", + "TMS format": " TMS μορφή", + "Text color for the cluster label": "Χρώμα κειμένου για την ετικέτα ομαδοποίησης", + "Text formatting": "Μορφοποίηση κειμένου", + "The name of the property to use as feature label (ex.: \"nom\")": "Το όνομα της ιδιότητας που θα χρησιμοποιηθεί ως ετικέτα χαρακτηριστικών (π.χ. \"nom\")", + "The zoom and center have been setted.": "Το επίπεδο μεγέθυνσης και το κέντρο χάρτη έχουν ρυθμιστεί.", + "To use if remote server doesn't allow cross domain (slower)": "Για χρήση εάν ο απομακρυσμένος διακομιστής δεν επιτρέπει cross domain (πιο αργή)", + "To zoom": "Για Μεγέθυνση ", + "Toggle edit mode (Shift+Click)": "Εναλλαγή λειτουργίας επεξεργασίας (Shift+Click)", + "Transfer shape to edited feature": "Μεταφορά σχήματος σε επεξεργασμένο στοιχείο", + "Transform to lines": "Μετασχηματισμός σε γραμμές", + "Transform to polygon": "Μετασχηματισμός σε πολύγωνο", + "Type of layer": "Τύπος επιπέδου", + "Unable to detect format of file {filename}": "Δεν είναι δυνατή η αναγνώριση της μορφής αρχείου {filename}", + "Untitled layer": "Επίπεδο χωρίς όνομα ", + "Untitled map": "Χάρτης χωρίς όνομα", + "Update permissions": "Ενημέρωση δικαιωμάτων ", + "Update permissions and editors": "Ενημέρωση δικαιωμάτων και συντακτών ", + "Url": "Σύνδεσμος", + "Use current bounds": "Χρησιμοποίησε αυτά τα όρια", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Χρησιμοποιήστε placeholders με τις ιδιότητες στοιχείο μεταξύ παρενθέσεων, π.χ. {name}, θα αντικατασταθούν δυναμικά από τις αντίστοιχες τιμές ", + "User content credits": "Πιστώσεις περιεχομένου χρήστη", + "User interface options": "Επιλογές περιβάλλοντος χρήστη", + "Versions": "Εκδόσεις", + "View Fullscreen": "Εμφάνιση πλήρους οθόνης", + "Where do we go from here?": "Πού πάμε από εδώ;", + "Whether to display or not polygons paths.": "Είτε πρόκειται να εμφανίσετε είτε όχι οδεύσεις πολυγώνων.", + "Whether to fill polygons with color.": "Είτε πρόκειται να γεμίσετε πολύγωνα με χρώμα.", + "Who can edit": "Ποιος μπορεί να επεξεργαστεί", + "Who can view": "Ποιος μπορεί να δει", + "Will be displayed in the bottom right corner of the map": "Θα εμφανιστεί στην κάτω δεξιά γωνία του χάρτη", + "Will be visible in the caption of the map": "Θα είναι ορατό στη λεζάντα του χάρτη", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Οχ!! Κάποιος άλλος φαίνεται να έχει επεξεργαστεί τα δεδομένα. Μπορείτε να αποθηκεύσετε ούτως ή άλλως, αλλά αυτό θα διαγράψει τις αλλαγές που έγιναν από άλλους.", + "You have unsaved changes.": "Έχετε μη αποθηκευμένες αλλαγές.", + "Zoom in": "Μεγέθυνση ", + "Zoom level for automatic zooms": "Επίπεδο ζουμ για αυτόματες μεγεθύνσεις/σμικρύνσεις ", + "Zoom out": "Σμίκρυνση ", + "Zoom to layer extent": "Μεγέθυνε στο χώρο κάλυψης του επίπεδου ", + "Zoom to the next": "Μεγέθυνση στο επόμενο", + "Zoom to the previous": "Μεγέθυνση στο προηγούμενο", + "Zoom to this feature": "Μεγέθυνε σε αυτό το στοιχείο", + "Zoom to this place": "Μεγέθυνση σε αυτό το μέρος", + "attribution": "Αναφορά", + "by": "από", + "display name": "εμφάνιση ονόματος ", + "height": "ύψος", + "licence": "άδεια", + "max East": "μέγιστο ανατολικό ", + "max North": "Μέγιστο Βόρειο ", + "max South": "Μέγιστο Νότιο", + "max West": "Μέγιστο Δυτικό ", + "max zoom": "Μέγιστη Μεγέθυνση ", + "min zoom": "Ελάχιστη σμίκρυνση ", + "next": "επόμενο", + "previous": "προηγούμενο", + "width": "πλάτος", + "{count} errors during import: {message}": "{count} σφάλματα κατά την εισαγωγή:{message}", + "Measure distances": "Μέτρηση αποστάσεων ", + "NM": "ΝΜ", + "kilometers": "Χιλιόμετρα ", + "km": "χλμ", + "mi": "μλ", + "miles": "μίλια ", + "nautical miles": "Ναυτικά μίλια", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha - Εκτάρια ", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} χλμ", + "{distance} m": "{distance} μ", + "{distance} miles": "{distance} μίλια ", + "{distance} yd": "{distance} yd", + "1 day": "1 μέρα", + "1 hour": "1 ώρα", + "5 min": "5 λεπτά", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Αναδυόμενο", + "Popup (large)": "Αναδυόμενο (μεγάλο) ", + "Popup content style": "Στυλ περιεχομένου αναδυόμενου ", + "Popup shape": "Σχήμα αναδυόμενου ", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/en.js b/umap/static/umap/locale/en.js new file mode 100644 index 00000000..d22441ac --- /dev/null +++ b/umap/static/umap/locale/en.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("en", locale); +L.setLocale("en"); \ No newline at end of file diff --git a/umap/static/umap/locale/en.json b/umap/static/umap/locale/en.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/en.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/en_US.json b/umap/static/umap/locale/en_US.json new file mode 100644 index 00000000..72e0c461 --- /dev/null +++ b/umap/static/umap/locale/en_US.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose...", + "Choose the layer of the feature": "Layer", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Display caption bar", + "Do you want to display a minimap?": "Display minimap", + "Do you want to display a panel on load?": "Display side panel", + "Do you want to display popup footer?": "Display navigation controls on popups", + "Do you want to display the scale control?": "Display scale", + "Do you want to display the «more» control?": "Show \"more\" map controls", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "width", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "New layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Actions", + "Advanced properties": "Appearance", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occurred", + "Are you sure you want to cancel your changes?": "Are you sure you want to abandon your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its layers and features?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete this feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change basemap", + "Change tilelayers": "Set map background", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Data format:", + "Choose the layer to import in": "Import into layer:", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom basemap", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Layer defaults", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Finish editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a line", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Layer properties", + "Edit map properties": "Map properties", + "Edit map settings": "Map properties", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed map", + "Empty": "Empty", + "Enable editing": "Edit map", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to {feature}", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Basemap credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "There was an error receiving your data.", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "http://...", + "Proxy request": "Use proxy", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Zoom and center saved.", + "To use if remote server doesn't allow cross domain (slower)": "Use if the remote server doesn't support CORS (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Convert to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Map permissions", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Warning! Someone else seems to have edited the data. If you save now, you will erase any changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/es.js b/umap/static/umap/locale/es.js new file mode 100644 index 00000000..55cd0c1d --- /dev/null +++ b/umap/static/umap/locale/es.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Añadir un símbolo", + "Allow scroll wheel zoom?": "¿Permitir acercar con la rueda central del ratón?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "subtítulo", + "Change symbol": "Cambiar símbolo", + "Choose the data format": "Elegir el formato de datos", + "Choose the layer of the feature": "Elegir la capa del elemento", + "Circle": "Círculo", + "Clustered": "Agrupados", + "Data browser": "navegador de datos", + "Default": "Predeterminado", + "Default zoom level": "Nivel de acercamiento predeterminado", + "Default: name": "Predeterminado: nombre", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar el control para abrir el editor OpenStreetMap", + "Display the data layers control": "Mostrrar el control de la capa de datos", + "Display the embed control": "Mostrar el control de embebido", + "Display the fullscreen control": "Mostrar el control de pantalla completa", + "Display the locate control": "Mostrar el control de ubicación", + "Display the measure control": "Mostrar el control de medida", + "Display the search control": "Mostrar el control de búsqueda", + "Display the tile layers control": "Mostrar el control de capas de teselas", + "Display the zoom control": "Mostrar el control de acercamiento", + "Do you want to display a caption bar?": "¿Quiere mostrar la barra de subtítulos?", + "Do you want to display a minimap?": "¿Quiere mostrar un mini-mapa?", + "Do you want to display a panel on load?": "¿Quiere mostrar un panel al cargar?", + "Do you want to display popup footer?": "¿Quiere mostrar la ventana emergente en el pie de página?", + "Do you want to display the scale control?": "¿Quiere mostrar el control de escala?", + "Do you want to display the «more» control?": "¿Quiere mostrar el control «más»?", + "Drop": "Gota", + "GeoRSS (only link)": "georss (sólo enlace)", + "GeoRSS (title + image)": "georss (título + imagen)", + "Heatmap": "Mapa de calor", + "Icon shape": "Icono de la forma", + "Icon symbol": "Icono del símbolo", + "Inherit": "Heredar", + "Label direction": "Dirección de la etiqueta", + "Label key": "Etiqueta de la clave", + "Labels are clickable": "Las etiquetas se podrán hacer clic", + "None": "ninguno", + "On the bottom": "En la parte inferior", + "On the left": "A la izquierda", + "On the right": "A la derecha", + "On the top": "En la parte superior", + "Popup content template": "plantilla del contenido de la ventana emergente", + "Set symbol": "Establecer símbolo", + "Side panel": "panel lateral", + "Simplify": "Simplifica", + "Symbol or url": "Símbolo o URL", + "Table": "tabla", + "always": "siempre", + "clear": "limpiar", + "collapsed": "contraído", + "color": "color", + "dash array": "matriz de guiones", + "define": "define", + "description": "Descripción", + "expanded": "expandido", + "fill": "rellenar", + "fill color": "color de relleno", + "fill opacity": "rellenar la opacidad", + "hidden": "oculta", + "iframe": "iframe", + "inherit": "heredar", + "name": "Nombre", + "never": "nunca", + "new window": "nueva ventana", + "no": "no", + "on hover": "al pasar el ratón", + "opacity": "opacidad", + "parent window": "ventana padre", + "stroke": "trazo", + "weight": "peso", + "yes": "si", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# una almohadilla para el encabezado principal", + "## two hashes for second heading": "## dos almohadillas para el encabezado secundario", + "### three hashes for third heading": "### tres almohadillas para el encabezado ternario", + "**double star for bold**": "**dos asteriscos para negrita**", + "*simple star for italic*": "*un asterisco para cursiva*", + "--- for an horizontal rule": "--- para una línea horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Una lista separada por comas que define el patrón de trazos de guión. Ej.: \"5, 10, 15\".", + "About": "Acerca de", + "Action not allowed :(": "Acción no permitida :(", + "Activate slideshow mode": "Activar el modo pase de diapositivas", + "Add a layer": "Añadir una capa", + "Add a line to the current multi": "Añadir una línea para el multi actual", + "Add a new property": "Añadir una nueva propiedad", + "Add a polygon to the current multi": "Añadir un polígono para el multi actual", + "Advanced actions": "Acciones avanzadas", + "Advanced properties": "Propiedades avanzadas", + "Advanced transition": "Transición avanzada", + "All properties are imported.": "Todas las propiedades son importadas.", + "Allow interactions": "Permitir interacciones", + "An error occured": "Ocurrió un error", + "Are you sure you want to cancel your changes?": "¿Está seguro que quiere cancelar sus cambios?", + "Are you sure you want to clone this map and all its datalayers?": "¿Está seguro que quiere clonar este mapa y todas sus capas de datos?", + "Are you sure you want to delete the feature?": "¿Está seguro que quiere eliminar este elemento?", + "Are you sure you want to delete this layer?": "¿Está seguro que quiere borrar esta capa?", + "Are you sure you want to delete this map?": "¿Está seguro que quiere eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "¿Esta seguro que quiere eliminar esta propiedad en todos los elementos?", + "Are you sure you want to restore this version?": "¿Está seguro que quiere restaurar esta versión?", + "Attach the map to my account": "Adjuntar el mapa a mi cuenta", + "Auto": "Automático", + "Autostart when map is loaded": "Autocomenzar cuando el mapa esté cargado", + "Bring feature to center": "Llevar al centro el elemento", + "Browse data": "Navegar los datos", + "Cancel edits": "Cancelar las ediciones", + "Center map on your location": "Centrar el mapa en su ubicación", + "Change map background": "Cambiar mapa de fondo", + "Change tilelayers": "Cambiar capas de teselas", + "Choose a preset": "Elegir un preestablecido", + "Choose the format of the data to import": "Elegir el formato de los datos a importar", + "Choose the layer to import in": "Elegir la capa a la que se importa", + "Click last point to finish shape": "Haga clic en el último punto para terminar la forma", + "Click to add a marker": "Haga clic para añadir un marcador", + "Click to continue drawing": "Haga clic para seguir dibujando", + "Click to edit": "Clic para editar", + "Click to start drawing a line": "Haga clic para empezar a dibujar una línea", + "Click to start drawing a polygon": "Haga clic para empezar a dibujar un polígono", + "Clone": "Clonar", + "Clone of {name}": "Clón de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Cerrar", + "Clustering radius": "Radio de agrupación", + "Comma separated list of properties to use when filtering features": "Lista de propiedades separado por comas para utilizar el filtrado de elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por coma, tabulación o punto y coma. Se presupone formato SRS WGS84. Sólo se importan geometrías de punto. El importador buscará, en las cabeceras de cada columna, cualquier mención de «lat» y «lon» al comienzo de la cabecera, en mayúsculas o minúsculas. Todas las columnas restantes son importadas como propiedades.", + "Continue line": "Línea continua", + "Continue line (Ctrl+Click)": "Línea continuada (Ctrl+Clic)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "¿Vista actual en lugar de la vista predeterminada?", + "Custom background": "Fondo personalizado", + "Data is browsable": "Data is browsable", + "Default interaction options": "Opciones de interacción predeterminados", + "Default properties": "Propiedades predeterminadas", + "Default shape properties": "Propiedades de formas predeterminados", + "Define link to open in a new window on polygon click.": "Defina un enlace para abrir en un nueva ventana al hacer clic en el polígono.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas las capas", + "Delete layer": "Borrar capa", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propiedad en todos los elementos", + "Delete this shape": "Eliminar esta forma", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)", + "Directions from here": "Direcciones desde aquí", + "Disable editing": "Deshabilitar la edición", + "Display measure": "Display measure", + "Display on load": "Mostrar al cargar", + "Download": "Descargar", + "Download data": "Descargar datos", + "Drag to reorder": "Arrastrar para reordenar", + "Draw a line": "Dibuja una línea", + "Draw a marker": "Dibuja un marcador", + "Draw a polygon": "Dibuja un polígono", + "Draw a polyline": "Dibuja una polilínea", + "Dynamic": "Dinámico", + "Dynamic properties": "Propiedades dinámicas", + "Edit": "Editar", + "Edit feature's layer": "Editar la capa del elemento", + "Edit map properties": "Editar propiedades del mapa", + "Edit map settings": "Editar ajustes del mapa", + "Edit properties in a table": "Editar propiedades en una tabla", + "Edit this feature": "Editar este elemento", + "Editing": "Editando", + "Embed and share this map": "Embeber y compartir este mapa", + "Embed the map": "Embeber el mapa", + "Empty": "Vaciar", + "Enable editing": "Habilitar la edición", + "Error in the tilelayer URL": "Error en la URL del la capa de teselas", + "Error while fetching {url}": "Error al recuperar {url}", + "Exit Fullscreen": "Salir de la pantalla completa", + "Extract shape to separate feature": "Extraer la forma al elemento separado", + "Fetch data each time map view changes.": "Traer datos cada vez que la vista del mapa cambia.", + "Filter keys": "Claves de filtrado", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Desde el acercamiento", + "Full map data": "Full map data", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propiedad intensidad del mapa de calor", + "Heatmap radius": "Radio del mapa de calor", + "Help": "Ayuda", + "Hide controls": "Ocultar controles", + "Home": "Inicio", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Cuánto se simplificará la polilínea en cada nivel de acercamiento (más = mejor comportamiento y apariencia más suave, menos = más preciso)", + "If false, the polygon will act as a part of the underlying map.": "Si falso, el polígono actuará como una parte del mapa subyacente.", + "Iframe export options": "Opciones de exportación del iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura personalizada (en píxeles): {{{http://iframe.url.com|altura}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto y ancho (en px) personalizado: {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagen con anchura personalizada (en píxeles): {{http://imagen.url.com|anchura}}", + "Image: {{http://image.url.com}}": "Imagen: {{http://imagen.url.com}}", + "Import": "Importar", + "Import data": "Importar datos", + "Import in a new layer": "Importar en una nueva capa", + "Imports all umap data, including layers and settings.": "Importar todos los datos umap, incluyendo capas y ajustes.", + "Include full screen link?": "¿Incluir el enlace de pantalla completa?", + "Interaction options": "Opciones de interacción", + "Invalid umap data": "Dato umap inválido", + "Invalid umap data in {filename}": "Dato umap inválido en {filename}", + "Keep current visible layers": "Guardar capas visibles actuales", + "Latitude": "Latitud", + "Layer": "Capa", + "Layer properties": "Propiedades de la capa", + "Licence": "Licencia", + "Limit bounds": "Limitar los límites", + "Link to…": "Enlace a...", + "Link with text: [[http://example.com|text of the link]]": "Enlace con texto: [[http://ejemplo.com|texto del enlace]]", + "Long credits": "créditos largo", + "Longitude": "Longitud", + "Make main shape": "Hacer la forma principal", + "Manage layers": "Gestionar capas", + "Map background credits": "Créditos del mapa de fondo", + "Map has been attached to your account": "El mapa se ha adjuntado a su cuenta", + "Map has been saved!": "¡Se ha guardado el mapa!", + "Map user content has been published under licence": "El contenido del mapa del usuario ha sido publicados bajo la licencia", + "Map's editors": "Editores del mapa", + "Map's owner": "Propietario del mapa", + "Merge lines": "Combinar líneas", + "More controls": "Más controles", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Debe ser un valor CSS válido (por ej.: DarkBlue o #123456)", + "No licence has been set": "Ninguna licencia se ha establecido", + "No results": "Sin resultado", + "Only visible features will be downloaded.": "Sólo los elementos visibles se descargarán.", + "Open download panel": "Abrir el panel de descarga", + "Open link in…": "Abrir enlace en...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abre la extensión de este mapa en un editor de mapas para proveer datos más precisos a OpenStreetMap", + "Optional intensity property for heatmap": "Propiedad intensidad opcional para el mapa de calor", + "Optional. Same as color if not set.": "Opcional. El mismo color si no se establece.", + "Override clustering radius (default 80)": "Sobrescribir el radio de agrupación (predeterminado 80)", + "Override heatmap radius (default 25)": "Sobreescribir el radio del mapa de calor (predeterminado 25)", + "Please be sure the licence is compliant with your use.": "Asegúrase que la licencia sea compatible con el uso que le va a dar.", + "Please choose a format": "Elije un formato", + "Please enter the name of the property": "Introduzca el nombre de la propiedad", + "Please enter the new name of this property": "Introduzca el nuevo nombre de esta propiedad", + "Powered by Leaflet and Django, glued by uMap project.": "Impulsado por Leaflet y Django, pegado por proyecto uMap.", + "Problem in the response": "Problema en la respuesta", + "Problem in the response format": "Problema con el formato de respuesta", + "Properties imported:": "Propiedades importadas:", + "Property to use for sorting features": "Propiedad para ordenar los elementos", + "Provide an URL here": "Proporcione una URL aquí", + "Proxy request": "Petición a proxy", + "Remote data": "Datos remotos", + "Remove shape from the multi": "Quitar la forma del multi", + "Rename this property on all the features": "Renombrar esta propiedad en todos los elementos", + "Replace layer content": "Reemplaza el contenido de la capa", + "Restore this version": "Restaurar esta versión", + "Save": "Guardar", + "Save anyway": "Guardar de todos modos", + "Save current edits": "Guardar las ediciones actuales", + "Save this center and zoom": "Guardar este centrado y acercamiento", + "Save this location as new feature": "Guardar esta ubicación como nuevo elemento", + "Search a place name": "Buscar el nombre de un lugar", + "Search location": "Buscar ubicación", + "Secret edit link is:
    {link}": "El enlace secreto de edición es:
    {link}", + "See all": "Ver todo", + "See data layers": "Ver capas de datos", + "See full screen": "Ver pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Propiedades de la forma", + "Short URL": "URL corta", + "Short credits": "créditos corto", + "Show/hide layer": "Mostrar/ocultar capa", + "Simple link: [[http://example.com]]": "Enlace simple: [[http://ejemplo.com]]", + "Slideshow": "Presentación de diapositivas", + "Smart transitions": "Smart transitions", + "Sort key": "Orden de la clave", + "Split line": "Linea de división", + "Start a hole here": "Iniciar un agujero aquí", + "Start editing": "Comenzar a editar", + "Start slideshow": "Iniciar presentación de diapositivas", + "Stop editing": "Parar de editar", + "Stop slideshow": "Parar presentación de diapositivas", + "Supported scheme": "Esquema soportado", + "Supported variables that will be dynamically replaced": "Variables soportadas que serán reemplazadas dinámicamente", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "El símbolo puede ser un carácter unicode o una URL. Puede usar las propiedades del elemento como variables: ej.: \"http://myserver.org/images/{name}.png\", la variable {name} será remplazada por el valor \"name\" de cada marcador.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Color del texto para la etiqueta clúster", + "Text formatting": "Formato de texto", + "The name of the property to use as feature label (ex.: \"nom\")": "El nombre de la propiedad a usar como etiqueta del elemento (ej.: «nom»)", + "The zoom and center have been setted.": "El acercamiento y el centrado han sido establecidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para utilizar si el servidor remoto no permite dominios cruzados (más lento)", + "To zoom": "Para el acercamiento", + "Toggle edit mode (Shift+Click)": "Conmuta el modo edición (Shift+Clic)", + "Transfer shape to edited feature": "Transferir la forma al elemento editada", + "Transform to lines": "Transformar a líneas", + "Transform to polygon": "Transformar a polígono", + "Type of layer": "Tipo de capa", + "Unable to detect format of file {filename}": "No se puede detectar el formato de archivo {filename}", + "Untitled layer": "Capa sin título", + "Untitled map": "Mapa sin título", + "Update permissions": "Actualizar permisos", + "Update permissions and editors": "Actualizar permisos y editores", + "Url": "Url", + "Use current bounds": "Utilizar límites actuales", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Utilizar marcadores de posición con propiedades del elemento entre paréntesis, ejemplo {name}, serán reemplazados dinámicamente por los valores correspondientes.", + "User content credits": "Créditos del contenido del usuario", + "User interface options": "Opciones de la interface de usuario", + "Versions": "Versiones", + "View Fullscreen": "Ver en pantalla completa", + "Where do we go from here?": "¿A dónde vamos a partir de aquí?", + "Whether to display or not polygons paths.": "Si desea mostrar o no el trayecto de los polígonos.", + "Whether to fill polygons with color.": "Si desea rellenar los polígonos con color.", + "Who can edit": "Quién puede editar", + "Who can view": "Quién puede ver", + "Will be displayed in the bottom right corner of the map": "Se mostrará en la esquina inferior izquierda del mapa", + "Will be visible in the caption of the map": "Será visible en el subtítulo del mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "¡Oops! Alguien parece haber editado los datos. Puedes guardar de todos modos, pero esto va a borrar los cambios realizados por otros.", + "You have unsaved changes.": "Tiene cambios no guardados.", + "Zoom in": "Acercar", + "Zoom level for automatic zooms": "Nivel de acercamiento para acercamientos automáticos", + "Zoom out": "Alejar", + "Zoom to layer extent": "Acercamiento al nivel de la capa", + "Zoom to the next": "Acercamiento al siguiente", + "Zoom to the previous": "Acercamiento al anterior", + "Zoom to this feature": "Acercamiento a este elemento", + "Zoom to this place": "Acercamiento a este lugar", + "attribution": "atribución", + "by": "por", + "display name": "mostrar nombre", + "height": "altura", + "licence": "licencia", + "max East": "máximo Este", + "max North": "máximo Norte", + "max South": "máximo Sur", + "max West": "máximo Oeste", + "max zoom": "acercamiento máximo", + "min zoom": "acercamiento mínimo", + "next": "siguiente", + "previous": "anterior", + "width": "anchura", + "{count} errors during import: {message}": "{count} errores durante la importación: {message}", + "Measure distances": "Medir distancias", + "NM": "NM", + "kilometers": "kilómetros", + "km": "km", + "mi": "mi", + "miles": "millas", + "nautical miles": "millas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} millas", + "{distance} yd": "{distance} yd", + "1 day": "1 día", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Guardar la petición al proxy", + "No cache": "Sin cache", + "Popup": "Ventana emergente", + "Popup (large)": "Ventana emergente (grande)", + "Popup content style": "Estilo del contenido de la ventana emergente", + "Popup shape": "Forma de la ventana emergente", + "Skipping unknown geometry.type: {type}": "Ignorando tipo de geometría desconocida: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Pega tus datos aquí", + "Please save the map first": "Por favor guarda primero el mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("es", locale); +L.setLocale("es"); \ No newline at end of file diff --git a/umap/static/umap/locale/es.json b/umap/static/umap/locale/es.json new file mode 100644 index 00000000..1040ef13 --- /dev/null +++ b/umap/static/umap/locale/es.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Añadir un símbolo", + "Allow scroll wheel zoom?": "¿Permitir acercar con la rueda central del ratón?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "subtítulo", + "Change symbol": "Cambiar símbolo", + "Choose the data format": "Elegir el formato de datos", + "Choose the layer of the feature": "Elegir la capa del elemento", + "Circle": "Círculo", + "Clustered": "Agrupados", + "Data browser": "navegador de datos", + "Default": "Predeterminado", + "Default zoom level": "Nivel de acercamiento predeterminado", + "Default: name": "Predeterminado: nombre", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar el control para abrir el editor OpenStreetMap", + "Display the data layers control": "Mostrrar el control de la capa de datos", + "Display the embed control": "Mostrar el control de embebido", + "Display the fullscreen control": "Mostrar el control de pantalla completa", + "Display the locate control": "Mostrar el control de ubicación", + "Display the measure control": "Mostrar el control de medida", + "Display the search control": "Mostrar el control de búsqueda", + "Display the tile layers control": "Mostrar el control de capas de teselas", + "Display the zoom control": "Mostrar el control de acercamiento", + "Do you want to display a caption bar?": "¿Quiere mostrar la barra de subtítulos?", + "Do you want to display a minimap?": "¿Quiere mostrar un mini-mapa?", + "Do you want to display a panel on load?": "¿Quiere mostrar un panel al cargar?", + "Do you want to display popup footer?": "¿Quiere mostrar la ventana emergente en el pie de página?", + "Do you want to display the scale control?": "¿Quiere mostrar el control de escala?", + "Do you want to display the «more» control?": "¿Quiere mostrar el control «más»?", + "Drop": "Gota", + "GeoRSS (only link)": "georss (sólo enlace)", + "GeoRSS (title + image)": "georss (título + imagen)", + "Heatmap": "Mapa de calor", + "Icon shape": "Icono de la forma", + "Icon symbol": "Icono del símbolo", + "Inherit": "Heredar", + "Label direction": "Dirección de la etiqueta", + "Label key": "Etiqueta de la clave", + "Labels are clickable": "Las etiquetas se podrán hacer clic", + "None": "ninguno", + "On the bottom": "En la parte inferior", + "On the left": "A la izquierda", + "On the right": "A la derecha", + "On the top": "En la parte superior", + "Popup content template": "plantilla del contenido de la ventana emergente", + "Set symbol": "Establecer símbolo", + "Side panel": "panel lateral", + "Simplify": "Simplifica", + "Symbol or url": "Símbolo o URL", + "Table": "tabla", + "always": "siempre", + "clear": "limpiar", + "collapsed": "contraído", + "color": "color", + "dash array": "matriz de guiones", + "define": "define", + "description": "Descripción", + "expanded": "expandido", + "fill": "rellenar", + "fill color": "color de relleno", + "fill opacity": "rellenar la opacidad", + "hidden": "oculta", + "iframe": "iframe", + "inherit": "heredar", + "name": "Nombre", + "never": "nunca", + "new window": "nueva ventana", + "no": "no", + "on hover": "al pasar el ratón", + "opacity": "opacidad", + "parent window": "ventana padre", + "stroke": "trazo", + "weight": "peso", + "yes": "si", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# una almohadilla para el encabezado principal", + "## two hashes for second heading": "## dos almohadillas para el encabezado secundario", + "### three hashes for third heading": "### tres almohadillas para el encabezado ternario", + "**double star for bold**": "**dos asteriscos para negrita**", + "*simple star for italic*": "*un asterisco para cursiva*", + "--- for an horizontal rule": "--- para una línea horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Una lista separada por comas que define el patrón de trazos de guión. Ej.: \"5, 10, 15\".", + "About": "Acerca de", + "Action not allowed :(": "Acción no permitida :(", + "Activate slideshow mode": "Activar el modo pase de diapositivas", + "Add a layer": "Añadir una capa", + "Add a line to the current multi": "Añadir una línea para el multi actual", + "Add a new property": "Añadir una nueva propiedad", + "Add a polygon to the current multi": "Añadir un polígono para el multi actual", + "Advanced actions": "Acciones avanzadas", + "Advanced properties": "Propiedades avanzadas", + "Advanced transition": "Transición avanzada", + "All properties are imported.": "Todas las propiedades son importadas.", + "Allow interactions": "Permitir interacciones", + "An error occured": "Ocurrió un error", + "Are you sure you want to cancel your changes?": "¿Está seguro que quiere cancelar sus cambios?", + "Are you sure you want to clone this map and all its datalayers?": "¿Está seguro que quiere clonar este mapa y todas sus capas de datos?", + "Are you sure you want to delete the feature?": "¿Está seguro que quiere eliminar este elemento?", + "Are you sure you want to delete this layer?": "¿Está seguro que quiere borrar esta capa?", + "Are you sure you want to delete this map?": "¿Está seguro que quiere eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "¿Esta seguro que quiere eliminar esta propiedad en todos los elementos?", + "Are you sure you want to restore this version?": "¿Está seguro que quiere restaurar esta versión?", + "Attach the map to my account": "Adjuntar el mapa a mi cuenta", + "Auto": "Automático", + "Autostart when map is loaded": "Autocomenzar cuando el mapa esté cargado", + "Bring feature to center": "Llevar al centro el elemento", + "Browse data": "Navegar los datos", + "Cancel edits": "Cancelar las ediciones", + "Center map on your location": "Centrar el mapa en su ubicación", + "Change map background": "Cambiar mapa de fondo", + "Change tilelayers": "Cambiar capas de teselas", + "Choose a preset": "Elegir un preestablecido", + "Choose the format of the data to import": "Elegir el formato de los datos a importar", + "Choose the layer to import in": "Elegir la capa a la que se importa", + "Click last point to finish shape": "Haga clic en el último punto para terminar la forma", + "Click to add a marker": "Haga clic para añadir un marcador", + "Click to continue drawing": "Haga clic para seguir dibujando", + "Click to edit": "Clic para editar", + "Click to start drawing a line": "Haga clic para empezar a dibujar una línea", + "Click to start drawing a polygon": "Haga clic para empezar a dibujar un polígono", + "Clone": "Clonar", + "Clone of {name}": "Clón de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Cerrar", + "Clustering radius": "Radio de agrupación", + "Comma separated list of properties to use when filtering features": "Lista de propiedades separado por comas para utilizar el filtrado de elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por coma, tabulación o punto y coma. Se presupone formato SRS WGS84. Sólo se importan geometrías de punto. El importador buscará, en las cabeceras de cada columna, cualquier mención de «lat» y «lon» al comienzo de la cabecera, en mayúsculas o minúsculas. Todas las columnas restantes son importadas como propiedades.", + "Continue line": "Línea continua", + "Continue line (Ctrl+Click)": "Línea continuada (Ctrl+Clic)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "¿Vista actual en lugar de la vista predeterminada?", + "Custom background": "Fondo personalizado", + "Data is browsable": "Data is browsable", + "Default interaction options": "Opciones de interacción predeterminados", + "Default properties": "Propiedades predeterminadas", + "Default shape properties": "Propiedades de formas predeterminados", + "Define link to open in a new window on polygon click.": "Defina un enlace para abrir en un nueva ventana al hacer clic en el polígono.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas las capas", + "Delete layer": "Borrar capa", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propiedad en todos los elementos", + "Delete this shape": "Eliminar esta forma", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)", + "Directions from here": "Direcciones desde aquí", + "Disable editing": "Deshabilitar la edición", + "Display measure": "Display measure", + "Display on load": "Mostrar al cargar", + "Download": "Descargar", + "Download data": "Descargar datos", + "Drag to reorder": "Arrastrar para reordenar", + "Draw a line": "Dibuja una línea", + "Draw a marker": "Dibuja un marcador", + "Draw a polygon": "Dibuja un polígono", + "Draw a polyline": "Dibuja una polilínea", + "Dynamic": "Dinámico", + "Dynamic properties": "Propiedades dinámicas", + "Edit": "Editar", + "Edit feature's layer": "Editar la capa del elemento", + "Edit map properties": "Editar propiedades del mapa", + "Edit map settings": "Editar ajustes del mapa", + "Edit properties in a table": "Editar propiedades en una tabla", + "Edit this feature": "Editar este elemento", + "Editing": "Editando", + "Embed and share this map": "Embeber y compartir este mapa", + "Embed the map": "Embeber el mapa", + "Empty": "Vaciar", + "Enable editing": "Habilitar la edición", + "Error in the tilelayer URL": "Error en la URL del la capa de teselas", + "Error while fetching {url}": "Error al recuperar {url}", + "Exit Fullscreen": "Salir de la pantalla completa", + "Extract shape to separate feature": "Extraer la forma al elemento separado", + "Fetch data each time map view changes.": "Traer datos cada vez que la vista del mapa cambia.", + "Filter keys": "Claves de filtrado", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Desde el acercamiento", + "Full map data": "Full map data", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propiedad intensidad del mapa de calor", + "Heatmap radius": "Radio del mapa de calor", + "Help": "Ayuda", + "Hide controls": "Ocultar controles", + "Home": "Inicio", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Cuánto se simplificará la polilínea en cada nivel de acercamiento (más = mejor comportamiento y apariencia más suave, menos = más preciso)", + "If false, the polygon will act as a part of the underlying map.": "Si falso, el polígono actuará como una parte del mapa subyacente.", + "Iframe export options": "Opciones de exportación del iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura personalizada (en píxeles): {{{http://iframe.url.com|altura}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto y ancho (en px) personalizado: {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagen con anchura personalizada (en píxeles): {{http://imagen.url.com|anchura}}", + "Image: {{http://image.url.com}}": "Imagen: {{http://imagen.url.com}}", + "Import": "Importar", + "Import data": "Importar datos", + "Import in a new layer": "Importar en una nueva capa", + "Imports all umap data, including layers and settings.": "Importar todos los datos umap, incluyendo capas y ajustes.", + "Include full screen link?": "¿Incluir el enlace de pantalla completa?", + "Interaction options": "Opciones de interacción", + "Invalid umap data": "Dato umap inválido", + "Invalid umap data in {filename}": "Dato umap inválido en {filename}", + "Keep current visible layers": "Guardar capas visibles actuales", + "Latitude": "Latitud", + "Layer": "Capa", + "Layer properties": "Propiedades de la capa", + "Licence": "Licencia", + "Limit bounds": "Limitar los límites", + "Link to…": "Enlace a...", + "Link with text: [[http://example.com|text of the link]]": "Enlace con texto: [[http://ejemplo.com|texto del enlace]]", + "Long credits": "créditos largo", + "Longitude": "Longitud", + "Make main shape": "Hacer la forma principal", + "Manage layers": "Gestionar capas", + "Map background credits": "Créditos del mapa de fondo", + "Map has been attached to your account": "El mapa se ha adjuntado a su cuenta", + "Map has been saved!": "¡Se ha guardado el mapa!", + "Map user content has been published under licence": "El contenido del mapa del usuario ha sido publicados bajo la licencia", + "Map's editors": "Editores del mapa", + "Map's owner": "Propietario del mapa", + "Merge lines": "Combinar líneas", + "More controls": "Más controles", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Debe ser un valor CSS válido (por ej.: DarkBlue o #123456)", + "No licence has been set": "Ninguna licencia se ha establecido", + "No results": "Sin resultado", + "Only visible features will be downloaded.": "Sólo los elementos visibles se descargarán.", + "Open download panel": "Abrir el panel de descarga", + "Open link in…": "Abrir enlace en...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abre la extensión de este mapa en un editor de mapas para proveer datos más precisos a OpenStreetMap", + "Optional intensity property for heatmap": "Propiedad intensidad opcional para el mapa de calor", + "Optional. Same as color if not set.": "Opcional. El mismo color si no se establece.", + "Override clustering radius (default 80)": "Sobrescribir el radio de agrupación (predeterminado 80)", + "Override heatmap radius (default 25)": "Sobreescribir el radio del mapa de calor (predeterminado 25)", + "Please be sure the licence is compliant with your use.": "Asegúrase que la licencia sea compatible con el uso que le va a dar.", + "Please choose a format": "Elije un formato", + "Please enter the name of the property": "Introduzca el nombre de la propiedad", + "Please enter the new name of this property": "Introduzca el nuevo nombre de esta propiedad", + "Powered by Leaflet and Django, glued by uMap project.": "Impulsado por Leaflet y Django, pegado por proyecto uMap.", + "Problem in the response": "Problema en la respuesta", + "Problem in the response format": "Problema con el formato de respuesta", + "Properties imported:": "Propiedades importadas:", + "Property to use for sorting features": "Propiedad para ordenar los elementos", + "Provide an URL here": "Proporcione una URL aquí", + "Proxy request": "Petición a proxy", + "Remote data": "Datos remotos", + "Remove shape from the multi": "Quitar la forma del multi", + "Rename this property on all the features": "Renombrar esta propiedad en todos los elementos", + "Replace layer content": "Reemplaza el contenido de la capa", + "Restore this version": "Restaurar esta versión", + "Save": "Guardar", + "Save anyway": "Guardar de todos modos", + "Save current edits": "Guardar las ediciones actuales", + "Save this center and zoom": "Guardar este centrado y acercamiento", + "Save this location as new feature": "Guardar esta ubicación como nuevo elemento", + "Search a place name": "Buscar el nombre de un lugar", + "Search location": "Buscar ubicación", + "Secret edit link is:
    {link}": "El enlace secreto de edición es:
    {link}", + "See all": "Ver todo", + "See data layers": "Ver capas de datos", + "See full screen": "Ver pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Propiedades de la forma", + "Short URL": "URL corta", + "Short credits": "créditos corto", + "Show/hide layer": "Mostrar/ocultar capa", + "Simple link: [[http://example.com]]": "Enlace simple: [[http://ejemplo.com]]", + "Slideshow": "Presentación de diapositivas", + "Smart transitions": "Smart transitions", + "Sort key": "Orden de la clave", + "Split line": "Linea de división", + "Start a hole here": "Iniciar un agujero aquí", + "Start editing": "Comenzar a editar", + "Start slideshow": "Iniciar presentación de diapositivas", + "Stop editing": "Parar de editar", + "Stop slideshow": "Parar presentación de diapositivas", + "Supported scheme": "Esquema soportado", + "Supported variables that will be dynamically replaced": "Variables soportadas que serán reemplazadas dinámicamente", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "El símbolo puede ser un carácter unicode o una URL. Puede usar las propiedades del elemento como variables: ej.: \"http://myserver.org/images/{name}.png\", la variable {name} será remplazada por el valor \"name\" de cada marcador.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Color del texto para la etiqueta clúster", + "Text formatting": "Formato de texto", + "The name of the property to use as feature label (ex.: \"nom\")": "El nombre de la propiedad a usar como etiqueta del elemento (ej.: «nom»)", + "The zoom and center have been setted.": "El acercamiento y el centrado han sido establecidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para utilizar si el servidor remoto no permite dominios cruzados (más lento)", + "To zoom": "Para el acercamiento", + "Toggle edit mode (Shift+Click)": "Conmuta el modo edición (Shift+Clic)", + "Transfer shape to edited feature": "Transferir la forma al elemento editada", + "Transform to lines": "Transformar a líneas", + "Transform to polygon": "Transformar a polígono", + "Type of layer": "Tipo de capa", + "Unable to detect format of file {filename}": "No se puede detectar el formato de archivo {filename}", + "Untitled layer": "Capa sin título", + "Untitled map": "Mapa sin título", + "Update permissions": "Actualizar permisos", + "Update permissions and editors": "Actualizar permisos y editores", + "Url": "Url", + "Use current bounds": "Utilizar límites actuales", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Utilizar marcadores de posición con propiedades del elemento entre paréntesis, ejemplo {name}, serán reemplazados dinámicamente por los valores correspondientes.", + "User content credits": "Créditos del contenido del usuario", + "User interface options": "Opciones de la interface de usuario", + "Versions": "Versiones", + "View Fullscreen": "Ver en pantalla completa", + "Where do we go from here?": "¿A dónde vamos a partir de aquí?", + "Whether to display or not polygons paths.": "Si desea mostrar o no el trayecto de los polígonos.", + "Whether to fill polygons with color.": "Si desea rellenar los polígonos con color.", + "Who can edit": "Quién puede editar", + "Who can view": "Quién puede ver", + "Will be displayed in the bottom right corner of the map": "Se mostrará en la esquina inferior izquierda del mapa", + "Will be visible in the caption of the map": "Será visible en el subtítulo del mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "¡Oops! Alguien parece haber editado los datos. Puedes guardar de todos modos, pero esto va a borrar los cambios realizados por otros.", + "You have unsaved changes.": "Tiene cambios no guardados.", + "Zoom in": "Acercar", + "Zoom level for automatic zooms": "Nivel de acercamiento para acercamientos automáticos", + "Zoom out": "Alejar", + "Zoom to layer extent": "Acercamiento al nivel de la capa", + "Zoom to the next": "Acercamiento al siguiente", + "Zoom to the previous": "Acercamiento al anterior", + "Zoom to this feature": "Acercamiento a este elemento", + "Zoom to this place": "Acercamiento a este lugar", + "attribution": "atribución", + "by": "por", + "display name": "mostrar nombre", + "height": "altura", + "licence": "licencia", + "max East": "máximo Este", + "max North": "máximo Norte", + "max South": "máximo Sur", + "max West": "máximo Oeste", + "max zoom": "acercamiento máximo", + "min zoom": "acercamiento mínimo", + "next": "siguiente", + "previous": "anterior", + "width": "anchura", + "{count} errors during import: {message}": "{count} errores durante la importación: {message}", + "Measure distances": "Medir distancias", + "NM": "NM", + "kilometers": "kilómetros", + "km": "km", + "mi": "mi", + "miles": "millas", + "nautical miles": "millas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} millas", + "{distance} yd": "{distance} yd", + "1 day": "1 día", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Guardar la petición al proxy", + "No cache": "Sin cache", + "Popup": "Ventana emergente", + "Popup (large)": "Ventana emergente (grande)", + "Popup content style": "Estilo del contenido de la ventana emergente", + "Popup shape": "Forma de la ventana emergente", + "Skipping unknown geometry.type: {type}": "Ignorando tipo de geometría desconocida: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Pega tus datos aquí", + "Please save the map first": "Por favor guarda primero el mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/et.js b/umap/static/umap/locale/et.js new file mode 100644 index 00000000..c4d419ec --- /dev/null +++ b/umap/static/umap/locale/et.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Lisa sümbol", + "Allow scroll wheel zoom?": "Luba hiirerullikuga suurendamine?", + "Automatic": "Automaatne", + "Ball": "Nööpnõel", + "Cancel": "Loobu", + "Caption": "Legend", + "Change symbol": "Vaheta sümbol", + "Choose the data format": "Vali kuupäeva vorming", + "Choose the layer of the feature": "Vali elemendi kiht", + "Circle": "Ring", + "Clustered": "Clustered", + "Data browser": "Andmete sirvimine", + "Default": "Vaikesäte", + "Default zoom level": "Vaikimisi suurendusaste", + "Default: name": "Vaikimisi: name", + "Display label": "Kuva silt", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Kuva andmekihtide nupp", + "Display the embed control": "Kuva jagamise nupp", + "Display the fullscreen control": "Kuva täisekraani nupp", + "Display the locate control": "Kuva asukoha määramise nupp", + "Display the measure control": "Kuva mõõtmise nupp", + "Display the search control": "Kuva otsingunupp", + "Display the tile layers control": "Kuva tausta vahetamise nupp", + "Display the zoom control": "Kuva suurendamise nupp", + "Do you want to display a caption bar?": "Kas soovid kuvada tiitelriba?", + "Do you want to display a minimap?": "Kas soovid kuvada minikaarti?", + "Do you want to display a panel on load?": "Kas soovid kuvada külgpaneeli laadimisel?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Kas soovid kuvada mõõtkava?", + "Do you want to display the «more» control?": "Kas soovid kuvada nuppu «rohkem»?", + "Drop": "Tilk", + "GeoRSS (only link)": "GeoRSS (ainult link)", + "GeoRSS (title + image)": "GeoRSS (pealkiri + pilt)", + "Heatmap": "Soojuskaart", + "Icon shape": "Ikooni kuju", + "Icon symbol": "Ikooni sümbol", + "Inherit": "Inherit", + "Label direction": "Sildi suund", + "Label key": "Sildi võti", + "Labels are clickable": "Silte saab klõpsata", + "None": "Mitte midagi", + "On the bottom": "All", + "On the left": "Vasakul", + "On the right": "Paremal", + "On the top": "Ülal", + "Popup content template": "Hüpiku mall", + "Set symbol": "Määra sümbol", + "Side panel": "Külgpaneel", + "Simplify": "Lihtsustamine", + "Symbol or url": "Sümbol või URL", + "Table": "Tabel", + "always": "alati", + "clear": "tühjenda", + "collapsed": "ahendatud", + "color": "värv", + "dash array": "katkendjoon", + "define": "määra", + "description": "kirjeldus", + "expanded": "laiendatud", + "fill": "täide", + "fill color": "täitevärv", + "fill opacity": "täite läbipaistvus", + "hidden": "peidetud", + "iframe": "iframe", + "inherit": "päri", + "name": "nimi", + "never": "mitte kunagi", + "new window": "uus aken", + "no": "ei", + "on hover": "on hover", + "opacity": "läbipaistvus", + "parent window": "parent window", + "stroke": "stroke", + "weight": "jämedus", + "yes": "jah", + "{delay} seconds": "{delay} sekundit", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**kaks tärni paksu kirja jaoks**", + "*simple star for italic*": "* üks tärn kaldkirja jaoks*", + "--- for an horizontal rule": "--- horisontaaljoone jaoks", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Komaga eraldatud numbriloend, mis määrab katkendjoone mustri, nt \"5, 10, 15\".", + "About": "Projektist", + "Action not allowed :(": "Tegevus pole lubatud :(", + "Activate slideshow mode": "Aktiveeri slaidiesitluse režiim", + "Add a layer": "Lisa kiht", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Lisa uus omadus", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Täiendavad tegevused", + "Advanced properties": "Täiendavad omadused", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Kõik omadused imporditi.", + "Allow interactions": "Allow interactions", + "An error occured": "Ilmnes viga", + "Are you sure you want to cancel your changes?": "Oled sa kindel, et soovid muudatustest loobuda ?", + "Are you sure you want to clone this map and all its datalayers?": "Oled sa kindel, et soovid kopeerida seda kaarti ja kõiki selle andmekihte?", + "Are you sure you want to delete the feature?": "Oled sa kindel, et soovid seda elementi kustutada?", + "Are you sure you want to delete this layer?": "Oled sa kindel, et soovid seda kihti kustutada?", + "Are you sure you want to delete this map?": "Oled sa kindel, et soovid seda kaarti kustutada?", + "Are you sure you want to delete this property on all the features?": "Oled sa kindel, et soovid kõigi elementide juurest selle omaduse kustutada?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Manusta kaart minu kontole", + "Auto": "Auto", + "Autostart when map is loaded": "Automaatne käivitus kaardi laadimisel", + "Bring feature to center": "Sea element keskpunktiks", + "Browse data": "Andmete sirvimine", + "Cancel edits": "Loobu muudatustest", + "Center map on your location": "Sea oma asukoht keskpunktiks", + "Change map background": "Vaheta kaardi taust", + "Change tilelayers": "Vaheta kaardi taust", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Klõpsa kujundi lõpetamiseks viimasel punktil", + "Click to add a marker": "Klõpsa markeri lisamiseks", + "Click to continue drawing": "Klõpsa joonistamise jätkamiseks", + "Click to edit": "Klõpsa muutmiseks", + "Click to start drawing a line": "Klõpsa joone alustamiseks", + "Click to start drawing a polygon": "Klõpsa hulknurga alustamiseks", + "Clone": "Kopeeri", + "Clone of {name}": "{name} koopia", + "Clone this feature": "Kopeeri seda elementi", + "Clone this map": "Kopeeri seda kaarti", + "Close": "Sulge", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Jätka joont (Ctrl+Klõps)", + "Coordinates": "Koordinaadid", + "Credits": "Credits", + "Current view instead of default map view?": "Praegune vaade vaikimis vaate asemel?", + "Custom background": "Kohandatud taust", + "Data is browsable": "Andmed on sirvitavad", + "Default interaction options": "Interaktsiooni vaikesuvandid", + "Default properties": "Vaikeomadused", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Kustuta", + "Delete all layers": "Kustuta kõik kihid", + "Delete layer": "Kustuta kiht", + "Delete this feature": "Kustuta see element", + "Delete this property on all the features": "Kustuta see omadus kõigi elementide juures", + "Delete this shape": "Kustuta see kujund", + "Delete this vertex (Alt+Click)": "Kustuta see tipp (Alt+Klõps)", + "Directions from here": "Directions from here", + "Disable editing": "Keela muutmine", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Laadi alla", + "Download data": "Laadi andmed alla", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Joonista joon", + "Draw a marker": "Lisa marker", + "Draw a polygon": "Joonista hulknurk", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Muuda", + "Edit feature's layer": "Muuda elemendi kihti", + "Edit map properties": "Edit map properties", + "Edit map settings": "Muuda kaardi seadeid", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Muuda seda elementi", + "Editing": "Muutmisel", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Tühjenda", + "Enable editing": "Luba muutmine", + "Error in the tilelayer URL": "Vigane tausta URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Välju täisekraanist", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Mine «{feature}» juurde", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Abi", + "Hide controls": "Peida juhtnupud", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe'i eksportimise suvandid", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe kohandatud kõrgusega (pikslites): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Pilt kohandatud laiusega (pikslites): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Impordi andmed", + "Import in a new layer": "Impordi uuele kihile", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaktsiooni suvandid", + "Invalid umap data": "Vigased uMapi andmed", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Laius", + "Layer": "Kiht", + "Layer properties": "Layer properties", + "Licence": "Litsents", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link tekstiga: [[http://example.com|lingi text]]", + "Long credits": "Long credits", + "Longitude": "Pikkus", + "Make main shape": "Make main shape", + "Manage layers": "Halda kihte", + "Map background credits": "Kaardi tausta õigused", + "Map has been attached to your account": "Kaart on lisatud kontole", + "Map has been saved!": "Kaart on salvestatud!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Kaardi toimetajad", + "Map's owner": "Kaardi omanik", + "Merge lines": "Merge lines", + "More controls": "Rohkem juhtnuppe", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Peab olema kehtiv CSS väärtus (nt DarkBlue või #123456)", + "No licence has been set": "Litsentsi pole määratud", + "No results": "Tulemusteta", + "Only visible features will be downloaded.": "Alla laaditakse ainult nähtavad elemendid", + "Open download panel": "Ava allalaadimise aken", + "Open link in…": "Ava link...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Valikuline. Sama mis värv, kui pole määratud teisiti", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Sisesta palun omaduse nimi", + "Please enter the new name of this property": "Sisesta palun selle omaduse uus nimi", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Imporditud omadused:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Salvesta", + "Save anyway": "Save anyway", + "Save current edits": "Salvesta praegused muudatused", + "Save this center and zoom": "Salvesta see keskpunkt ja suurendus", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Näita kõiki", + "See data layers": "Näita andmekihte", + "See full screen": "Täisekraanvaade", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Kujundi omadused", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Alusta muutmist", + "Start slideshow": "Start slideshow", + "Stop editing": "Lõpeta muutmine", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Suurendus ja keskpunkt salvestati", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Muuda joonteks", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Kihitüüp", + "Unable to detect format of file {filename}": " {filename} failivormingu tuvastamine ebaõnnestus", + "Untitled layer": "Nimeta kiht", + "Untitled map": "Nimeta kaart", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "URL", + "Use current bounds": "Kasuta praegust vaadet", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "Kasutajaliidese suvandid", + "Versions": "Versioonid", + "View Fullscreen": "Vaata täisekraanil", + "Where do we go from here?": "Kuhu läheb siit edasi?", + "Whether to display or not polygons paths.": "Hulknurga piirjoonte näitamine.", + "Whether to fill polygons with color.": "Hulknurkade täitmine värviga.", + "Who can edit": "Kes võivad muuta", + "Who can view": "Kes saavad vaadata", + "Will be displayed in the bottom right corner of the map": "Kuvatakse kaardi alumises paremas nurgas", + "Will be visible in the caption of the map": "Nähtav kaardi legendil", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Järgmine", + "Zoom to the previous": "Eelmine", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "kõrgus", + "licence": "litsents", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "edasi", + "previous": "tagasi", + "width": "laius", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Vahemaade mõõtmine", + "NM": "NM", + "kilometers": "kilomeetrid", + "km": "km", + "mi": "mi", + "miles": "miilid", + "nautical miles": "meremiilid", + "{area} acres": "{area} hektarit", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 päev", + "1 hour": "1 tund", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Hüpik", + "Popup (large)": "Hüpik (suur)", + "Popup content style": "Popup content style", + "Popup shape": "Hüpiku kuju", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Valikuline.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("et", locale); +L.setLocale("et"); \ No newline at end of file diff --git a/umap/static/umap/locale/et.json b/umap/static/umap/locale/et.json new file mode 100644 index 00000000..0b316b7a --- /dev/null +++ b/umap/static/umap/locale/et.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Lisa sümbol", + "Allow scroll wheel zoom?": "Luba hiirerullikuga suurendamine?", + "Automatic": "Automaatne", + "Ball": "Nööpnõel", + "Cancel": "Loobu", + "Caption": "Legend", + "Change symbol": "Vaheta sümbol", + "Choose the data format": "Vali kuupäeva vorming", + "Choose the layer of the feature": "Vali elemendi kiht", + "Circle": "Ring", + "Clustered": "Clustered", + "Data browser": "Andmete sirvimine", + "Default": "Vaikesäte", + "Default zoom level": "Vaikimisi suurendusaste", + "Default: name": "Vaikimisi: name", + "Display label": "Kuva silt", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Kuva andmekihtide nupp", + "Display the embed control": "Kuva jagamise nupp", + "Display the fullscreen control": "Kuva täisekraani nupp", + "Display the locate control": "Kuva asukoha määramise nupp", + "Display the measure control": "Kuva mõõtmise nupp", + "Display the search control": "Kuva otsingunupp", + "Display the tile layers control": "Kuva tausta vahetamise nupp", + "Display the zoom control": "Kuva suurendamise nupp", + "Do you want to display a caption bar?": "Kas soovid kuvada tiitelriba?", + "Do you want to display a minimap?": "Kas soovid kuvada minikaarti?", + "Do you want to display a panel on load?": "Kas soovid kuvada külgpaneeli laadimisel?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Kas soovid kuvada mõõtkava?", + "Do you want to display the «more» control?": "Kas soovid kuvada nuppu «rohkem»?", + "Drop": "Tilk", + "GeoRSS (only link)": "GeoRSS (ainult link)", + "GeoRSS (title + image)": "GeoRSS (pealkiri + pilt)", + "Heatmap": "Soojuskaart", + "Icon shape": "Ikooni kuju", + "Icon symbol": "Ikooni sümbol", + "Inherit": "Inherit", + "Label direction": "Sildi suund", + "Label key": "Sildi võti", + "Labels are clickable": "Silte saab klõpsata", + "None": "Mitte midagi", + "On the bottom": "All", + "On the left": "Vasakul", + "On the right": "Paremal", + "On the top": "Ülal", + "Popup content template": "Hüpiku mall", + "Set symbol": "Määra sümbol", + "Side panel": "Külgpaneel", + "Simplify": "Lihtsustamine", + "Symbol or url": "Sümbol või URL", + "Table": "Tabel", + "always": "alati", + "clear": "tühjenda", + "collapsed": "ahendatud", + "color": "värv", + "dash array": "katkendjoon", + "define": "määra", + "description": "kirjeldus", + "expanded": "laiendatud", + "fill": "täide", + "fill color": "täitevärv", + "fill opacity": "täite läbipaistvus", + "hidden": "peidetud", + "iframe": "iframe", + "inherit": "päri", + "name": "nimi", + "never": "mitte kunagi", + "new window": "uus aken", + "no": "ei", + "on hover": "on hover", + "opacity": "läbipaistvus", + "parent window": "parent window", + "stroke": "stroke", + "weight": "jämedus", + "yes": "jah", + "{delay} seconds": "{delay} sekundit", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**kaks tärni paksu kirja jaoks**", + "*simple star for italic*": "* üks tärn kaldkirja jaoks*", + "--- for an horizontal rule": "--- horisontaaljoone jaoks", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Komaga eraldatud numbriloend, mis määrab katkendjoone mustri, nt \"5, 10, 15\".", + "About": "Projektist", + "Action not allowed :(": "Tegevus pole lubatud :(", + "Activate slideshow mode": "Aktiveeri slaidiesitluse režiim", + "Add a layer": "Lisa kiht", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Lisa uus omadus", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Täiendavad tegevused", + "Advanced properties": "Täiendavad omadused", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Kõik omadused imporditi.", + "Allow interactions": "Allow interactions", + "An error occured": "Ilmnes viga", + "Are you sure you want to cancel your changes?": "Oled sa kindel, et soovid muudatustest loobuda ?", + "Are you sure you want to clone this map and all its datalayers?": "Oled sa kindel, et soovid kopeerida seda kaarti ja kõiki selle andmekihte?", + "Are you sure you want to delete the feature?": "Oled sa kindel, et soovid seda elementi kustutada?", + "Are you sure you want to delete this layer?": "Oled sa kindel, et soovid seda kihti kustutada?", + "Are you sure you want to delete this map?": "Oled sa kindel, et soovid seda kaarti kustutada?", + "Are you sure you want to delete this property on all the features?": "Oled sa kindel, et soovid kõigi elementide juurest selle omaduse kustutada?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Manusta kaart minu kontole", + "Auto": "Auto", + "Autostart when map is loaded": "Automaatne käivitus kaardi laadimisel", + "Bring feature to center": "Sea element keskpunktiks", + "Browse data": "Andmete sirvimine", + "Cancel edits": "Loobu muudatustest", + "Center map on your location": "Sea oma asukoht keskpunktiks", + "Change map background": "Vaheta kaardi taust", + "Change tilelayers": "Vaheta kaardi taust", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Klõpsa kujundi lõpetamiseks viimasel punktil", + "Click to add a marker": "Klõpsa markeri lisamiseks", + "Click to continue drawing": "Klõpsa joonistamise jätkamiseks", + "Click to edit": "Klõpsa muutmiseks", + "Click to start drawing a line": "Klõpsa joone alustamiseks", + "Click to start drawing a polygon": "Klõpsa hulknurga alustamiseks", + "Clone": "Kopeeri", + "Clone of {name}": "{name} koopia", + "Clone this feature": "Kopeeri seda elementi", + "Clone this map": "Kopeeri seda kaarti", + "Close": "Sulge", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Jätka joont (Ctrl+Klõps)", + "Coordinates": "Koordinaadid", + "Credits": "Credits", + "Current view instead of default map view?": "Praegune vaade vaikimis vaate asemel?", + "Custom background": "Kohandatud taust", + "Data is browsable": "Andmed on sirvitavad", + "Default interaction options": "Interaktsiooni vaikesuvandid", + "Default properties": "Vaikeomadused", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Kustuta", + "Delete all layers": "Kustuta kõik kihid", + "Delete layer": "Kustuta kiht", + "Delete this feature": "Kustuta see element", + "Delete this property on all the features": "Kustuta see omadus kõigi elementide juures", + "Delete this shape": "Kustuta see kujund", + "Delete this vertex (Alt+Click)": "Kustuta see tipp (Alt+Klõps)", + "Directions from here": "Directions from here", + "Disable editing": "Keela muutmine", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Laadi alla", + "Download data": "Laadi andmed alla", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Joonista joon", + "Draw a marker": "Lisa marker", + "Draw a polygon": "Joonista hulknurk", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Muuda", + "Edit feature's layer": "Muuda elemendi kihti", + "Edit map properties": "Edit map properties", + "Edit map settings": "Muuda kaardi seadeid", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Muuda seda elementi", + "Editing": "Muutmisel", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Tühjenda", + "Enable editing": "Luba muutmine", + "Error in the tilelayer URL": "Vigane tausta URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Välju täisekraanist", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Mine «{feature}» juurde", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Abi", + "Hide controls": "Peida juhtnupud", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe'i eksportimise suvandid", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe kohandatud kõrgusega (pikslites): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Pilt kohandatud laiusega (pikslites): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Impordi andmed", + "Import in a new layer": "Impordi uuele kihile", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaktsiooni suvandid", + "Invalid umap data": "Vigased uMapi andmed", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Laius", + "Layer": "Kiht", + "Layer properties": "Layer properties", + "Licence": "Litsents", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link tekstiga: [[http://example.com|lingi text]]", + "Long credits": "Long credits", + "Longitude": "Pikkus", + "Make main shape": "Make main shape", + "Manage layers": "Halda kihte", + "Map background credits": "Kaardi tausta õigused", + "Map has been attached to your account": "Kaart on lisatud kontole", + "Map has been saved!": "Kaart on salvestatud!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Kaardi toimetajad", + "Map's owner": "Kaardi omanik", + "Merge lines": "Merge lines", + "More controls": "Rohkem juhtnuppe", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Peab olema kehtiv CSS väärtus (nt DarkBlue või #123456)", + "No licence has been set": "Litsentsi pole määratud", + "No results": "Tulemusteta", + "Only visible features will be downloaded.": "Alla laaditakse ainult nähtavad elemendid", + "Open download panel": "Ava allalaadimise aken", + "Open link in…": "Ava link...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Valikuline. Sama mis värv, kui pole määratud teisiti", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Sisesta palun omaduse nimi", + "Please enter the new name of this property": "Sisesta palun selle omaduse uus nimi", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Imporditud omadused:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Salvesta", + "Save anyway": "Save anyway", + "Save current edits": "Salvesta praegused muudatused", + "Save this center and zoom": "Salvesta see keskpunkt ja suurendus", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Näita kõiki", + "See data layers": "Näita andmekihte", + "See full screen": "Täisekraanvaade", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Kujundi omadused", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Alusta muutmist", + "Start slideshow": "Start slideshow", + "Stop editing": "Lõpeta muutmine", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Suurendus ja keskpunkt salvestati", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Muuda joonteks", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Kihitüüp", + "Unable to detect format of file {filename}": " {filename} failivormingu tuvastamine ebaõnnestus", + "Untitled layer": "Nimeta kiht", + "Untitled map": "Nimeta kaart", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "URL", + "Use current bounds": "Kasuta praegust vaadet", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "Kasutajaliidese suvandid", + "Versions": "Versioonid", + "View Fullscreen": "Vaata täisekraanil", + "Where do we go from here?": "Kuhu läheb siit edasi?", + "Whether to display or not polygons paths.": "Hulknurga piirjoonte näitamine.", + "Whether to fill polygons with color.": "Hulknurkade täitmine värviga.", + "Who can edit": "Kes võivad muuta", + "Who can view": "Kes saavad vaadata", + "Will be displayed in the bottom right corner of the map": "Kuvatakse kaardi alumises paremas nurgas", + "Will be visible in the caption of the map": "Nähtav kaardi legendil", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Järgmine", + "Zoom to the previous": "Eelmine", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "kõrgus", + "licence": "litsents", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "edasi", + "previous": "tagasi", + "width": "laius", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Vahemaade mõõtmine", + "NM": "NM", + "kilometers": "kilomeetrid", + "km": "km", + "mi": "mi", + "miles": "miilid", + "nautical miles": "meremiilid", + "{area} acres": "{area} hektarit", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 päev", + "1 hour": "1 tund", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Hüpik", + "Popup (large)": "Hüpik (suur)", + "Popup content style": "Popup content style", + "Popup shape": "Hüpiku kuju", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Valikuline.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/fa_IR.json b/umap/static/umap/locale/fa_IR.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/fa_IR.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/fi.js b/umap/static/umap/locale/fi.js new file mode 100644 index 00000000..8efdbd52 --- /dev/null +++ b/umap/static/umap/locale/fi.js @@ -0,0 +1,377 @@ +var locale = { + "Add symbol": "Lisää symboli", + "Allow scroll wheel zoom?": "Salli zoomaus hiiren rullalla?", + "Automatic": "Automaattinen", + "Ball": "Pallo", + "Cancel": "Peruuta", + "Caption": "Kuvateksti", + "Change symbol": "Vaihda symboli", + "Choose the data format": "Valitse päivämäärän muoto", + "Choose the layer of the feature": "Valitse piirteen kerros", + "Circle": "Ympyrä", + "Clustered": "Klusteroituna", + "Data browser": "Dataselain", + "Default": "Oletusarvo", + "Default zoom level": "Default zoom level", + "Default: name": "Oletus: nimi", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Haluatko näyttää otsikkopalkin?", + "Do you want to display a minimap?": "Haluatko aktivoida minikartan?", + "Do you want to display a panel on load?": "Haluatko näyttää paneelin ladattaessa?", + "Do you want to display popup footer?": "Haluatko näyttää ponnahdusikkunan alatunnisteen?", + "Do you want to display the scale control?": "Näytetäänkö mittakaavaohjain?", + "Do you want to display the «more» control?": "Haluatko näyttää «lisää»-ohjaimen?", + "Drop": "Pisara", + "GeoRSS (only link)": "GeoRSS (vain linkki)", + "GeoRSS (title + image)": "GeoRSS (otsikko + kuva)", + "Heatmap": "Lämpökartta", + "Icon shape": "Ikonin muoto", + "Icon symbol": "Ikonin symboli", + "Inherit": "Peri", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Ei mitään", + "On the bottom": "Alhaalla", + "On the left": "Vasemmalla", + "On the right": "Oikealla", + "On the top": "Ylhäällä", + "Popup content template": "Ponnahdusikkunan sisällön sapluuna", + "Set symbol": "Set symbol", + "Side panel": "Sivupaneeli", + "Simplify": "Yksinkertaista", + "Symbol or url": "Symbol or url", + "Table": "Taulukko", + "always": "aina", + "clear": "clear", + "collapsed": "collapsed", + "color": "väri", + "dash array": "katkoviivatyyppilista", + "define": "määritä", + "description": "kuvaus", + "expanded": "laajennettu", + "fill": "täyttö", + "fill color": "täyteväri", + "fill opacity": "täytön läpinäkyvyys", + "hidden": "piilotettu", + "iframe": "iframe", + "inherit": "peri", + "name": "nimi", + "never": "ei koskaan", + "new window": "uusi ikkuna", + "no": "ei", + "on hover": "on hover", + "opacity": "läpikuultavuus", + "parent window": "parent window", + "stroke": "sivallus", + "weight": "paksuus", + "yes": "kyllä", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# yksi risuaita tekee päätason otsikon", + "## two hashes for second heading": "## kaksi risuaitaa tekee kakkostason otsikon", + "### three hashes for third heading": "### kolme risuaitaa tekee kolmostason otsikon", + "**double star for bold**": "**tuplatähti lihavoi**", + "*simple star for italic*": "*yksi tähti kursivoi*", + "--- for an horizontal rule": "--- luo vaakasuoran erottimen kuplan halki", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Tietoja", + "Action not allowed :(": "Toimenpide ei ole sallittu :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Lisää kerros", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Lisää uusi ominaisuus", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Lisätoiminnot", + "Advanced properties": "Lisäominaisuudet", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Kaikki omainaisuudet tuodaan.", + "Allow interactions": "Allow interactions", + "An error occured": "Hups! Virhe on tapahtunut...", + "Are you sure you want to cancel your changes?": "Oletko _ihan_ varma, että haluat peruuttaa muutoksesi?", + "Are you sure you want to clone this map and all its datalayers?": "Oletko varma että haluat kloonata tämän kartan ja kaikki sen data-kerrokset?", + "Are you sure you want to delete the feature?": "Oletko varma että haluat poistaa piirteen?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Oletko ihan täysin varma, että haluat poistaa tämän kartan? Poistettua karttaa ei voi palauttaa.", + "Are you sure you want to delete this property on all the features?": "Oletko varma että haluat poistaa tämän ominaisuuden kaikista piirteistä?", + "Are you sure you want to restore this version?": "Oletko varma että haluat palauttaa tämän version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automaattinen", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Tuo piirre keskelle", + "Browse data": "Selaa tietoja", + "Cancel edits": "Peruuta muokkaukset", + "Center map on your location": "Keskitä kartta sijaintiisi", + "Change map background": "Vaihda taustakarttaa", + "Change tilelayers": "Muuta karttavaihtoehtoja", + "Choose a preset": "Valitse", + "Choose the format of the data to import": "Valitse tuotavien tietojen formaatti", + "Choose the layer to import in": "Valitse kerros johon tieto tuodaan", + "Click last point to finish shape": "Klikkaa viimeistä pistettä täydentääksesi muodon", + "Click to add a marker": "Klikkaa lisätäksesi karttamerkki", + "Click to continue drawing": "Klikkaa jatkaaksesi piirtämistä", + "Click to edit": "Klikkaa muokataksesi", + "Click to start drawing a line": "Klikkaa aloittaaksesi viivan piirtäminen", + "Click to start drawing a polygon": "Klikkaa aloittaaksesi monikulmion piirtäminen", + "Clone": "Kloonaa", + "Clone of {name}": "{name}n klooni", + "Clone this feature": "Kloonaa tämä piirre", + "Clone this map": "Kloonaa tämä kartta", + "Close": "Sulje", + "Clustering radius": "Klusterointisäde", + "Comma separated list of properties to use when filtering features": "Pilkkueroteltu lista käytettävistä ominaisuuksista piirteitä suodatettaessa.", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Pilkku-, tabulaattori- tai puolipiste-erotettuja arvoja. Koordinaattijärjestemänä WGS84. Vain pistegeometriat tuodaan uMapiin. Tietue-tuonti etsii «lat»- ja «lon»-alkavia sarakeotsikoita. Kaikki muut sarakkeet tuodaan ominaisuustietoina.", + "Continue line": "Jatka viivaa", + "Continue line (Ctrl+Click)": "Jatka viivaa (Ctrl+Klikkaus)", + "Coordinates": "Koordinaatit", + "Credits": "Tunnustukset", + "Current view instead of default map view?": "Nykyinen näkymä oletuskarttanäkymän asemesta?", + "Custom background": "Räätälöity tausta", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Oletusasetukset", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Poista", + "Delete all layers": "Poista kaikki kerrokset", + "Delete layer": "Poista kerros", + "Delete this feature": "Poista tämä piirre", + "Delete this property on all the features": "Poista tämä ominaisuus kaikista piirteistä", + "Delete this shape": "Poista tämä muoto", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Ohjeet täältä", + "Disable editing": "Lopeta kartan muokaaminen", + "Display measure": "Display measure", + "Display on load": "Näytä ladattaessa", + "Download": "Download", + "Download data": "Lataa tietoja", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Piirrä viiva", + "Draw a marker": "Piirrä karttamerkki", + "Draw a polygon": "Piirrä monikulmio", + "Draw a polyline": "Piirrä monisegmenttinen viiva", + "Dynamic": "Dynaaminen", + "Dynamic properties": "Dynaamiset ominaisuudet", + "Edit": "Muokkaa", + "Edit feature's layer": "Muokkaa piirteen kerrosta", + "Edit map properties": "Muokkaa kartan ominaisuuksia", + "Edit map settings": "Muokkaa kartta-asetuksia", + "Edit properties in a table": "Muokkaa ominaisuuksia taulukossa", + "Edit this feature": "Muokkaa tätä piirrettä", + "Editing": "Muokkauksessa", + "Embed and share this map": "Jaa tämä kartta tai käytä sitä muualla", + "Embed the map": "Liitä kartta", + "Empty": "Tyhjä", + "Enable editing": "Aktivoi kartan muokkaus", + "Error in the tilelayer URL": "Virhe karttalaattojen URL:ssä", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Irroita muoto erilliseksi piirteeksi.", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Suodata...", + "Format": "Formaatti", + "From zoom": "Zoomaustasolta", + "Full map data": "Full map data", + "Go to «{feature}»": "Mene piirteeseen «{feature}»", + "Heatmap intensity property": "Lämpökartan vahvuusominaisuus", + "Heatmap radius": "Lämpökartan säde", + "Help": "Apua", + "Hide controls": "Piilota ohjaimet", + "Home": "Alku", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kuinka paljon viivaa yleistetäänkullakin zoomaustasolla (enemmän = parempi suorituskyky, vähemmän = suurempi tarkkuus)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe-vientiasetukset", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe määrätyn korkuisena (pikseleinä): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Kuva määrätyn leveyisenä (pikseleinä): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Kuva: {{http://kuva.url.com}}", + "Import": "Tuo", + "Import data": "Tuo tietoja", + "Import in a new layer": "Tuo uuteen kerrokseen", + "Imports all umap data, including layers and settings.": "Tuo kaikki karttatiedot, mukaan lukien datatasot ja asetukset.", + "Include full screen link?": "Sisällytä koko näyttö -linkki?", + "Interaction options": "Interaction options", + "Invalid umap data": "Virheellistä uMap-dataa", + "Invalid umap data in {filename}": "Virheellistä uMap-dataa {filename}:ssa", + "Keep current visible layers": "Pidä nyt näkyvät datakerrokset", + "Latitude": "Leveysaste", + "Layer": "Kerros", + "Layer properties": "Datakerroksen ominaisuudet", + "Licence": "Lisenssi", + "Limit bounds": "Alueen rajaus", + "Link to…": "Linkitä kohteeseen...", + "Link with text: [[http://example.com|text of the link]]": "Hyperlinkki tekstillä: [[http://esimerkkisaitti.fi|linkin teksti]]", + "Long credits": "Pitkät tekijätiedot", + "Longitude": "Pituusaste", + "Make main shape": "Luo päämuoto", + "Manage layers": "Hallitse kerroksia", + "Map background credits": "Taustakartan tekijämerkinnät", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Kartta on tallennettu!", + "Map user content has been published under licence": "Kartan käyttäjien luomat tiedot on julkaistu lisenssillä", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Yhdistä rivit", + "More controls": "Lisää ohjaimia", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Lisenssiä ei ole määritetty", + "No results": "Ei tuloksia", + "Only visible features will be downloaded.": "Vain näkyvät piirteet ladataan.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Avaa rajauksen mukainen alue editorissa parantaaksesi OpenStreetMapin tietosisältöä.", + "Optional intensity property for heatmap": "Valinnainen lämpökartan vahvuusominaisuus", + "Optional. Same as color if not set.": "Valinnainen. Sama kuin väri jos ei asetettu.", + "Override clustering radius (default 80)": "Ohita klusterointisäde (oletus on 80)", + "Override heatmap radius (default 25)": "Ohita lämpökartan säde (oletus on 25)", + "Please be sure the licence is compliant with your use.": "Huomioithan että valitsemasi lisenssi on yhteensopiva käyttösi kanssa.", + "Please choose a format": "Valitse formaatti", + "Please enter the name of the property": "Kirjoita ominaisuuden nimi", + "Please enter the new name of this property": "Kirjoita ominaisuuden uusi nimi", + "Powered by Leaflet and Django, glued by uMap project.": "Konepellin alla hyrrää Leaflet ja Django; uMap-projektin kasaan liimaamana.", + "Problem in the response": "Ongelma vastauksessa", + "Problem in the response format": "Ongelma vastauksen muodossa", + "Properties imported:": "Tuodut ominaisuudet:", + "Property to use for sorting features": "Ominaisuus jonka mukaan piirteet järjestetään", + "Provide an URL here": "Syötä verkko-osoite tänne", + "Proxy request": "Välityspalvelinpyyntö", + "Remote data": "Etä-tiedot", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Uudelleen nimeä tämä ominaisuus kaikissa piirteissä", + "Replace layer content": "Korvaa kerroksen sisältö", + "Restore this version": "Palauta tämä versio", + "Save": "Tallenna", + "Save anyway": "Tallenna joka tapauksessa", + "Save current edits": "Tallenna tämänhetkiset muokkaukset", + "Save this center and zoom": "Tallenna tämä kartan keskitys ja zoomaustaso", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Näytä kaikki", + "See data layers": "See data layers", + "See full screen": "Katso koko näytöllä", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Piirteen ominaisuudet", + "Short URL": "Lyhyt URL", + "Short credits": "Lyhyet tekijätiedot", + "Show/hide layer": "Näytä/piilota kerros", + "Simple link: [[http://example.com]]": "Yksinkertainen linkki: [[http://esimerkki.fi]]", + "Slideshow": "Kuvaesitys", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Pilko/katkaise viiva", + "Start a hole here": "Aloita reikä tässä", + "Start editing": "Aloita muokkaus", + "Start slideshow": "Aloita kuvaesitys", + "Stop editing": "Lopeta muokkaus", + "Stop slideshow": "Lopeta kuvaesitys", + "Supported scheme": "Tuettu muoto", + "Supported variables that will be dynamically replaced": "Tuetut muuttujat, jotka korvataan dynaamisesti", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS-formaatti", + "Text color for the cluster label": "Tekstin väri klusterietiketissä", + "Text formatting": "Tekstin muotoilu", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Kartan keskitys ja zoomaustaso on asetettu.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Zoomaukseen", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Siirrä muoto muokatuksi piirteeksi.", + "Transform to lines": "Muunna viivoiksi", + "Transform to polygon": "Muunna monikulmioksi", + "Type of layer": "Datakerroksen tyyppi", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Nimeämätön kerros", + "Untitled map": "Nimeämätön kartta", + "Update permissions": "Update permissions", + "Update permissions and editors": "Päivitä oikeudet ja editori", + "Url": "URL", + "Use current bounds": "Käytä nykyistä rajausta", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Käyttäjien luoman tiedon tuottajat:", + "User interface options": "Käyttäjän käyttöliittymäoptiot", + "Versions": "Versiot", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Minnekäs sitten?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Näytetään kartan oikeassa alakulmassa", + "Will be visible in the caption of the map": "Näytetään kartan kuvatekstinä", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Hupsankeikkaa! Joku muu on näemmä muokannut tietoja. Voit tallentaa joka tapauksessa, mutta tallentamisesi poistaa muiden muokkaukset.", + "You have unsaved changes.": "Sinulla on tallentamattomia muutoksia.", + "Zoom in": "Lähennä", + "Zoom level for automatic zooms": "Zoomaustaso automaattisessa zoomauksessa", + "Zoom out": "Loitonna", + "Zoom to layer extent": "Zoomaa tason laajuuteen", + "Zoom to the next": "Kohdenna seuraavaan", + "Zoom to the previous": "Kohdenna edelliseen", + "Zoom to this feature": "Kohdenna tähän piirteeseen", + "Zoom to this place": "Kohdenna tähän paikkaan", + "attribution": "Viittaukset tausta-aineiston lisenssiin", + "by": "taholta", + "display name": "näytettävä nimi", + "height": "korkeus", + "licence": "lisenssi", + "max East": "itäraja", + "max North": "pohjoisraja", + "max South": "eteläraja", + "max West": "länsiraja", + "max zoom": "suurin zoomaustaso", + "min zoom": "pienin zoomaustaso", + "next": "seuraava", + "previous": "edellinen", + "width": "leveys", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} +; +L.registerLocale("fi", locale); +L.setLocale("fi"); \ No newline at end of file diff --git a/umap/static/umap/locale/fi.json b/umap/static/umap/locale/fi.json new file mode 100644 index 00000000..6ca7c1ae --- /dev/null +++ b/umap/static/umap/locale/fi.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Lisää symboli", + "Allow scroll wheel zoom?": "Salli zoomaus hiiren rullalla?", + "Automatic": "Automaattinen", + "Ball": "Pallo", + "Cancel": "Peruuta", + "Caption": "Kuvateksti", + "Change symbol": "Vaihda symboli", + "Choose the data format": "Valitse päivämäärän muoto", + "Choose the layer of the feature": "Valitse piirteen kerros", + "Circle": "Ympyrä", + "Clustered": "Klusteroituna", + "Data browser": "Dataselain", + "Default": "Oletusarvo", + "Default zoom level": "Default zoom level", + "Default: name": "Oletus: nimi", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Haluatko näyttää otsikkopalkin?", + "Do you want to display a minimap?": "Haluatko aktivoida minikartan?", + "Do you want to display a panel on load?": "Haluatko näyttää paneelin ladattaessa?", + "Do you want to display popup footer?": "Haluatko näyttää ponnahdusikkunan alatunnisteen?", + "Do you want to display the scale control?": "Näytetäänkö mittakaavaohjain?", + "Do you want to display the «more» control?": "Haluatko näyttää «lisää»-ohjaimen?", + "Drop": "Pisara", + "GeoRSS (only link)": "GeoRSS (vain linkki)", + "GeoRSS (title + image)": "GeoRSS (otsikko + kuva)", + "Heatmap": "Lämpökartta", + "Icon shape": "Ikonin muoto", + "Icon symbol": "Ikonin symboli", + "Inherit": "Peri", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Ei mitään", + "On the bottom": "Alhaalla", + "On the left": "Vasemmalla", + "On the right": "Oikealla", + "On the top": "Ylhäällä", + "Popup content template": "Ponnahdusikkunan sisällön sapluuna", + "Set symbol": "Set symbol", + "Side panel": "Sivupaneeli", + "Simplify": "Yksinkertaista", + "Symbol or url": "Symbol or url", + "Table": "Taulukko", + "always": "aina", + "clear": "clear", + "collapsed": "collapsed", + "color": "väri", + "dash array": "katkoviivatyyppilista", + "define": "määritä", + "description": "kuvaus", + "expanded": "laajennettu", + "fill": "täyttö", + "fill color": "täyteväri", + "fill opacity": "täytön läpinäkyvyys", + "hidden": "piilotettu", + "iframe": "iframe", + "inherit": "peri", + "name": "nimi", + "never": "ei koskaan", + "new window": "uusi ikkuna", + "no": "ei", + "on hover": "on hover", + "opacity": "läpikuultavuus", + "parent window": "parent window", + "stroke": "sivallus", + "weight": "paksuus", + "yes": "kyllä", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# yksi risuaita tekee päätason otsikon", + "## two hashes for second heading": "## kaksi risuaitaa tekee kakkostason otsikon", + "### three hashes for third heading": "### kolme risuaitaa tekee kolmostason otsikon", + "**double star for bold**": "**tuplatähti lihavoi**", + "*simple star for italic*": "*yksi tähti kursivoi*", + "--- for an horizontal rule": "--- luo vaakasuoran erottimen kuplan halki", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Tietoja", + "Action not allowed :(": "Toimenpide ei ole sallittu :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Lisää kerros", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Lisää uusi ominaisuus", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Lisätoiminnot", + "Advanced properties": "Lisäominaisuudet", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Kaikki omainaisuudet tuodaan.", + "Allow interactions": "Allow interactions", + "An error occured": "Hups! Virhe on tapahtunut...", + "Are you sure you want to cancel your changes?": "Oletko _ihan_ varma, että haluat peruuttaa muutoksesi?", + "Are you sure you want to clone this map and all its datalayers?": "Oletko varma että haluat kloonata tämän kartan ja kaikki sen data-kerrokset?", + "Are you sure you want to delete the feature?": "Oletko varma että haluat poistaa piirteen?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Oletko ihan täysin varma, että haluat poistaa tämän kartan? Poistettua karttaa ei voi palauttaa.", + "Are you sure you want to delete this property on all the features?": "Oletko varma että haluat poistaa tämän ominaisuuden kaikista piirteistä?", + "Are you sure you want to restore this version?": "Oletko varma että haluat palauttaa tämän version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automaattinen", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Tuo piirre keskelle", + "Browse data": "Selaa tietoja", + "Cancel edits": "Peruuta muokkaukset", + "Center map on your location": "Keskitä kartta sijaintiisi", + "Change map background": "Vaihda taustakarttaa", + "Change tilelayers": "Muuta karttavaihtoehtoja", + "Choose a preset": "Valitse", + "Choose the format of the data to import": "Valitse tuotavien tietojen formaatti", + "Choose the layer to import in": "Valitse kerros johon tieto tuodaan", + "Click last point to finish shape": "Klikkaa viimeistä pistettä täydentääksesi muodon", + "Click to add a marker": "Klikkaa lisätäksesi karttamerkki", + "Click to continue drawing": "Klikkaa jatkaaksesi piirtämistä", + "Click to edit": "Klikkaa muokataksesi", + "Click to start drawing a line": "Klikkaa aloittaaksesi viivan piirtäminen", + "Click to start drawing a polygon": "Klikkaa aloittaaksesi monikulmion piirtäminen", + "Clone": "Kloonaa", + "Clone of {name}": "{name}n klooni", + "Clone this feature": "Kloonaa tämä piirre", + "Clone this map": "Kloonaa tämä kartta", + "Close": "Sulje", + "Clustering radius": "Klusterointisäde", + "Comma separated list of properties to use when filtering features": "Pilkkueroteltu lista käytettävistä ominaisuuksista piirteitä suodatettaessa.", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Pilkku-, tabulaattori- tai puolipiste-erotettuja arvoja. Koordinaattijärjestemänä WGS84. Vain pistegeometriat tuodaan uMapiin. Tietue-tuonti etsii «lat»- ja «lon»-alkavia sarakeotsikoita. Kaikki muut sarakkeet tuodaan ominaisuustietoina.", + "Continue line": "Jatka viivaa", + "Continue line (Ctrl+Click)": "Jatka viivaa (Ctrl+Klikkaus)", + "Coordinates": "Koordinaatit", + "Credits": "Tunnustukset", + "Current view instead of default map view?": "Nykyinen näkymä oletuskarttanäkymän asemesta?", + "Custom background": "Räätälöity tausta", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Oletusasetukset", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Poista", + "Delete all layers": "Poista kaikki kerrokset", + "Delete layer": "Poista kerros", + "Delete this feature": "Poista tämä piirre", + "Delete this property on all the features": "Poista tämä ominaisuus kaikista piirteistä", + "Delete this shape": "Poista tämä muoto", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Ohjeet täältä", + "Disable editing": "Lopeta kartan muokaaminen", + "Display measure": "Display measure", + "Display on load": "Näytä ladattaessa", + "Download": "Download", + "Download data": "Lataa tietoja", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Piirrä viiva", + "Draw a marker": "Piirrä karttamerkki", + "Draw a polygon": "Piirrä monikulmio", + "Draw a polyline": "Piirrä monisegmenttinen viiva", + "Dynamic": "Dynaaminen", + "Dynamic properties": "Dynaamiset ominaisuudet", + "Edit": "Muokkaa", + "Edit feature's layer": "Muokkaa piirteen kerrosta", + "Edit map properties": "Muokkaa kartan ominaisuuksia", + "Edit map settings": "Muokkaa kartta-asetuksia", + "Edit properties in a table": "Muokkaa ominaisuuksia taulukossa", + "Edit this feature": "Muokkaa tätä piirrettä", + "Editing": "Muokkauksessa", + "Embed and share this map": "Jaa tämä kartta tai käytä sitä muualla", + "Embed the map": "Liitä kartta", + "Empty": "Tyhjä", + "Enable editing": "Aktivoi kartan muokkaus", + "Error in the tilelayer URL": "Virhe karttalaattojen URL:ssä", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Irroita muoto erilliseksi piirteeksi.", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Suodata...", + "Format": "Formaatti", + "From zoom": "Zoomaustasolta", + "Full map data": "Full map data", + "Go to «{feature}»": "Mene piirteeseen «{feature}»", + "Heatmap intensity property": "Lämpökartan vahvuusominaisuus", + "Heatmap radius": "Lämpökartan säde", + "Help": "Apua", + "Hide controls": "Piilota ohjaimet", + "Home": "Alku", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kuinka paljon viivaa yleistetäänkullakin zoomaustasolla (enemmän = parempi suorituskyky, vähemmän = suurempi tarkkuus)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe-vientiasetukset", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe määrätyn korkuisena (pikseleinä): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Kuva määrätyn leveyisenä (pikseleinä): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Kuva: {{http://kuva.url.com}}", + "Import": "Tuo", + "Import data": "Tuo tietoja", + "Import in a new layer": "Tuo uuteen kerrokseen", + "Imports all umap data, including layers and settings.": "Tuo kaikki karttatiedot, mukaan lukien datatasot ja asetukset.", + "Include full screen link?": "Sisällytä koko näyttö -linkki?", + "Interaction options": "Interaction options", + "Invalid umap data": "Virheellistä uMap-dataa", + "Invalid umap data in {filename}": "Virheellistä uMap-dataa {filename}:ssa", + "Keep current visible layers": "Pidä nyt näkyvät datakerrokset", + "Latitude": "Leveysaste", + "Layer": "Kerros", + "Layer properties": "Datakerroksen ominaisuudet", + "Licence": "Lisenssi", + "Limit bounds": "Alueen rajaus", + "Link to…": "Linkitä kohteeseen...", + "Link with text: [[http://example.com|text of the link]]": "Hyperlinkki tekstillä: [[http://esimerkkisaitti.fi|linkin teksti]]", + "Long credits": "Pitkät tekijätiedot", + "Longitude": "Pituusaste", + "Make main shape": "Luo päämuoto", + "Manage layers": "Hallitse kerroksia", + "Map background credits": "Taustakartan tekijämerkinnät", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Kartta on tallennettu!", + "Map user content has been published under licence": "Kartan käyttäjien luomat tiedot on julkaistu lisenssillä", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Yhdistä rivit", + "More controls": "Lisää ohjaimia", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Lisenssiä ei ole määritetty", + "No results": "Ei tuloksia", + "Only visible features will be downloaded.": "Vain näkyvät piirteet ladataan.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Avaa rajauksen mukainen alue editorissa parantaaksesi OpenStreetMapin tietosisältöä.", + "Optional intensity property for heatmap": "Valinnainen lämpökartan vahvuusominaisuus", + "Optional. Same as color if not set.": "Valinnainen. Sama kuin väri jos ei asetettu.", + "Override clustering radius (default 80)": "Ohita klusterointisäde (oletus on 80)", + "Override heatmap radius (default 25)": "Ohita lämpökartan säde (oletus on 25)", + "Please be sure the licence is compliant with your use.": "Huomioithan että valitsemasi lisenssi on yhteensopiva käyttösi kanssa.", + "Please choose a format": "Valitse formaatti", + "Please enter the name of the property": "Kirjoita ominaisuuden nimi", + "Please enter the new name of this property": "Kirjoita ominaisuuden uusi nimi", + "Powered by Leaflet and Django, glued by uMap project.": "Konepellin alla hyrrää Leaflet ja Django; uMap-projektin kasaan liimaamana.", + "Problem in the response": "Ongelma vastauksessa", + "Problem in the response format": "Ongelma vastauksen muodossa", + "Properties imported:": "Tuodut ominaisuudet:", + "Property to use for sorting features": "Ominaisuus jonka mukaan piirteet järjestetään", + "Provide an URL here": "Syötä verkko-osoite tänne", + "Proxy request": "Välityspalvelinpyyntö", + "Remote data": "Etä-tiedot", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Uudelleen nimeä tämä ominaisuus kaikissa piirteissä", + "Replace layer content": "Korvaa kerroksen sisältö", + "Restore this version": "Palauta tämä versio", + "Save": "Tallenna", + "Save anyway": "Tallenna joka tapauksessa", + "Save current edits": "Tallenna tämänhetkiset muokkaukset", + "Save this center and zoom": "Tallenna tämä kartan keskitys ja zoomaustaso", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Näytä kaikki", + "See data layers": "See data layers", + "See full screen": "Katso koko näytöllä", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Piirteen ominaisuudet", + "Short URL": "Lyhyt URL", + "Short credits": "Lyhyet tekijätiedot", + "Show/hide layer": "Näytä/piilota kerros", + "Simple link: [[http://example.com]]": "Yksinkertainen linkki: [[http://esimerkki.fi]]", + "Slideshow": "Kuvaesitys", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Pilko/katkaise viiva", + "Start a hole here": "Aloita reikä tässä", + "Start editing": "Aloita muokkaus", + "Start slideshow": "Aloita kuvaesitys", + "Stop editing": "Lopeta muokkaus", + "Stop slideshow": "Lopeta kuvaesitys", + "Supported scheme": "Tuettu muoto", + "Supported variables that will be dynamically replaced": "Tuetut muuttujat, jotka korvataan dynaamisesti", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS-formaatti", + "Text color for the cluster label": "Tekstin väri klusterietiketissä", + "Text formatting": "Tekstin muotoilu", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Kartan keskitys ja zoomaustaso on asetettu.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Zoomaukseen", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Siirrä muoto muokatuksi piirteeksi.", + "Transform to lines": "Muunna viivoiksi", + "Transform to polygon": "Muunna monikulmioksi", + "Type of layer": "Datakerroksen tyyppi", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Nimeämätön kerros", + "Untitled map": "Nimeämätön kartta", + "Update permissions": "Update permissions", + "Update permissions and editors": "Päivitä oikeudet ja editori", + "Url": "URL", + "Use current bounds": "Käytä nykyistä rajausta", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Käyttäjien luoman tiedon tuottajat:", + "User interface options": "Käyttäjän käyttöliittymäoptiot", + "Versions": "Versiot", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Minnekäs sitten?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Näytetään kartan oikeassa alakulmassa", + "Will be visible in the caption of the map": "Näytetään kartan kuvatekstinä", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Hupsankeikkaa! Joku muu on näemmä muokannut tietoja. Voit tallentaa joka tapauksessa, mutta tallentamisesi poistaa muiden muokkaukset.", + "You have unsaved changes.": "Sinulla on tallentamattomia muutoksia.", + "Zoom in": "Lähennä", + "Zoom level for automatic zooms": "Zoomaustaso automaattisessa zoomauksessa", + "Zoom out": "Loitonna", + "Zoom to layer extent": "Zoomaa tason laajuuteen", + "Zoom to the next": "Kohdenna seuraavaan", + "Zoom to the previous": "Kohdenna edelliseen", + "Zoom to this feature": "Kohdenna tähän piirteeseen", + "Zoom to this place": "Kohdenna tähän paikkaan", + "attribution": "Viittaukset tausta-aineiston lisenssiin", + "by": "taholta", + "display name": "näytettävä nimi", + "height": "korkeus", + "licence": "lisenssi", + "max East": "itäraja", + "max North": "pohjoisraja", + "max South": "eteläraja", + "max West": "länsiraja", + "max zoom": "suurin zoomaustaso", + "min zoom": "pienin zoomaustaso", + "next": "seuraava", + "previous": "edellinen", + "width": "leveys", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/fr.js b/umap/static/umap/locale/fr.js new file mode 100644 index 00000000..49ce69f4 --- /dev/null +++ b/umap/static/umap/locale/fr.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Ajouter un symbole", + "Allow scroll wheel zoom?": "Autoriser le zoom avec la molette ?", + "Automatic": "Automatique", + "Ball": "Épingle", + "Cancel": "Annuler", + "Caption": "Légende", + "Change symbol": "Changer le pictogramme", + "Choose the data format": "Choisir le format des données", + "Choose the layer of the feature": "Choisir le calque de l'élément", + "Circle": "Cercle", + "Clustered": "Avec cluster", + "Data browser": "Visualiseur de données", + "Default": "Par défaut", + "Default zoom level": "Niveau de zoom par défaut", + "Default: name": "Par défaut : name", + "Display label": "Afficher une étiquette", + "Display the control to open OpenStreetMap editor": "Afficher le bouton pour ouvrir l'éditeur d'OpenStreetMap", + "Display the data layers control": "Afficher le bouton d'accès rapide aux calques de données", + "Display the embed control": "Afficher le bouton de partage", + "Display the fullscreen control": "Afficher le bouton de plein écran", + "Display the locate control": "Afficher le bouton de localisation", + "Display the measure control": "Afficher le bouton de mesures", + "Display the search control": "Afficher le bouton de recherche", + "Display the tile layers control": "Afficher le bouton permettant de changer le fond de carte", + "Display the zoom control": "Afficher les boutons de zoom", + "Do you want to display a caption bar?": "Voulez-vous afficher une barre de légende", + "Do you want to display a minimap?": "Voulez-vous afficher une mini carte de situation ?", + "Do you want to display a panel on load?": "Voulez-vous afficher un panneau latéral au chargement ?", + "Do you want to display popup footer?": "Voulez-vous afficher les boutons de navigation en bas des popups ?", + "Do you want to display the scale control?": "Voulez-vous afficher l'échelle de la carte ?", + "Do you want to display the «more» control?": "Voulez-vous afficher le bouton « Plus » ?", + "Drop": "Goutte", + "GeoRSS (only link)": "GeoRSS (lien seul)", + "GeoRSS (title + image)": "GeoRSS (titre + image)", + "Heatmap": "Heatmap", + "Icon shape": "Forme de l'icône", + "Icon symbol": "Image de l'icône", + "Inherit": "Hériter", + "Label direction": "Direction de l'étiquette", + "Label key": "Clé pour le libellé", + "Labels are clickable": "Étiquette cliquable", + "None": "Aucun", + "On the bottom": "Bas", + "On the left": "Gauche", + "On the right": "Droite", + "On the top": "Haut", + "Popup content template": "Gabarit du contenu de la popup", + "Set symbol": "Définir le pictogramme", + "Side panel": "Panneau latéral", + "Simplify": "Simplifier", + "Symbol or url": "Pictogramme ou URL", + "Table": "Tableau", + "always": "toujours", + "clear": "effacer", + "collapsed": "fermé", + "color": "Couleur", + "dash array": "traitillé", + "define": "définir", + "description": "description", + "expanded": "ouvert", + "fill": "remplissage", + "fill color": "couleur de remplissage", + "fill opacity": "opacité du remplissage", + "hidden": "caché", + "iframe": "iframe", + "inherit": "hériter", + "name": "nom", + "never": "jamais", + "new window": "nouvelle fenêtre", + "no": "non", + "on hover": "Au survol", + "opacity": "opacité", + "parent window": "fenêtre parente", + "stroke": "trait", + "weight": "épaisseur", + "yes": "oui", + "{delay} seconds": "{delay} secondes", + "# one hash for main heading": "# un dièse pour titre 1", + "## two hashes for second heading": "## deux dièses pour titre 2", + "### three hashes for third heading": "### trois dièses pour titre 3", + "**double star for bold**": "**double astérisque pour gras**", + "*simple star for italic*": "*simple astérisque pour italique*", + "--- for an horizontal rule": "--- pour un séparateur horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Liste de nombres séparés par une virgule, définissant les tirets et espaces. Ex.: \"5, 10, 15\".", + "About": "À propos", + "Action not allowed :(": "Action non autorisée :(", + "Activate slideshow mode": "Activer le mode diaporama", + "Add a layer": "Ajouter un calque", + "Add a line to the current multi": "Ajouter une ligne au groupe courant", + "Add a new property": "Ajouter une propriété", + "Add a polygon to the current multi": "Ajouter un polygon au groupe courant", + "Advanced actions": "Actions avancées", + "Advanced properties": "Propriétés avancées", + "Advanced transition": "Transition avancée", + "All properties are imported.": "Toutes les propriétés sont importées.", + "Allow interactions": "Autoriser les interactions", + "An error occured": "Une erreur est survenue", + "Are you sure you want to cancel your changes?": "Êtes-vous sûr de vouloir annuler vos modifications ?", + "Are you sure you want to clone this map and all its datalayers?": "Êtes-vous sûr de vouloir cloner cette carte et ses calques de données?", + "Are you sure you want to delete the feature?": "Êtes-vous sûr de vouloir supprimer cet élément?", + "Are you sure you want to delete this layer?": "Voulez-vous vraiment supprimer ce calque ?", + "Are you sure you want to delete this map?": "Êtes-vous sûr de vouloir supprimer cette carte?", + "Are you sure you want to delete this property on all the features?": "Supprimer la propriété sur tous les éléments ?", + "Are you sure you want to restore this version?": "Êtes-vous sûr de vouloir restaurer cette version ?", + "Attach the map to my account": "Lier cette carte à mon compte", + "Auto": "Auto", + "Autostart when map is loaded": "Lancer au chargement de la carte", + "Bring feature to center": "Centrer la carte sur cet élément", + "Browse data": "Visualiser les données", + "Cancel edits": "Annuler les modifications", + "Center map on your location": "Centrer la carte sur votre position", + "Change map background": "Changer le fond de carte", + "Change tilelayers": "Changer le fond de carte", + "Choose a preset": "Choisir dans les présélections", + "Choose the format of the data to import": "Choisir le format des données pour l'import", + "Choose the layer to import in": "Choisir le calque de données pour l'import", + "Click last point to finish shape": "Cliquer sur le dernier point pour finir le tracé", + "Click to add a marker": "Cliquer pour ajouter le marqueur", + "Click to continue drawing": "Cliquer pour continuer le tracé", + "Click to edit": "Cliquer pour modifier", + "Click to start drawing a line": "Cliquer pour commencer une ligne", + "Click to start drawing a polygon": "Cliquer pour commencer un polygone", + "Clone": "Cloner", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Dupliquer", + "Clone this map": "Cloner cette carte", + "Close": "Fermer", + "Clustering radius": "Rayon du cluster", + "Comma separated list of properties to use when filtering features": "Propriétés à utiliser pour filtrer les éléments (séparées par des virgules)", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Virgule, tabulation ou point-virgule pour séparer des valeurs. SRS WGS84 est implicite. Seuls les points géométriques sont importés. L'importation se référera au titre dans les entêtes de colonnes de «lat» et «lon» au début de l'en-tête, et est insensible à la casse. Toutes les autres colonnes sont importées en tant que propriétés.", + "Continue line": "Continuer la ligne", + "Continue line (Ctrl+Click)": "Continue la ligne (Ctrl+Clic)", + "Coordinates": "Coordonnées", + "Credits": "Crédits", + "Current view instead of default map view?": "Vue courante plutôt que la vue par défaut ?", + "Custom background": "Fond de carte personnalisé", + "Data is browsable": "Données naviguables", + "Default interaction options": "Options d'interaction par défaut", + "Default properties": "Propriétés par défaut", + "Default shape properties": "Propriétés de forme par défaut", + "Define link to open in a new window on polygon click.": "Définit un lien à ouvrir dans une nouvelle fenêtre au clic sur le polygone.", + "Delay between two transitions when in play mode": "Délai entre les transitions en mode lecture", + "Delete": "Supprimer", + "Delete all layers": "Supprimer tous les calques", + "Delete layer": "Supprimer le calque", + "Delete this feature": "Supprimer cet élément", + "Delete this property on all the features": "Supprimer cette propriété", + "Delete this shape": "Supprimer ce tracé", + "Delete this vertex (Alt+Click)": "Supprimer ce point (Alt+Clic)", + "Directions from here": "Itinéraire à partir de ce lieu", + "Disable editing": "Désactiver l'édition", + "Display measure": "Afficher les dimensions", + "Display on load": "Afficher au chargement", + "Download": "Télécharger", + "Download data": "Télécharger les données", + "Drag to reorder": "Glisser pour réordonner", + "Draw a line": "Dessiner une ligne", + "Draw a marker": "Ajouter un marqueur", + "Draw a polygon": "Dessiner un polygone", + "Draw a polyline": "Dessiner une ligne", + "Dynamic": "Dynamique", + "Dynamic properties": "Propriétés dynamiques", + "Edit": "Éditer", + "Edit feature's layer": "Éditer le calque de l'élément", + "Edit map properties": "Éditer les propriétés de la carte", + "Edit map settings": "Éditer les paramètres", + "Edit properties in a table": "Éditer dans un tableau", + "Edit this feature": "Éditer cet élément", + "Editing": "Edition en cours", + "Embed and share this map": "Exporter et partager la carte", + "Embed the map": "Intégrer la carte dans une iframe", + "Empty": "Vider", + "Enable editing": "Activer l'édition", + "Error in the tilelayer URL": "Erreur dans l'URL du fond de carte", + "Error while fetching {url}": "Erreur en appelant l'URL {url}", + "Exit Fullscreen": "Quitter le plein écran", + "Extract shape to separate feature": "Extraire la forme", + "Fetch data each time map view changes.": "Récupère les données à chaque fois que la vue de la carte change.", + "Filter keys": "Clés de filtre", + "Filter…": "Filtrer…", + "Format": "Format", + "From zoom": "À partir du zoom", + "Full map data": "Données complètes de la carte", + "Go to «{feature}»": "Naviguer jusqu'à «{feature}»", + "Heatmap intensity property": "Propriété pour l'intensité de la heatmap", + "Heatmap radius": "Rayon de heatmap", + "Help": "Aide", + "Hide controls": "Masquer les outils", + "Home": "Accueil", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Valeur de simplification des lignes pour chaque niveau de zoom (grand nombre = meilleure performance, petit nombre = plus précis)", + "If false, the polygon will act as a part of the underlying map.": "Choisir « non » pour que le polygone se comporte comme faisant partie du fond de carte.", + "Iframe export options": "Options d'export de l'iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels): {{{http://iframe.url.com|hauteur}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe avec hauteur et largeur (en px) : {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe : {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image avec largeur (en pixels) : {{http://image.url.com|largeur}}", + "Image: {{http://image.url.com}}": "Image : {{http://image.url.com}}", + "Import": "Importer", + "Import data": "Importer des données", + "Import in a new layer": "Importer dans un nouveau calque", + "Imports all umap data, including layers and settings.": "Importer toutes les données de la carte, y compris les calques et les propriétés", + "Include full screen link?": "Inclure le lien \"plein écran\" ?", + "Interaction options": "Options d'interaction", + "Invalid umap data": "Données uMap invalides", + "Invalid umap data in {filename}": "Les données du fichier {filename} ne sont pas valides comme format uMap", + "Keep current visible layers": "Garder les calques visibles actuellement", + "Latitude": "Latitude", + "Layer": "Calque", + "Layer properties": "Propriétés du claque", + "Licence": "Licence", + "Limit bounds": "Limites géographiques", + "Link to…": "Lien vers…", + "Link with text: [[http://example.com|text of the link]]": "Lien avec texte : [[http://exemple.fr|texte du lien]]", + "Long credits": "Crédit", + "Longitude": "Longitude", + "Make main shape": "Tracé principal", + "Manage layers": "Gérer les calques", + "Map background credits": "Crédits pour le fond de carte", + "Map has been attached to your account": "La carte est maintenant liée à votre compte", + "Map has been saved!": "La carte a été sauvegardée !", + "Map user content has been published under licence": "Les contenus sur la carte ont été publiés avec la licence", + "Map's editors": "Éditeurs", + "Map's owner": "Propriétaire de la carte", + "Merge lines": "Fusionner les lignes", + "More controls": "Plus d'outils", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Doit être une valeur CSS valide (ex. : DarkBlue ou #123456)", + "No licence has been set": "Aucune licence définie", + "No results": "Aucun résultat", + "Only visible features will be downloaded.": "Seuls les éléments visibles seront téléchargés.", + "Open download panel": "Ouvrir la fenêtre de téléchargement", + "Open link in…": "Ouvrir le lien dans…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Ouvrir cette carte dans un éditeur OpenStreetMap pour améliorer les données", + "Optional intensity property for heatmap": "Propriété optionnelle à utiliser pour calculer l'intensité de la heatmap", + "Optional. Same as color if not set.": "Optionnel. La couleur principale sera utilisée si laissé vide.", + "Override clustering radius (default 80)": "Valeur de rayon personnalisée pour le cluster (par défaut : 80)", + "Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 80)", + "Please be sure the licence is compliant with your use.": "Pensez à vérifier que la licence de ces données vous autorise à les utiliser.", + "Please choose a format": "Merci de choisir un format", + "Please enter the name of the property": "Merci d'entrer le nom de la propriété", + "Please enter the new name of this property": "Veuillez entrer le nouveau nom de la propriété", + "Powered by Leaflet and Django, glued by uMap project.": "Propulsé par Leaflet et Django, mis en musique par uMap project.", + "Problem in the response": "Problème dans la réponse du serveur", + "Problem in the response format": "Problème dans le format de la réponse", + "Properties imported:": "Propriétés importées :", + "Property to use for sorting features": "Propriété utilisée pour trier les éléments", + "Provide an URL here": "Renseigner une URL", + "Proxy request": "Avec proxy", + "Remote data": "Données distantes", + "Remove shape from the multi": "Extraire le tracé du groupe", + "Rename this property on all the features": "Renommer la propriété", + "Replace layer content": "Remplacer le contenu du calque", + "Restore this version": "Restaurer cette version", + "Save": "Enregistrer", + "Save anyway": "Continuer", + "Save current edits": "Enregistrer les changements courants", + "Save this center and zoom": "Enregistrer le zoom et le centre actuels", + "Save this location as new feature": "Enregistrer ce lieu comme élément de la carte", + "Search a place name": "Chercher un nom de lieu", + "Search location": "Chercher un lieu", + "Secret edit link is:
    {link}": "Lien d'édition secret : {link}", + "See all": "Tout voir", + "See data layers": "Voir les calques", + "See full screen": "Voir en plein écran", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Désactiver pour masquer ce calque du diaporama, du navigateur de données…", + "Shape properties": "Propriétés de la forme", + "Short URL": "URL courte", + "Short credits": "Crédit court", + "Show/hide layer": "Montrer/masquer un calque", + "Simple link: [[http://example.com]]": "Lien simple : [[https://exemple.fr]]", + "Slideshow": "Diaporama", + "Smart transitions": "Transitions animées", + "Sort key": "Clé de tri", + "Split line": "Scinder la ligne", + "Start a hole here": "Ajouter un tracé intérieur", + "Start editing": "Passer en mode édition", + "Start slideshow": "Commencer", + "Stop editing": "Quitter le mode édition", + "Stop slideshow": "Arrêter", + "Supported scheme": "Schéma supporté", + "Supported variables that will be dynamically replaced": "Variables qui seront automatiquement remplacées", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Utilisez soit un caractère unique soit une URL. Vous pouvez utiliser des propriétés des marqueurs comme variables : par exemple avec \"http://myserver.org/images/{name}.png\", la variable {name} sera remplacée par la valeur du \"name\" de chacun des marqueurs.", + "TMS format": "format de type TMS", + "Text color for the cluster label": "Couleur du texte du cluster", + "Text formatting": "Mise en forme du texte", + "The name of the property to use as feature label (ex.: \"nom\")": "Le nom de la propriété à utiliser comme libellé des éléments (ex. : \"nom\")", + "The zoom and center have been setted.": "Le zoom et le centre ont été enregistrés.", + "To use if remote server doesn't allow cross domain (slower)": "Cocher si le serveur distant n'autorise pas le cross domain (plus lent)", + "To zoom": "Jusqu'au zoom", + "Toggle edit mode (Shift+Click)": "Alterner le mode édition (Shift+Clic)", + "Transfer shape to edited feature": "Adjoindre le tracé au groupe courant", + "Transform to lines": "Transformer en lignes", + "Transform to polygon": "Transformer en polygone", + "Type of layer": "Type de calque", + "Unable to detect format of file {filename}": "Impossible de détecter le format du fichier {filename}", + "Untitled layer": "Calque sans nom", + "Untitled map": "Carte sans nom", + "Update permissions": "Mettre à jour les permissions", + "Update permissions and editors": "Changer les permissions et les éditeurs", + "Url": "URL", + "Use current bounds": "Utiliser la vue courante", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Utilisez des variables avec les noms de propriétés de vos éléments entre accolades, ex. {name}, elles seront remplacées dynamiquement par les valeurs correspondantes.", + "User content credits": "Crédit pour le contenu utilisateur", + "User interface options": "Options d'interface", + "Versions": "Versions", + "View Fullscreen": "Voir en plein écran", + "Where do we go from here?": "C'est par où pour aller plus loin?", + "Whether to display or not polygons paths.": "Afficher les contours des polygones.", + "Whether to fill polygons with color.": "Remplir les polygones avec de la couleur.", + "Who can edit": "Qui peut modifier", + "Who can view": "Qui peut voir", + "Will be displayed in the bottom right corner of the map": "S'affiche dans le coin en bas à droite de la carte", + "Will be visible in the caption of the map": "Sera visible dans la légende de la carte", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Aïe ! Quelqu'un d'autre semble avoir modifié la carte. Vous pouvez continuer l'enregistrement, mais ses données seront perdues.", + "You have unsaved changes.": "Vous avez des changements non sauvegardés.", + "Zoom in": "Zoomer", + "Zoom level for automatic zooms": "Niveau de zoom automatique", + "Zoom out": "Dézoomer", + "Zoom to layer extent": "Zoomer jusqu'à voir les données du calque", + "Zoom to the next": "Suivant", + "Zoom to the previous": "Précédent", + "Zoom to this feature": "Zoomer sur cet élément", + "Zoom to this place": "Zoomer vers ce lieu", + "attribution": "attribution", + "by": "par", + "display name": "nom", + "height": "hauteur", + "licence": "licence", + "max East": "limite est", + "max North": "limite nord", + "max South": "limite sud", + "max West": "limite ouest", + "max zoom": "zoom max", + "min zoom": "zoom min", + "next": "suivant", + "previous": "précédent", + "width": "largeur", + "{count} errors during import: {message}": "{count} erreurs pendant l'import: {message}", + "Measure distances": "Mesurer les distances", + "NM": "NM", + "kilometers": "kilomètres", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "miles nautiques", + "{area} acres": "{area} hectares", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 jour", + "1 hour": "1 heure", + "5 min": "5 min", + "Cache proxied request": "Cacher la requête avec proxy", + "No cache": "Pas de cache", + "Popup": "Popup", + "Popup (large)": "Popup (grande)", + "Popup content style": "Gabarit du contenu de la popup", + "Popup shape": "Forme de popup", + "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré: {type}", + "Optional.": "Facultatif", + "Paste your data here": "Collez vos données ici", + "Please save the map first": "Vous devez d'abord enregistrer la carte", + "Unable to locate you.": "Impossible de vous localiser.", + "Feature identifier key": "Clé unique d'un élément", + "Open current feature on load": "Ouvrir l'élément courant au chargement", + "Permalink": "Permalien", + "The name of the property to use as feature unique identifier.": "Nom de la propriété utilisée pour identifier un élément de façon unique" +}; +L.registerLocale("fr", locale); +L.setLocale("fr"); \ No newline at end of file diff --git a/umap/static/umap/locale/fr.json b/umap/static/umap/locale/fr.json new file mode 100644 index 00000000..28697e13 --- /dev/null +++ b/umap/static/umap/locale/fr.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Ajouter un symbole", + "Allow scroll wheel zoom?": "Autoriser le zoom avec la molette ?", + "Automatic": "Automatique", + "Ball": "Épingle", + "Cancel": "Annuler", + "Caption": "Légende", + "Change symbol": "Changer le pictogramme", + "Choose the data format": "Choisir le format des données", + "Choose the layer of the feature": "Choisir le calque de l'élément", + "Circle": "Cercle", + "Clustered": "Avec cluster", + "Data browser": "Visualiseur de données", + "Default": "Par défaut", + "Default zoom level": "Niveau de zoom par défaut", + "Default: name": "Par défaut : name", + "Display label": "Afficher une étiquette", + "Display the control to open OpenStreetMap editor": "Afficher le bouton pour ouvrir l'éditeur d'OpenStreetMap", + "Display the data layers control": "Afficher le bouton d'accès rapide aux calques de données", + "Display the embed control": "Afficher le bouton de partage", + "Display the fullscreen control": "Afficher le bouton de plein écran", + "Display the locate control": "Afficher le bouton de localisation", + "Display the measure control": "Afficher le bouton de mesures", + "Display the search control": "Afficher le bouton de recherche", + "Display the tile layers control": "Afficher le bouton permettant de changer le fond de carte", + "Display the zoom control": "Afficher les boutons de zoom", + "Do you want to display a caption bar?": "Voulez-vous afficher une barre de légende", + "Do you want to display a minimap?": "Voulez-vous afficher une mini carte de situation ?", + "Do you want to display a panel on load?": "Voulez-vous afficher un panneau latéral au chargement ?", + "Do you want to display popup footer?": "Voulez-vous afficher les boutons de navigation en bas des popups ?", + "Do you want to display the scale control?": "Voulez-vous afficher l'échelle de la carte ?", + "Do you want to display the «more» control?": "Voulez-vous afficher le bouton « Plus » ?", + "Drop": "Goutte", + "GeoRSS (only link)": "GeoRSS (lien seul)", + "GeoRSS (title + image)": "GeoRSS (titre + image)", + "Heatmap": "Heatmap", + "Icon shape": "Forme de l'icône", + "Icon symbol": "Image de l'icône", + "Inherit": "Hériter", + "Label direction": "Direction de l'étiquette", + "Label key": "Clé pour le libellé", + "Labels are clickable": "Étiquette cliquable", + "None": "Aucun", + "On the bottom": "Bas", + "On the left": "Gauche", + "On the right": "Droite", + "On the top": "Haut", + "Popup content template": "Gabarit du contenu de la popup", + "Set symbol": "Définir le pictogramme", + "Side panel": "Panneau latéral", + "Simplify": "Simplifier", + "Symbol or url": "Pictogramme ou URL", + "Table": "Tableau", + "always": "toujours", + "clear": "effacer", + "collapsed": "fermé", + "color": "Couleur", + "dash array": "traitillé", + "define": "définir", + "description": "description", + "expanded": "ouvert", + "fill": "remplissage", + "fill color": "couleur de remplissage", + "fill opacity": "opacité du remplissage", + "hidden": "caché", + "iframe": "iframe", + "inherit": "hériter", + "name": "nom", + "never": "jamais", + "new window": "nouvelle fenêtre", + "no": "non", + "on hover": "Au survol", + "opacity": "opacité", + "parent window": "fenêtre parente", + "stroke": "trait", + "weight": "épaisseur", + "yes": "oui", + "{delay} seconds": "{delay} secondes", + "# one hash for main heading": "# un dièse pour titre 1", + "## two hashes for second heading": "## deux dièses pour titre 2", + "### three hashes for third heading": "### trois dièses pour titre 3", + "**double star for bold**": "**double astérisque pour gras**", + "*simple star for italic*": "*simple astérisque pour italique*", + "--- for an horizontal rule": "--- pour un séparateur horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Liste de nombres séparés par une virgule, définissant les tirets et espaces. Ex.: \"5, 10, 15\".", + "About": "À propos", + "Action not allowed :(": "Action non autorisée :(", + "Activate slideshow mode": "Activer le mode diaporama", + "Add a layer": "Ajouter un calque", + "Add a line to the current multi": "Ajouter une ligne au groupe courant", + "Add a new property": "Ajouter une propriété", + "Add a polygon to the current multi": "Ajouter un polygon au groupe courant", + "Advanced actions": "Actions avancées", + "Advanced properties": "Propriétés avancées", + "Advanced transition": "Transition avancée", + "All properties are imported.": "Toutes les propriétés sont importées.", + "Allow interactions": "Autoriser les interactions", + "An error occured": "Une erreur est survenue", + "Are you sure you want to cancel your changes?": "Êtes-vous sûr de vouloir annuler vos modifications ?", + "Are you sure you want to clone this map and all its datalayers?": "Êtes-vous sûr de vouloir cloner cette carte et ses calques de données?", + "Are you sure you want to delete the feature?": "Êtes-vous sûr de vouloir supprimer cet élément?", + "Are you sure you want to delete this layer?": "Voulez-vous vraiment supprimer ce calque ?", + "Are you sure you want to delete this map?": "Êtes-vous sûr de vouloir supprimer cette carte?", + "Are you sure you want to delete this property on all the features?": "Supprimer la propriété sur tous les éléments ?", + "Are you sure you want to restore this version?": "Êtes-vous sûr de vouloir restaurer cette version ?", + "Attach the map to my account": "Lier cette carte à mon compte", + "Auto": "Auto", + "Autostart when map is loaded": "Lancer au chargement de la carte", + "Bring feature to center": "Centrer la carte sur cet élément", + "Browse data": "Visualiser les données", + "Cancel edits": "Annuler les modifications", + "Center map on your location": "Centrer la carte sur votre position", + "Change map background": "Changer le fond de carte", + "Change tilelayers": "Changer le fond de carte", + "Choose a preset": "Choisir dans les présélections", + "Choose the format of the data to import": "Choisir le format des données pour l'import", + "Choose the layer to import in": "Choisir le calque de données pour l'import", + "Click last point to finish shape": "Cliquer sur le dernier point pour finir le tracé", + "Click to add a marker": "Cliquer pour ajouter le marqueur", + "Click to continue drawing": "Cliquer pour continuer le tracé", + "Click to edit": "Cliquer pour modifier", + "Click to start drawing a line": "Cliquer pour commencer une ligne", + "Click to start drawing a polygon": "Cliquer pour commencer un polygone", + "Clone": "Cloner", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Dupliquer", + "Clone this map": "Cloner cette carte", + "Close": "Fermer", + "Clustering radius": "Rayon du cluster", + "Comma separated list of properties to use when filtering features": "Propriétés à utiliser pour filtrer les éléments (séparées par des virgules)", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Virgule, tabulation ou point-virgule pour séparer des valeurs. SRS WGS84 est implicite. Seuls les points géométriques sont importés. L'importation se référera au titre dans les entêtes de colonnes de «lat» et «lon» au début de l'en-tête, et est insensible à la casse. Toutes les autres colonnes sont importées en tant que propriétés.", + "Continue line": "Continuer la ligne", + "Continue line (Ctrl+Click)": "Continue la ligne (Ctrl+Clic)", + "Coordinates": "Coordonnées", + "Credits": "Crédits", + "Current view instead of default map view?": "Vue courante plutôt que la vue par défaut ?", + "Custom background": "Fond de carte personnalisé", + "Data is browsable": "Données naviguables", + "Default interaction options": "Options d'interaction par défaut", + "Default properties": "Propriétés par défaut", + "Default shape properties": "Propriétés de forme par défaut", + "Define link to open in a new window on polygon click.": "Définit un lien à ouvrir dans une nouvelle fenêtre au clic sur le polygone.", + "Delay between two transitions when in play mode": "Délai entre les transitions en mode lecture", + "Delete": "Supprimer", + "Delete all layers": "Supprimer tous les calques", + "Delete layer": "Supprimer le calque", + "Delete this feature": "Supprimer cet élément", + "Delete this property on all the features": "Supprimer cette propriété", + "Delete this shape": "Supprimer ce tracé", + "Delete this vertex (Alt+Click)": "Supprimer ce point (Alt+Clic)", + "Directions from here": "Itinéraire à partir de ce lieu", + "Disable editing": "Désactiver l'édition", + "Display measure": "Afficher les dimensions", + "Display on load": "Afficher au chargement", + "Download": "Télécharger", + "Download data": "Télécharger les données", + "Drag to reorder": "Glisser pour réordonner", + "Draw a line": "Dessiner une ligne", + "Draw a marker": "Ajouter un marqueur", + "Draw a polygon": "Dessiner un polygone", + "Draw a polyline": "Dessiner une ligne", + "Dynamic": "Dynamique", + "Dynamic properties": "Propriétés dynamiques", + "Edit": "Éditer", + "Edit feature's layer": "Éditer le calque de l'élément", + "Edit map properties": "Éditer les propriétés de la carte", + "Edit map settings": "Éditer les paramètres", + "Edit properties in a table": "Éditer dans un tableau", + "Edit this feature": "Éditer cet élément", + "Editing": "Edition en cours", + "Embed and share this map": "Exporter et partager la carte", + "Embed the map": "Intégrer la carte dans une iframe", + "Empty": "Vider", + "Enable editing": "Activer l'édition", + "Error in the tilelayer URL": "Erreur dans l'URL du fond de carte", + "Error while fetching {url}": "Erreur en appelant l'URL {url}", + "Exit Fullscreen": "Quitter le plein écran", + "Extract shape to separate feature": "Extraire la forme", + "Fetch data each time map view changes.": "Récupère les données à chaque fois que la vue de la carte change.", + "Filter keys": "Clés de filtre", + "Filter…": "Filtrer…", + "Format": "Format", + "From zoom": "À partir du zoom", + "Full map data": "Données complètes de la carte", + "Go to «{feature}»": "Naviguer jusqu'à «{feature}»", + "Heatmap intensity property": "Propriété pour l'intensité de la heatmap", + "Heatmap radius": "Rayon de heatmap", + "Help": "Aide", + "Hide controls": "Masquer les outils", + "Home": "Accueil", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Valeur de simplification des lignes pour chaque niveau de zoom (grand nombre = meilleure performance, petit nombre = plus précis)", + "If false, the polygon will act as a part of the underlying map.": "Choisir « non » pour que le polygone se comporte comme faisant partie du fond de carte.", + "Iframe export options": "Options d'export de l'iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels): {{{http://iframe.url.com|hauteur}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe avec hauteur et largeur (en px) : {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe : {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image avec largeur (en pixels) : {{http://image.url.com|largeur}}", + "Image: {{http://image.url.com}}": "Image : {{http://image.url.com}}", + "Import": "Importer", + "Import data": "Importer des données", + "Import in a new layer": "Importer dans un nouveau calque", + "Imports all umap data, including layers and settings.": "Importer toutes les données de la carte, y compris les calques et les propriétés", + "Include full screen link?": "Inclure le lien \"plein écran\" ?", + "Interaction options": "Options d'interaction", + "Invalid umap data": "Données uMap invalides", + "Invalid umap data in {filename}": "Les données du fichier {filename} ne sont pas valides comme format uMap", + "Keep current visible layers": "Garder les calques visibles actuellement", + "Latitude": "Latitude", + "Layer": "Calque", + "Layer properties": "Propriétés du claque", + "Licence": "Licence", + "Limit bounds": "Limites géographiques", + "Link to…": "Lien vers…", + "Link with text: [[http://example.com|text of the link]]": "Lien avec texte : [[http://exemple.fr|texte du lien]]", + "Long credits": "Crédit", + "Longitude": "Longitude", + "Make main shape": "Tracé principal", + "Manage layers": "Gérer les calques", + "Map background credits": "Crédits pour le fond de carte", + "Map has been attached to your account": "La carte est maintenant liée à votre compte", + "Map has been saved!": "La carte a été sauvegardée !", + "Map user content has been published under licence": "Les contenus sur la carte ont été publiés avec la licence", + "Map's editors": "Éditeurs", + "Map's owner": "Propriétaire de la carte", + "Merge lines": "Fusionner les lignes", + "More controls": "Plus d'outils", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Doit être une valeur CSS valide (ex. : DarkBlue ou #123456)", + "No licence has been set": "Aucune licence définie", + "No results": "Aucun résultat", + "Only visible features will be downloaded.": "Seuls les éléments visibles seront téléchargés.", + "Open download panel": "Ouvrir la fenêtre de téléchargement", + "Open link in…": "Ouvrir le lien dans…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Ouvrir cette carte dans un éditeur OpenStreetMap pour améliorer les données", + "Optional intensity property for heatmap": "Propriété optionnelle à utiliser pour calculer l'intensité de la heatmap", + "Optional. Same as color if not set.": "Optionnel. La couleur principale sera utilisée si laissé vide.", + "Override clustering radius (default 80)": "Valeur de rayon personnalisée pour le cluster (par défaut : 80)", + "Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 80)", + "Please be sure the licence is compliant with your use.": "Pensez à vérifier que la licence de ces données vous autorise à les utiliser.", + "Please choose a format": "Merci de choisir un format", + "Please enter the name of the property": "Merci d'entrer le nom de la propriété", + "Please enter the new name of this property": "Veuillez entrer le nouveau nom de la propriété", + "Powered by Leaflet and Django, glued by uMap project.": "Propulsé par Leaflet et Django, mis en musique par uMap project.", + "Problem in the response": "Problème dans la réponse du serveur", + "Problem in the response format": "Problème dans le format de la réponse", + "Properties imported:": "Propriétés importées :", + "Property to use for sorting features": "Propriété utilisée pour trier les éléments", + "Provide an URL here": "Renseigner une URL", + "Proxy request": "Avec proxy", + "Remote data": "Données distantes", + "Remove shape from the multi": "Extraire le tracé du groupe", + "Rename this property on all the features": "Renommer la propriété", + "Replace layer content": "Remplacer le contenu du calque", + "Restore this version": "Restaurer cette version", + "Save": "Enregistrer", + "Save anyway": "Continuer", + "Save current edits": "Enregistrer les changements courants", + "Save this center and zoom": "Enregistrer le zoom et le centre actuels", + "Save this location as new feature": "Enregistrer ce lieu comme élément de la carte", + "Search a place name": "Chercher un nom de lieu", + "Search location": "Chercher un lieu", + "Secret edit link is:
    {link}": "Lien d'édition secret : {link}", + "See all": "Tout voir", + "See data layers": "Voir les calques", + "See full screen": "Voir en plein écran", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Désactiver pour masquer ce calque du diaporama, du navigateur de données…", + "Shape properties": "Propriétés de la forme", + "Short URL": "URL courte", + "Short credits": "Crédit court", + "Show/hide layer": "Montrer/masquer un calque", + "Simple link: [[http://example.com]]": "Lien simple : [[https://exemple.fr]]", + "Slideshow": "Diaporama", + "Smart transitions": "Transitions animées", + "Sort key": "Clé de tri", + "Split line": "Scinder la ligne", + "Start a hole here": "Ajouter un tracé intérieur", + "Start editing": "Passer en mode édition", + "Start slideshow": "Commencer", + "Stop editing": "Quitter le mode édition", + "Stop slideshow": "Arrêter", + "Supported scheme": "Schéma supporté", + "Supported variables that will be dynamically replaced": "Variables qui seront automatiquement remplacées", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Utilisez soit un caractère unique soit une URL. Vous pouvez utiliser des propriétés des marqueurs comme variables : par exemple avec \"http://myserver.org/images/{name}.png\", la variable {name} sera remplacée par la valeur du \"name\" de chacun des marqueurs.", + "TMS format": "format de type TMS", + "Text color for the cluster label": "Couleur du texte du cluster", + "Text formatting": "Mise en forme du texte", + "The name of the property to use as feature label (ex.: \"nom\")": "Le nom de la propriété à utiliser comme libellé des éléments (ex. : \"nom\")", + "The zoom and center have been setted.": "Le zoom et le centre ont été enregistrés.", + "To use if remote server doesn't allow cross domain (slower)": "Cocher si le serveur distant n'autorise pas le cross domain (plus lent)", + "To zoom": "Jusqu'au zoom", + "Toggle edit mode (Shift+Click)": "Alterner le mode édition (Shift+Clic)", + "Transfer shape to edited feature": "Adjoindre le tracé au groupe courant", + "Transform to lines": "Transformer en lignes", + "Transform to polygon": "Transformer en polygone", + "Type of layer": "Type de calque", + "Unable to detect format of file {filename}": "Impossible de détecter le format du fichier {filename}", + "Untitled layer": "Calque sans nom", + "Untitled map": "Carte sans nom", + "Update permissions": "Mettre à jour les permissions", + "Update permissions and editors": "Changer les permissions et les éditeurs", + "Url": "URL", + "Use current bounds": "Utiliser la vue courante", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Utilisez des variables avec les noms de propriétés de vos éléments entre accolades, ex. {name}, elles seront remplacées dynamiquement par les valeurs correspondantes.", + "User content credits": "Crédit pour le contenu utilisateur", + "User interface options": "Options d'interface", + "Versions": "Versions", + "View Fullscreen": "Voir en plein écran", + "Where do we go from here?": "C'est par où pour aller plus loin?", + "Whether to display or not polygons paths.": "Afficher les contours des polygones.", + "Whether to fill polygons with color.": "Remplir les polygones avec de la couleur.", + "Who can edit": "Qui peut modifier", + "Who can view": "Qui peut voir", + "Will be displayed in the bottom right corner of the map": "S'affiche dans le coin en bas à droite de la carte", + "Will be visible in the caption of the map": "Sera visible dans la légende de la carte", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Aïe ! Quelqu'un d'autre semble avoir modifié la carte. Vous pouvez continuer l'enregistrement, mais ses données seront perdues.", + "You have unsaved changes.": "Vous avez des changements non sauvegardés.", + "Zoom in": "Zoomer", + "Zoom level for automatic zooms": "Niveau de zoom automatique", + "Zoom out": "Dézoomer", + "Zoom to layer extent": "Zoomer jusqu'à voir les données du calque", + "Zoom to the next": "Suivant", + "Zoom to the previous": "Précédent", + "Zoom to this feature": "Zoomer sur cet élément", + "Zoom to this place": "Zoomer vers ce lieu", + "attribution": "attribution", + "by": "par", + "display name": "nom", + "height": "hauteur", + "licence": "licence", + "max East": "limite est", + "max North": "limite nord", + "max South": "limite sud", + "max West": "limite ouest", + "max zoom": "zoom max", + "min zoom": "zoom min", + "next": "suivant", + "previous": "précédent", + "width": "largeur", + "{count} errors during import: {message}": "{count} erreurs pendant l'import: {message}", + "Measure distances": "Mesurer les distances", + "NM": "NM", + "kilometers": "kilomètres", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "miles nautiques", + "{area} acres": "{area} hectares", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 jour", + "1 hour": "1 heure", + "5 min": "5 min", + "Cache proxied request": "Cacher la requête avec proxy", + "No cache": "Pas de cache", + "Popup": "Popup", + "Popup (large)": "Popup (grande)", + "Popup content style": "Gabarit du contenu de la popup", + "Popup shape": "Forme de popup", + "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré: {type}", + "Optional.": "Facultatif", + "Paste your data here": "Collez vos données ici", + "Please save the map first": "Vous devez d'abord enregistrer la carte", + "Unable to locate you.": "Impossible de vous localiser.", + "Feature identifier key": "Clé unique d'un élément", + "Open current feature on load": "Ouvrir l'élément courant au chargement", + "Permalink": "Permalien", + "The name of the property to use as feature unique identifier.": "Nom de la propriété utilisée pour identifier un élément de façon unique" +} diff --git a/umap/static/umap/locale/gl.js b/umap/static/umap/locale/gl.js new file mode 100644 index 00000000..294afec5 --- /dev/null +++ b/umap/static/umap/locale/gl.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Engade unha icona", + "Allow scroll wheel zoom?": "Permitir o achegamento ca roda do rato?", + "Automatic": "Automático", + "Ball": "Bóla", + "Cancel": "Desbotar", + "Caption": "Subtítulo", + "Change symbol": "Mudar a icona", + "Choose the data format": "Escoller o formato de datos", + "Choose the layer of the feature": "Escoller a capa do elemento", + "Circle": "Círculo", + "Clustered": "Agrupados", + "Data browser": "Procurador de datos", + "Default": "Por defecto", + "Default zoom level": "Nivel do achegamento predeterminado", + "Default: name": "Por defecto: nome", + "Display label": "Amosar etiqueta", + "Display the control to open OpenStreetMap editor": "Amosar o control para abrir o editor do OpenStreetMap", + "Display the data layers control": "Amosar o control da capa de datos", + "Display the embed control": "Amosar o control de incrustado", + "Display the fullscreen control": "Amosar o control de pantalla completa", + "Display the locate control": "Amosar o control de ubicación", + "Display the measure control": "Amosar o control de medida", + "Display the search control": "Amosar o control de procura", + "Display the tile layers control": "Amosar o control de capas de teselas", + "Display the zoom control": "Amosar o control de achegamento", + "Do you want to display a caption bar?": "Desexas amosar a barra de subtítulos?", + "Do you want to display a minimap?": "Desexas amosar un minimapa?", + "Do you want to display a panel on load?": "Desexas amosar un panel ó cargar?", + "Do you want to display popup footer?": "Desexas amosar a xanela emerxente no pé de páxina?", + "Do you want to display the scale control?": "Desexas amosar o control de escala?", + "Do you want to display the «more» control?": "Desexas amosar o control «máis»?", + "Drop": "Marcaxe", + "GeoRSS (only link)": "GeoRSS (só ligazón)", + "GeoRSS (title + image)": "GeoRSS (título + imaxe)", + "Heatmap": "Mapa de calor", + "Icon shape": "Forma da icona", + "Icon symbol": "Símbolo da icona", + "Inherit": "Herdar", + "Label direction": "Dirección da etiqueta", + "Label key": "Etiqueta da clave", + "Labels are clickable": "Labels are clickable", + "None": "Ningún", + "On the bottom": "Na parte de embaixo", + "On the left": "Á esquerda", + "On the right": "Á dereita", + "On the top": "Na parte de enriba", + "Popup content template": "Padrón do contido da xanela emerxente", + "Set symbol": "Estabelecer icona", + "Side panel": "Lapela lateral", + "Simplify": "Simplificar", + "Symbol or url": "Icona ou URL", + "Table": "Táboa", + "always": "sempre", + "clear": "limpar", + "collapsed": "agochado", + "color": "cor", + "dash array": "matriz de guións", + "define": "define", + "description": "descrición", + "expanded": "expandido", + "fill": "rechear", + "fill color": "cor de recheo", + "fill opacity": "rechear a opacidade", + "hidden": "agochar", + "iframe": "iframe", + "inherit": "herdar", + "name": "nome", + "never": "nunca", + "new window": "nova xanela", + "no": "non", + "on hover": "ó pasar o rato por riba", + "opacity": "opacidade", + "parent window": "xanela pai ou principal", + "stroke": "trazo", + "weight": "peso", + "yes": "si", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# un cancelo para a cabeceira principal", + "## two hashes for second heading": "## dous cancelos para a cabeceira secundaria", + "### three hashes for third heading": "### tres cancelos para a cabeceira terciaria", + "**double star for bold**": "**dous asteriscos para pór negriña**", + "*simple star for italic*": "*un asterisco para pór cursiva*", + "--- for an horizontal rule": "--- para pór unha liña horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Unha listaxe separada por vírgulas que define o patrón de trazos de guión. Ex.: \"5, 10, 15\".", + "About": "Acerca de", + "Action not allowed :(": "Acción non permitida :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Engadir unha capa", + "Add a line to the current multi": "Engadir unha liña para o multi actual", + "Add a new property": "Engadir unha nova propiedade", + "Add a polygon to the current multi": "Enhadir un polígono para o multi actual", + "Advanced actions": "Accións avanzadas", + "Advanced properties": "Propiedades avanzadas", + "Advanced transition": "Transición avanzada", + "All properties are imported.": "Tódalas propiedades son importadas.", + "Allow interactions": "Permitir interaccións", + "An error occured": "Ocorreu un erro", + "Are you sure you want to cancel your changes?": "Estás na certeza de que desexas desbotar as túas mudanzas?", + "Are you sure you want to clone this map and all its datalayers?": "Estás na certeza de que desexas clonar este mapa e tódalas súas capas de datos?", + "Are you sure you want to delete the feature?": "Estás na certeza de que desexas eliminar este elemento?", + "Are you sure you want to delete this layer?": "Estás na certeza de que desexas eliminar esta capa?", + "Are you sure you want to delete this map?": "Estás na certeza de que desexas eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Estás na certeza de que desexas eliminar esta propiedade en tódolos elementos?", + "Are you sure you want to restore this version?": "Estás na certeza de que desexas restabelecer esta versión?", + "Attach the map to my account": "Adxuntar o mapa á miña conta", + "Auto": "Automático", + "Autostart when map is loaded": "Autocomezar cando o mapa estea cargado", + "Bring feature to center": "Levar o elemento ó centro", + "Browse data": "Navegar polos datos", + "Cancel edits": "Desbotar as edicións", + "Center map on your location": "Centrar o mapa na túa ubicación", + "Change map background": "Mudar o mapa do fondo", + "Change tilelayers": "Mudar as capas de teselas", + "Choose a preset": "Escoller un predefinido", + "Choose the format of the data to import": "Escoller o formato dos datos a importar", + "Choose the layer to import in": "Escoller a capa á que se importa", + "Click last point to finish shape": "Preme no derradeiro punto para rematar a forma", + "Click to add a marker": "Preme para engadir unha marcaxe", + "Click to continue drawing": "Preme para seguir debuxando", + "Click to edit": "Preme para editar", + "Click to start drawing a line": "Preme para comezar a debuxar unha liña", + "Click to start drawing a polygon": "Preme para comezar a debuxar un polígono", + "Clone": "Clonar", + "Clone of {name}": "Clonado de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Pechar", + "Clustering radius": "Raio de agrupamento", + "Comma separated list of properties to use when filtering features": "Listaxe de propiedades separado por comas para empregar a filtraxe de elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Liña continua", + "Continue line (Ctrl+Click)": "Liña continua (Ctrl+Clic)", + "Coordinates": "Coordenadas", + "Credits": "Cretos", + "Current view instead of default map view?": "Vista actual en troques da vista predeterminada?", + "Custom background": "Fondo persoalizado", + "Data is browsable": "Os datos son navegábeis", + "Default interaction options": "Opcións de interacción predeterminados", + "Default properties": "Propiedades predeterminadas", + "Default shape properties": "Propiedades de formas predeterminados", + "Define link to open in a new window on polygon click.": "Defina unha ligazón para abrir nunha nova xanela ó premer no polígono.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Eliminar", + "Delete all layers": "Eliminar tódalas capas", + "Delete layer": "Eliminar capa", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propiedade en tódolos elementos", + "Delete this shape": "Eliminar esta forma", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)", + "Directions from here": "Direccións dende aquí", + "Disable editing": "Desabilitar a edición", + "Display measure": "Amosar medida", + "Display on load": "Amosar ó cargar", + "Download": "Baixar", + "Download data": "Baixar datos", + "Drag to reorder": "Arrastrar para reordenar", + "Draw a line": "Debuxa unha liña", + "Draw a marker": "Debuxa unha marcaxe", + "Draw a polygon": "Debuxa un polígono", + "Draw a polyline": "Debuxa unha liña múltiple", + "Dynamic": "Dinámico", + "Dynamic properties": "Propiedades dinámicas", + "Edit": "Editar", + "Edit feature's layer": "Editar a capa do elemento", + "Edit map properties": "Editar as propiedades do mapa", + "Edit map settings": "Editar axustes do mapa", + "Edit properties in a table": "Editar propiedades nunha táboa", + "Edit this feature": "Editar este elemento", + "Editing": "Editando", + "Embed and share this map": "Incorporar e compartir este mapa", + "Embed the map": "Incorporar o mapa", + "Empty": "Baleirar", + "Enable editing": "Activar a edición", + "Error in the tilelayer URL": "Erro na URL da capa de teselas", + "Error while fetching {url}": "Erro ó recuperar {url}", + "Exit Fullscreen": "Saír da pantalla completa", + "Extract shape to separate feature": "Extraer a forma ó elemento separado", + "Fetch data each time map view changes.": "Obter os datos cada vez que a vista do mapa muda.", + "Filter keys": "Claves de filtrado", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Dende o achegamento", + "Full map data": "Mapa completo de datos", + "Go to «{feature}»": "Ir cara «{feature}»", + "Heatmap intensity property": "Propiedade intensidade do mapa de calor", + "Heatmap radius": "Raio do mapa de calor", + "Help": "Axuda", + "Hide controls": "Agochar os controis", + "Home": "Inicio", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Canto se simplificará a polilínea en cada nivel de achegamento (máis = mellor comportamento e aparencia máis feble, menos = máis preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se é falso, o polígono actuará coma un anaco do mapa subxacente.", + "Iframe export options": "Opcións de exportación do 'iframe'", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura persoalizada (en píxeles): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto e ancho (en px) persoalizado: {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imaxe con anchura persoalizada (en píxeles): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Imaxe: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar datos", + "Import in a new layer": "Importar nunha nova capa", + "Imports all umap data, including layers and settings.": "Importar tódolos datos do umap, incluíndo capas e axustes.", + "Include full screen link?": "Engadir a ligazón de pantalla completa?", + "Interaction options": "Opcións de interacción", + "Invalid umap data": "Dato umap non válido", + "Invalid umap data in {filename}": "Dato umap non válido en {filename}", + "Keep current visible layers": "Gardar capas visíbeis actuais", + "Latitude": "Latitude", + "Layer": "Capa", + "Layer properties": "Propiedades da capa", + "Licence": "Licenza", + "Limit bounds": "Limitar os límites", + "Link to…": "Ligazón cara...", + "Link with text: [[http://example.com|text of the link]]": "Ligazón con texto: [[http://example.com|text of the link]]", + "Long credits": "Cretos longos", + "Longitude": "Lonxitude", + "Make main shape": "Facer a forma principal", + "Manage layers": "Xestionar capas", + "Map background credits": "Cretos do mapa de fondo", + "Map has been attached to your account": "O mapa adxuntouse á súa conta", + "Map has been saved!": "Gardouse o mapa!", + "Map user content has been published under licence": "O contido do mapa do usuario foi publicado baixo a licenza", + "Map's editors": "Editores do mapa", + "Map's owner": "Dono do mapa", + "Merge lines": "Combinar liñas", + "More controls": "Máis controis", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Ten que ser un valor CSS válido (por ex.: DarkBlue ou #123456)", + "No licence has been set": "Ningunha licenza foi estabelecida", + "No results": "Sen resultados", + "Only visible features will be downloaded.": "Só os elementos visíbeis baixaranse.", + "Open download panel": "Abrir a lapela de descarga", + "Open link in…": "Abrir ligazón en...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abre a extensión deste mapa nun editor de mapas para fornecer datos máis precisos ó OpenStreetMap", + "Optional intensity property for heatmap": "Propiedade de intensidade opcional para o mapa de calor", + "Optional. Same as color if not set.": "Opcional. A mesma cor se non se estabelece.", + "Override clustering radius (default 80)": "Sobrescribir o raio de agrupamento (predeterminado 80)", + "Override heatmap radius (default 25)": "Sobreescribir o raio do mapa de calor (predeterminado 25)", + "Please be sure the licence is compliant with your use.": "Coide de que a licenza sexa compatíbel co emprego que lle vai a dár.", + "Please choose a format": "Escolle un formato", + "Please enter the name of the property": "Insira o nome da propiedade", + "Please enter the new name of this property": "Insira o novo nome desta propiedade", + "Powered by Leaflet and Django, glued by uMap project.": "Fornecido polo Leaflet e o Django, colado polo proxecto uMap.", + "Problem in the response": "Problema na resposta", + "Problem in the response format": "Problema co formato de resposta", + "Properties imported:": "Propiedades importadas:", + "Property to use for sorting features": "Propiedade para ordenar os elementos", + "Provide an URL here": "Forneza unha URL aquí", + "Proxy request": "Petición a proxy", + "Remote data": "Datos remotos", + "Remove shape from the multi": "Eliminar a forma do 'multi'", + "Rename this property on all the features": "Renomear esta propiedade en tódolos elementos", + "Replace layer content": "Substitúe o contido da capa", + "Restore this version": "Restabelecer esta versión", + "Save": "Gardar", + "Save anyway": "Gardar de todos xeitos", + "Save current edits": "Gardar as edicións actuais", + "Save this center and zoom": "Gardar este centrado e achegamento", + "Save this location as new feature": "Gardar esta ubicación coma novo elemento", + "Search a place name": "Procurar o nome dun lugar", + "Search location": "Procurar localización", + "Secret edit link is:
    {link}": "A ligazón secreta de edición é:
    {link}", + "See all": "Ollar todo", + "See data layers": "Ollar capas de datos", + "See full screen": "Ollar pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Axústeo a falso para agochar esta capa da presentación ('slideshow'), o navegador de datos, a navegación da xanela emerxente...", + "Shape properties": "Propiedades da forma", + "Short URL": "URL curta", + "Short credits": "Cretos curtos", + "Show/hide layer": "Amosar/agochar capa", + "Simple link: [[http://example.com]]": "Ligazón sinxela: [[http://example.com]]", + "Slideshow": "Presentación", + "Smart transitions": "Transicións intelixentes", + "Sort key": "Orde da clave", + "Split line": "Liña de división", + "Start a hole here": "Comezar un burato aquí", + "Start editing": "Comezar a editar", + "Start slideshow": "Comezar presentación", + "Stop editing": "Deter a edición", + "Stop slideshow": "Deter a presentación", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variábeis suportadas que serán substituídas de xeito dinámico", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser un carácter 'unicode' ou unha URL. Pode empregar as propiedades do elemento coma variábeis: ex.: \"http://myserver.org/images/{name}.png\", a variábel {name} será substituída polo valor \"name\" de cada marcaxe.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta clúster", + "Text formatting": "Formato do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propiedade a empregar coma etiqueta do elemento (ex.: «nom»)", + "The zoom and center have been setted.": "O achegamento e o centrado foron estabelecidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para empregar se o servidor remoto non permite dominios cruzados (máis amodo)", + "To zoom": "Para o achegamento", + "Toggle edit mode (Shift+Click)": "Alterna o modo edición (Shift+Clic)", + "Transfer shape to edited feature": "Transferir a forma ó elemento editada", + "Transform to lines": "Transformar a liñas", + "Transform to polygon": "Transformar a polígono", + "Type of layer": "Tipo de capa", + "Unable to detect format of file {filename}": "Non se pode detectar o formato de ficheiro {filename}", + "Untitled layer": "Capa sen título", + "Untitled map": "Mapa sen título", + "Update permissions": "Actualizar permisos", + "Update permissions and editors": "Actualizar permisos e editores", + "Url": "Url", + "Use current bounds": "Empregar os límites actuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Empregar marcaxes de posición con propiedades do elemento entre paréntesis, exemplo {name}, serán substituídos de xeito dinámico polos valores correspondentes.", + "User content credits": "Cretos do contido do usuario", + "User interface options": "Opcións da interface de usuario", + "Versions": "Versións", + "View Fullscreen": "Ollar en pantalla completa", + "Where do we go from here?": "Onde vamos a partir daquí?", + "Whether to display or not polygons paths.": "Se desexas amosar ou non as rutas dos polígonos.", + "Whether to fill polygons with color.": "Se desexas rechear os polígonos con cor.", + "Who can edit": "Quen pode editar", + "Who can view": "Quen pode ollar", + "Will be displayed in the bottom right corner of the map": "Amosarase na esquina inferior esquerda do mapa", + "Will be visible in the caption of the map": "Será visíbel no subtítulo do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Vaites! Alguén semella que editou os datos. Podes gardar de todos xeitos, pero isto vai eliminar as mudanzas feitas por outros.", + "You have unsaved changes.": "Ten mudanzas non gardadas.", + "Zoom in": "Achegar", + "Zoom level for automatic zooms": "Nivel de achegamento para achegamentos automáticos", + "Zoom out": "Afastar", + "Zoom to layer extent": "Achegar ó nivel da capa", + "Zoom to the next": "Achegar ó seguinte", + "Zoom to the previous": "Achegar ó anterior", + "Zoom to this feature": "Achegar a este elemento", + "Zoom to this place": "Achegar a este lugar", + "attribution": "atribución", + "by": "por", + "display name": "amosar o nome", + "height": "altura", + "licence": "licenza", + "max East": "máximo Leste", + "max North": "máximo Norte", + "max South": "máximo Sul", + "max West": "máximo Oeste", + "max zoom": "achegamento máximo", + "min zoom": "achegamento mínimo", + "next": "seguinte", + "previous": "anterior", + "width": "ancho", + "{count} errors during import: {message}": "{count} erros durante a importación: {message}", + "Measure distances": "Medir distancias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "millas", + "nautical miles": "millas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} id²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} millas", + "{distance} yd": "{distance} id", + "1 day": "1 día", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Solicitude de proxy da caché", + "No cache": "Sen caché", + "Popup": "Xanela emerxente", + "Popup (large)": "Xanela emerxente (grande)", + "Popup content style": "Estilo do contido da xanela emerxente", + "Popup shape": "Forma da xanela emerxente", + "Skipping unknown geometry.type: {type}": "Brincando tipo descoñecido geometry.type: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Pega os teus datos aquí", + "Please save the map first": "Por favor garda o mapa primeiro", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("gl", locale); +L.setLocale("gl"); \ No newline at end of file diff --git a/umap/static/umap/locale/gl.json b/umap/static/umap/locale/gl.json new file mode 100644 index 00000000..08de0aa3 --- /dev/null +++ b/umap/static/umap/locale/gl.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Engade unha icona", + "Allow scroll wheel zoom?": "Permitir o achegamento ca roda do rato?", + "Automatic": "Automático", + "Ball": "Bóla", + "Cancel": "Desbotar", + "Caption": "Subtítulo", + "Change symbol": "Mudar a icona", + "Choose the data format": "Escoller o formato de datos", + "Choose the layer of the feature": "Escoller a capa do elemento", + "Circle": "Círculo", + "Clustered": "Agrupados", + "Data browser": "Procurador de datos", + "Default": "Por defecto", + "Default zoom level": "Nivel do achegamento predeterminado", + "Default: name": "Por defecto: nome", + "Display label": "Amosar etiqueta", + "Display the control to open OpenStreetMap editor": "Amosar o control para abrir o editor do OpenStreetMap", + "Display the data layers control": "Amosar o control da capa de datos", + "Display the embed control": "Amosar o control de incrustado", + "Display the fullscreen control": "Amosar o control de pantalla completa", + "Display the locate control": "Amosar o control de ubicación", + "Display the measure control": "Amosar o control de medida", + "Display the search control": "Amosar o control de procura", + "Display the tile layers control": "Amosar o control de capas de teselas", + "Display the zoom control": "Amosar o control de achegamento", + "Do you want to display a caption bar?": "Desexas amosar a barra de subtítulos?", + "Do you want to display a minimap?": "Desexas amosar un minimapa?", + "Do you want to display a panel on load?": "Desexas amosar un panel ó cargar?", + "Do you want to display popup footer?": "Desexas amosar a xanela emerxente no pé de páxina?", + "Do you want to display the scale control?": "Desexas amosar o control de escala?", + "Do you want to display the «more» control?": "Desexas amosar o control «máis»?", + "Drop": "Marcaxe", + "GeoRSS (only link)": "GeoRSS (só ligazón)", + "GeoRSS (title + image)": "GeoRSS (título + imaxe)", + "Heatmap": "Mapa de calor", + "Icon shape": "Forma da icona", + "Icon symbol": "Símbolo da icona", + "Inherit": "Herdar", + "Label direction": "Dirección da etiqueta", + "Label key": "Etiqueta da clave", + "Labels are clickable": "Labels are clickable", + "None": "Ningún", + "On the bottom": "Na parte de embaixo", + "On the left": "Á esquerda", + "On the right": "Á dereita", + "On the top": "Na parte de enriba", + "Popup content template": "Padrón do contido da xanela emerxente", + "Set symbol": "Estabelecer icona", + "Side panel": "Lapela lateral", + "Simplify": "Simplificar", + "Symbol or url": "Icona ou URL", + "Table": "Táboa", + "always": "sempre", + "clear": "limpar", + "collapsed": "agochado", + "color": "cor", + "dash array": "matriz de guións", + "define": "define", + "description": "descrición", + "expanded": "expandido", + "fill": "rechear", + "fill color": "cor de recheo", + "fill opacity": "rechear a opacidade", + "hidden": "agochar", + "iframe": "iframe", + "inherit": "herdar", + "name": "nome", + "never": "nunca", + "new window": "nova xanela", + "no": "non", + "on hover": "ó pasar o rato por riba", + "opacity": "opacidade", + "parent window": "xanela pai ou principal", + "stroke": "trazo", + "weight": "peso", + "yes": "si", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# un cancelo para a cabeceira principal", + "## two hashes for second heading": "## dous cancelos para a cabeceira secundaria", + "### three hashes for third heading": "### tres cancelos para a cabeceira terciaria", + "**double star for bold**": "**dous asteriscos para pór negriña**", + "*simple star for italic*": "*un asterisco para pór cursiva*", + "--- for an horizontal rule": "--- para pór unha liña horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Unha listaxe separada por vírgulas que define o patrón de trazos de guión. Ex.: \"5, 10, 15\".", + "About": "Acerca de", + "Action not allowed :(": "Acción non permitida :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Engadir unha capa", + "Add a line to the current multi": "Engadir unha liña para o multi actual", + "Add a new property": "Engadir unha nova propiedade", + "Add a polygon to the current multi": "Enhadir un polígono para o multi actual", + "Advanced actions": "Accións avanzadas", + "Advanced properties": "Propiedades avanzadas", + "Advanced transition": "Transición avanzada", + "All properties are imported.": "Tódalas propiedades son importadas.", + "Allow interactions": "Permitir interaccións", + "An error occured": "Ocorreu un erro", + "Are you sure you want to cancel your changes?": "Estás na certeza de que desexas desbotar as túas mudanzas?", + "Are you sure you want to clone this map and all its datalayers?": "Estás na certeza de que desexas clonar este mapa e tódalas súas capas de datos?", + "Are you sure you want to delete the feature?": "Estás na certeza de que desexas eliminar este elemento?", + "Are you sure you want to delete this layer?": "Estás na certeza de que desexas eliminar esta capa?", + "Are you sure you want to delete this map?": "Estás na certeza de que desexas eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Estás na certeza de que desexas eliminar esta propiedade en tódolos elementos?", + "Are you sure you want to restore this version?": "Estás na certeza de que desexas restabelecer esta versión?", + "Attach the map to my account": "Adxuntar o mapa á miña conta", + "Auto": "Automático", + "Autostart when map is loaded": "Autocomezar cando o mapa estea cargado", + "Bring feature to center": "Levar o elemento ó centro", + "Browse data": "Navegar polos datos", + "Cancel edits": "Desbotar as edicións", + "Center map on your location": "Centrar o mapa na túa ubicación", + "Change map background": "Mudar o mapa do fondo", + "Change tilelayers": "Mudar as capas de teselas", + "Choose a preset": "Escoller un predefinido", + "Choose the format of the data to import": "Escoller o formato dos datos a importar", + "Choose the layer to import in": "Escoller a capa á que se importa", + "Click last point to finish shape": "Preme no derradeiro punto para rematar a forma", + "Click to add a marker": "Preme para engadir unha marcaxe", + "Click to continue drawing": "Preme para seguir debuxando", + "Click to edit": "Preme para editar", + "Click to start drawing a line": "Preme para comezar a debuxar unha liña", + "Click to start drawing a polygon": "Preme para comezar a debuxar un polígono", + "Clone": "Clonar", + "Clone of {name}": "Clonado de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Pechar", + "Clustering radius": "Raio de agrupamento", + "Comma separated list of properties to use when filtering features": "Listaxe de propiedades separado por comas para empregar a filtraxe de elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Liña continua", + "Continue line (Ctrl+Click)": "Liña continua (Ctrl+Clic)", + "Coordinates": "Coordenadas", + "Credits": "Cretos", + "Current view instead of default map view?": "Vista actual en troques da vista predeterminada?", + "Custom background": "Fondo persoalizado", + "Data is browsable": "Os datos son navegábeis", + "Default interaction options": "Opcións de interacción predeterminados", + "Default properties": "Propiedades predeterminadas", + "Default shape properties": "Propiedades de formas predeterminados", + "Define link to open in a new window on polygon click.": "Defina unha ligazón para abrir nunha nova xanela ó premer no polígono.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Eliminar", + "Delete all layers": "Eliminar tódalas capas", + "Delete layer": "Eliminar capa", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propiedade en tódolos elementos", + "Delete this shape": "Eliminar esta forma", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)", + "Directions from here": "Direccións dende aquí", + "Disable editing": "Desabilitar a edición", + "Display measure": "Amosar medida", + "Display on load": "Amosar ó cargar", + "Download": "Baixar", + "Download data": "Baixar datos", + "Drag to reorder": "Arrastrar para reordenar", + "Draw a line": "Debuxa unha liña", + "Draw a marker": "Debuxa unha marcaxe", + "Draw a polygon": "Debuxa un polígono", + "Draw a polyline": "Debuxa unha liña múltiple", + "Dynamic": "Dinámico", + "Dynamic properties": "Propiedades dinámicas", + "Edit": "Editar", + "Edit feature's layer": "Editar a capa do elemento", + "Edit map properties": "Editar as propiedades do mapa", + "Edit map settings": "Editar axustes do mapa", + "Edit properties in a table": "Editar propiedades nunha táboa", + "Edit this feature": "Editar este elemento", + "Editing": "Editando", + "Embed and share this map": "Incorporar e compartir este mapa", + "Embed the map": "Incorporar o mapa", + "Empty": "Baleirar", + "Enable editing": "Activar a edición", + "Error in the tilelayer URL": "Erro na URL da capa de teselas", + "Error while fetching {url}": "Erro ó recuperar {url}", + "Exit Fullscreen": "Saír da pantalla completa", + "Extract shape to separate feature": "Extraer a forma ó elemento separado", + "Fetch data each time map view changes.": "Obter os datos cada vez que a vista do mapa muda.", + "Filter keys": "Claves de filtrado", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Dende o achegamento", + "Full map data": "Mapa completo de datos", + "Go to «{feature}»": "Ir cara «{feature}»", + "Heatmap intensity property": "Propiedade intensidade do mapa de calor", + "Heatmap radius": "Raio do mapa de calor", + "Help": "Axuda", + "Hide controls": "Agochar os controis", + "Home": "Inicio", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Canto se simplificará a polilínea en cada nivel de achegamento (máis = mellor comportamento e aparencia máis feble, menos = máis preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se é falso, o polígono actuará coma un anaco do mapa subxacente.", + "Iframe export options": "Opcións de exportación do 'iframe'", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura persoalizada (en píxeles): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto e ancho (en px) persoalizado: {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imaxe con anchura persoalizada (en píxeles): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Imaxe: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar datos", + "Import in a new layer": "Importar nunha nova capa", + "Imports all umap data, including layers and settings.": "Importar tódolos datos do umap, incluíndo capas e axustes.", + "Include full screen link?": "Engadir a ligazón de pantalla completa?", + "Interaction options": "Opcións de interacción", + "Invalid umap data": "Dato umap non válido", + "Invalid umap data in {filename}": "Dato umap non válido en {filename}", + "Keep current visible layers": "Gardar capas visíbeis actuais", + "Latitude": "Latitude", + "Layer": "Capa", + "Layer properties": "Propiedades da capa", + "Licence": "Licenza", + "Limit bounds": "Limitar os límites", + "Link to…": "Ligazón cara...", + "Link with text: [[http://example.com|text of the link]]": "Ligazón con texto: [[http://example.com|text of the link]]", + "Long credits": "Cretos longos", + "Longitude": "Lonxitude", + "Make main shape": "Facer a forma principal", + "Manage layers": "Xestionar capas", + "Map background credits": "Cretos do mapa de fondo", + "Map has been attached to your account": "O mapa adxuntouse á súa conta", + "Map has been saved!": "Gardouse o mapa!", + "Map user content has been published under licence": "O contido do mapa do usuario foi publicado baixo a licenza", + "Map's editors": "Editores do mapa", + "Map's owner": "Dono do mapa", + "Merge lines": "Combinar liñas", + "More controls": "Máis controis", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Ten que ser un valor CSS válido (por ex.: DarkBlue ou #123456)", + "No licence has been set": "Ningunha licenza foi estabelecida", + "No results": "Sen resultados", + "Only visible features will be downloaded.": "Só os elementos visíbeis baixaranse.", + "Open download panel": "Abrir a lapela de descarga", + "Open link in…": "Abrir ligazón en...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abre a extensión deste mapa nun editor de mapas para fornecer datos máis precisos ó OpenStreetMap", + "Optional intensity property for heatmap": "Propiedade de intensidade opcional para o mapa de calor", + "Optional. Same as color if not set.": "Opcional. A mesma cor se non se estabelece.", + "Override clustering radius (default 80)": "Sobrescribir o raio de agrupamento (predeterminado 80)", + "Override heatmap radius (default 25)": "Sobreescribir o raio do mapa de calor (predeterminado 25)", + "Please be sure the licence is compliant with your use.": "Coide de que a licenza sexa compatíbel co emprego que lle vai a dár.", + "Please choose a format": "Escolle un formato", + "Please enter the name of the property": "Insira o nome da propiedade", + "Please enter the new name of this property": "Insira o novo nome desta propiedade", + "Powered by Leaflet and Django, glued by uMap project.": "Fornecido polo Leaflet e o Django, colado polo proxecto uMap.", + "Problem in the response": "Problema na resposta", + "Problem in the response format": "Problema co formato de resposta", + "Properties imported:": "Propiedades importadas:", + "Property to use for sorting features": "Propiedade para ordenar os elementos", + "Provide an URL here": "Forneza unha URL aquí", + "Proxy request": "Petición a proxy", + "Remote data": "Datos remotos", + "Remove shape from the multi": "Eliminar a forma do 'multi'", + "Rename this property on all the features": "Renomear esta propiedade en tódolos elementos", + "Replace layer content": "Substitúe o contido da capa", + "Restore this version": "Restabelecer esta versión", + "Save": "Gardar", + "Save anyway": "Gardar de todos xeitos", + "Save current edits": "Gardar as edicións actuais", + "Save this center and zoom": "Gardar este centrado e achegamento", + "Save this location as new feature": "Gardar esta ubicación coma novo elemento", + "Search a place name": "Procurar o nome dun lugar", + "Search location": "Procurar localización", + "Secret edit link is:
    {link}": "A ligazón secreta de edición é:
    {link}", + "See all": "Ollar todo", + "See data layers": "Ollar capas de datos", + "See full screen": "Ollar pantalla completa", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Axústeo a falso para agochar esta capa da presentación ('slideshow'), o navegador de datos, a navegación da xanela emerxente...", + "Shape properties": "Propiedades da forma", + "Short URL": "URL curta", + "Short credits": "Cretos curtos", + "Show/hide layer": "Amosar/agochar capa", + "Simple link: [[http://example.com]]": "Ligazón sinxela: [[http://example.com]]", + "Slideshow": "Presentación", + "Smart transitions": "Transicións intelixentes", + "Sort key": "Orde da clave", + "Split line": "Liña de división", + "Start a hole here": "Comezar un burato aquí", + "Start editing": "Comezar a editar", + "Start slideshow": "Comezar presentación", + "Stop editing": "Deter a edición", + "Stop slideshow": "Deter a presentación", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variábeis suportadas que serán substituídas de xeito dinámico", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser un carácter 'unicode' ou unha URL. Pode empregar as propiedades do elemento coma variábeis: ex.: \"http://myserver.org/images/{name}.png\", a variábel {name} será substituída polo valor \"name\" de cada marcaxe.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta clúster", + "Text formatting": "Formato do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propiedade a empregar coma etiqueta do elemento (ex.: «nom»)", + "The zoom and center have been setted.": "O achegamento e o centrado foron estabelecidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para empregar se o servidor remoto non permite dominios cruzados (máis amodo)", + "To zoom": "Para o achegamento", + "Toggle edit mode (Shift+Click)": "Alterna o modo edición (Shift+Clic)", + "Transfer shape to edited feature": "Transferir a forma ó elemento editada", + "Transform to lines": "Transformar a liñas", + "Transform to polygon": "Transformar a polígono", + "Type of layer": "Tipo de capa", + "Unable to detect format of file {filename}": "Non se pode detectar o formato de ficheiro {filename}", + "Untitled layer": "Capa sen título", + "Untitled map": "Mapa sen título", + "Update permissions": "Actualizar permisos", + "Update permissions and editors": "Actualizar permisos e editores", + "Url": "Url", + "Use current bounds": "Empregar os límites actuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Empregar marcaxes de posición con propiedades do elemento entre paréntesis, exemplo {name}, serán substituídos de xeito dinámico polos valores correspondentes.", + "User content credits": "Cretos do contido do usuario", + "User interface options": "Opcións da interface de usuario", + "Versions": "Versións", + "View Fullscreen": "Ollar en pantalla completa", + "Where do we go from here?": "Onde vamos a partir daquí?", + "Whether to display or not polygons paths.": "Se desexas amosar ou non as rutas dos polígonos.", + "Whether to fill polygons with color.": "Se desexas rechear os polígonos con cor.", + "Who can edit": "Quen pode editar", + "Who can view": "Quen pode ollar", + "Will be displayed in the bottom right corner of the map": "Amosarase na esquina inferior esquerda do mapa", + "Will be visible in the caption of the map": "Será visíbel no subtítulo do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Vaites! Alguén semella que editou os datos. Podes gardar de todos xeitos, pero isto vai eliminar as mudanzas feitas por outros.", + "You have unsaved changes.": "Ten mudanzas non gardadas.", + "Zoom in": "Achegar", + "Zoom level for automatic zooms": "Nivel de achegamento para achegamentos automáticos", + "Zoom out": "Afastar", + "Zoom to layer extent": "Achegar ó nivel da capa", + "Zoom to the next": "Achegar ó seguinte", + "Zoom to the previous": "Achegar ó anterior", + "Zoom to this feature": "Achegar a este elemento", + "Zoom to this place": "Achegar a este lugar", + "attribution": "atribución", + "by": "por", + "display name": "amosar o nome", + "height": "altura", + "licence": "licenza", + "max East": "máximo Leste", + "max North": "máximo Norte", + "max South": "máximo Sul", + "max West": "máximo Oeste", + "max zoom": "achegamento máximo", + "min zoom": "achegamento mínimo", + "next": "seguinte", + "previous": "anterior", + "width": "ancho", + "{count} errors during import: {message}": "{count} erros durante a importación: {message}", + "Measure distances": "Medir distancias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "millas", + "nautical miles": "millas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} id²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} millas", + "{distance} yd": "{distance} id", + "1 day": "1 día", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Solicitude de proxy da caché", + "No cache": "Sen caché", + "Popup": "Xanela emerxente", + "Popup (large)": "Xanela emerxente (grande)", + "Popup content style": "Estilo do contido da xanela emerxente", + "Popup shape": "Forma da xanela emerxente", + "Skipping unknown geometry.type: {type}": "Brincando tipo descoñecido geometry.type: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Pega os teus datos aquí", + "Please save the map first": "Por favor garda o mapa primeiro", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/he.js b/umap/static/umap/locale/he.js new file mode 100644 index 00000000..37e77095 --- /dev/null +++ b/umap/static/umap/locale/he.js @@ -0,0 +1,377 @@ +var locale = { + "Add symbol": "הוספת סימן", + "Allow scroll wheel zoom?": "לאפשר תקריב עם גלגלת העכבר?", + "Automatic": "אוטומטי", + "Ball": "כדור", + "Cancel": "ביטול", + "Caption": "כותרת", + "Change symbol": "החלפת סימן", + "Choose the data format": "נא לבחור את מבנה הנתונים", + "Choose the layer of the feature": "נא לבחור את שכבת התכונה", + "Circle": "עיגול", + "Clustered": "בקבוצה", + "Data browser": "דפדפן נתונים", + "Default": "בררת מחדל", + "Default zoom level": "רמת תקריב כבררת מחדל", + "Default: name": "בררת מחדל: שם", + "Display label": "הצגת תווית", + "Display the control to open OpenStreetMap editor": "יש להציג את הפקד לפתיחת העורך של OpenStreetMap", + "Display the data layers control": "הצגת פקד שכבות הנתונים", + "Display the embed control": "הצגת פקד ההטמעה", + "Display the fullscreen control": "הצגת פקד מסך מלא", + "Display the locate control": "הצגת פקד האיתור", + "Display the measure control": "הצגת פקד המדידה", + "Display the search control": "הצגת פקד החיפוש", + "Display the tile layers control": "הצגת פקד שכבת האריחים", + "Display the zoom control": "הצגת פקד התקריב", + "Do you want to display a caption bar?": "להציג פס כותרת?", + "Do you want to display a minimap?": "להציג מפה ממוזערת?", + "Do you want to display a panel on load?": "להציג לוח צד בטעינה?", + "Do you want to display popup footer?": "להציג כותרת תחתונה קופצת?", + "Do you want to display the scale control?": "להציג את פקד קנה המידה?", + "Do you want to display the «more» control?": "להציג את הפקד „עוד”?", + "Drop": "נעץ", + "GeoRSS (only link)": "GeoRSS (קישור בלבד)", + "GeoRSS (title + image)": "GeoRSS (כותרת + תמונה)", + "Heatmap": "מפת חום", + "Icon shape": "צורת סמל", + "Icon symbol": "סמן סמל", + "Inherit": "ירושה", + "Label direction": "כיוון התווית", + "Label key": "מפתח תווית", + "Labels are clickable": "התוויות זמינות ללחיצה", + "None": "ללא", + "On the bottom": "בתחתית", + "On the left": "משמאל", + "On the right": "מימין", + "On the top": "מלמעלה", + "Popup content template": "תבנית תוכן מוקפצת", + "Set symbol": "הגדרת סמן", + "Side panel": "לוח צד", + "Simplify": "פישוט", + "Symbol or url": "סמן או כתובת", + "Table": "טבלה", + "always": "תמיד", + "clear": "למחוק", + "collapsed": "מצומצם", + "color": "צבע", + "dash array": "סדרה של מקפים", + "define": "הגדרה", + "description": "תיאור", + "expanded": "מורחב", + "fill": "מילוי", + "fill color": "צבע מילוי", + "fill opacity": "אטימות מילוי", + "hidden": "מוסתר", + "iframe": "מסגרת פנימית", + "inherit": "ירושה", + "name": "שם", + "never": "מעולם לא", + "new window": "חלון חדש", + "no": "לא", + "on hover": "בריחוף מעל", + "opacity": "אטימות", + "parent window": "חלון הורה", + "stroke": "לוכסן", + "weight": "משקל", + "yes": "כן", + "{delay} seconds": "{delay} שניות", + "# one hash for main heading": "# סולמית אחת לכותרת ראשית", + "## two hashes for second heading": "## שתי סולמיות לכותרת מסדר שני", + "### three hashes for third heading": "### שלוש סולמיות לכותרת מסדר שלישי", + "**double star for bold**": "**כוכבית כפולה להדגשה**", + "*simple star for italic*": "*כוכבית בודדת לכתב נטוי*", + "--- for an horizontal rule": "--- לקו חוצה", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "רשימה מופרדת בפסיקים של מספרים שמגדירים את תבנית הלוכסנים והמקפים. למשל: „5, 10, 15”.", + "About": "על אודות", + "Action not allowed :(": "הפעולה אסורה :(", + "Activate slideshow mode": "הפעלת מצב מצגת", + "Add a layer": "הוספת שכבה", + "Add a line to the current multi": "הוספת קו לרב המצולעים הנוכחי", + "Add a new property": "הוספת מאפיין חדש", + "Add a polygon to the current multi": "הוספת מצולע לרב המצולעים הנוכחי", + "Advanced actions": "פעולות מתקדמות", + "Advanced properties": "מאפיינים מתקדמים", + "Advanced transition": "התמרה מתקדמת", + "All properties are imported.": "כל המאפיינים ייובאו.", + "Allow interactions": "לאפשר אינטראקציות", + "An error occured": "אירעה שגיאה", + "Are you sure you want to cancel your changes?": "לבטל את השינויים שלך?", + "Are you sure you want to clone this map and all its datalayers?": "לשכפל את המפה הזאת ואת כל שכבות הנתונים שלה?", + "Are you sure you want to delete the feature?": "למחוק את התכונה הזו?", + "Are you sure you want to delete this layer?": "למחוק את השכבה הזו?", + "Are you sure you want to delete this map?": "למחוק את המפה הזו?", + "Are you sure you want to delete this property on all the features?": "למחוק את המאפיין הזה מכל התכונות?", + "Are you sure you want to restore this version?": "לשחזר את הגרסה הזו?", + "Attach the map to my account": "הצמדת מפה לחשבון שלי", + "Auto": "אוטומטית", + "Autostart when map is loaded": "להתחיל אוטומטית עם טעינת המפה", + "Bring feature to center": "הבאת התכונה למרכז", + "Browse data": "עיון בנתונים", + "Cancel edits": "ביטול עריכות", + "Center map on your location": "מרכוז המפה על המיקום שלך", + "Change map background": "החלפת רקע המפה", + "Change tilelayers": "החלפת שכבות אריחים", + "Choose a preset": "נא לבחור ערכה", + "Choose the format of the data to import": "נא לבחור את תצורת הנתונים לייבוא", + "Choose the layer to import in": "נא לבחור את השכבה אליה יתבצע הייבוא", + "Click last point to finish shape": "יש ללחוץ על הנקודה האחרונה כדי לסיים את הצורה", + "Click to add a marker": "יש ללחוץ כדי להוסיף סמן", + "Click to continue drawing": "יש ללחוץ כדי להמשיך בציור", + "Click to edit": "יש ללחוץ כדי לערוך", + "Click to start drawing a line": "יש ללחוץ כדי להתחיל לצייר קו", + "Click to start drawing a polygon": "יש ללחוץ כדי להתחיל לצייר מצולע", + "Clone": "שכפול", + "Clone of {name}": "שכפול של {name}", + "Clone this feature": "שכפול התכונה הזו", + "Clone this map": "שכפול המפה הזו", + "Close": "סגירה", + "Clustering radius": "רדיוס קיבוץ", + "Comma separated list of properties to use when filtering features": "רשימת מאפיינים מופרדת בפסיקים לשימוש בעת סינון תכונות", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "ערכים מופרדים בפסיקים, טאבים או נקודה פסיק. עם רמיזה ל־SRS WGS84. רק גואמטריית נקודות מייובאת. הייבוא יסתכל על כותרות העמודות לאיתור אזכורים של „lat” (קו רוחב) ו־„lon” (קו אורך) בתחילת הכותרת, לא משנה אותיות קטנות/גדולות. כל שאר העמודות ייובאו כמאפיינים.", + "Continue line": "להמשיך את הקו", + "Continue line (Ctrl+Click)": "להמשיך את הקו ‪(Ctrl+לחיצה)", + "Coordinates": "נקודות ציון", + "Credits": "תודות", + "Current view instead of default map view?": "התצוגה הנוכחית במקום תצוגת בררת המחדל של המפה?", + "Custom background": "רקע בהתאמה אישית", + "Data is browsable": "הנתונים זמינים לעיון", + "Default interaction options": "אפשרויות אינטראקציה כבררת מחדל", + "Default properties": "מאפיינים כבררת מחדל", + "Default shape properties": "מאפייני צורה כבררת מחדל", + "Define link to open in a new window on polygon click.": "יש להגדיר קישור לפתיחה בחלון חדש עם לחיצה על מצולע.", + "Delay between two transitions when in play mode": "השהיה בין שתי העברות כשמדובר במצב משחק", + "Delete": "מחיקה", + "Delete all layers": "מחיקת כל השכבות", + "Delete layer": "מחיקת שכבה", + "Delete this feature": "מחיקת התכונה הזו", + "Delete this property on all the features": "מחיקת המאפיין הזה מכל התכונות", + "Delete this shape": "מחיקת הצורה הזו", + "Delete this vertex (Alt+Click)": "מחיקת הקודקוד הזה ‪(Alt+לחיצה)", + "Directions from here": "הכוונה מכאן", + "Disable editing": "השבתת עריכה", + "Display measure": "הצגת מדידה", + "Display on load": "הצגה עם הטעינה", + "Download": "הורדה", + "Download data": "נתונים שהתקבלו", + "Drag to reorder": "יש לגרור כדי לסדר מחדש", + "Draw a line": "ציור קו", + "Draw a marker": "ציור סמן", + "Draw a polygon": "ציור מצולע", + "Draw a polyline": "ציור קו שבור", + "Dynamic": "דינמי", + "Dynamic properties": "מאפיינים דינמיים", + "Edit": "עריכה", + "Edit feature's layer": "עריכת שכבת התכונה", + "Edit map properties": "עריכת מאפייני מפה", + "Edit map settings": "עריכת הגדרות מפה", + "Edit properties in a table": "עריכת מאפיינים בטבלה", + "Edit this feature": "עריכת תכונה זו", + "Editing": "במצב עריכה", + "Embed and share this map": "הטמעה ושיתוף מפה זו", + "Embed the map": "הטמעת המפה", + "Empty": "לרוקן", + "Enable editing": "הפעלת עריכה", + "Error in the tilelayer URL": "שגיאה בכתובת שכבת האריחים", + "Error while fetching {url}": "שגיאה בקבלת {url}", + "Exit Fullscreen": "יציאה ממסך מלא", + "Extract shape to separate feature": "יש לחלץ צורה כדי להפריד תכונה", + "Fetch data each time map view changes.": "לקבל נתונים בכל פעם שתצוגת המפה משתנה.", + "Filter keys": "סינון מפתחות", + "Filter…": "מסנן…", + "Format": "תצורה", + "From zoom": "מרמת תקריב", + "Full map data": "נתוני מפה מלאים", + "Go to «{feature}»": "מעבר אל «{feature}»", + "Heatmap intensity property": "מאפיין עצמת מפת חום", + "Heatmap radius": "רדיוס מפת חום", + "Help": "עזרה", + "Hide controls": "הסתרת פקדים", + "Home": "בית", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "כמה לפשט את הקו השבור בכל רמת תקריב (יותר = ביצועים משופרים ומראה חלק יותר, פחות = דיוק גבוה יותר)", + "If false, the polygon will act as a part of the underlying map.": "אם שקר, המצולע יתנהג כחלק מהמפה שמתחת.", + "Iframe export options": "אפשרויות ייצוא מסגרת פנימית", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "מסגרת פנימית עם גובה מותאם (בפיקסלים): {{{http://iframe.url.com|גובה}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "מסגרת פנימית עם גובה ורוחב מותאמים (בפיקסלים): {{{http://iframe.url.com|גובה*רוחב}}}", + "Iframe: {{{http://iframe.url.com}}}": "מסגרת פנימית: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "תמונה עם רוחב מותאם (בפיקסלים): {{http://image.url.com|רוחב}}", + "Image: {{http://image.url.com}}": "תמונה: {{http://image.url.com}}", + "Import": "ייבוא", + "Import data": "ייבוא נתונים", + "Import in a new layer": "ייבוא לשכבה חדשה", + "Imports all umap data, including layers and settings.": "יבוצע ייבוא של כל הנתונים של umap לרבות שכבות והגדרות.", + "Include full screen link?": "לכלול קישור למסך מלא?", + "Interaction options": "אפשרויות אינטראקציה", + "Invalid umap data": "נתוני umap שגויים", + "Invalid umap data in {filename}": "נתוני umap שגויים בתוך {filename}", + "Keep current visible layers": "להשאיר את השכבות שגלויות כרגע", + "Latitude": "קו רוחב", + "Layer": "שכבה", + "Layer properties": "מאפייני שכבה", + "Licence": "רישיון", + "Limit bounds": "גבולות חוסמים", + "Link to…": "קישור אל…", + "Link with text: [[http://example.com|text of the link]]": "קישור עם טקסט: [[http://example.com|הטקסט של הקישור]]", + "Long credits": "תודות ארוכות", + "Longitude": "קו אורך", + "Make main shape": "להפוך לצורה עיקרית", + "Manage layers": "ניהול שכבות", + "Map background credits": "תודות על רקע המפה", + "Map has been attached to your account": "המפה הוצמדה לחשבון שלך", + "Map has been saved!": "המפה נשמרה!", + "Map user content has been published under licence": "תוכן המשתמש של המפה פורסם תחת רישיון", + "Map's editors": "עורכי המפה", + "Map's owner": "בעלי המפה", + "Merge lines": "מיזוג קווים", + "More controls": "פקדים נוספים", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "חייב להיות ערך CSS תקני (למשל: DarkBlue או #123456)", + "No licence has been set": "לא הוגדר רישיון", + "No results": "אין תוצאות", + "Only visible features will be downloaded.": "רק תכונות גלויות תתקבלנה.", + "Open download panel": "פתיחת לוח הורדות", + "Open link in…": "פתיחת קישור עם…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "פתיחת היקף מפה זו בעורך מפות כדי לספק נתונים מדויקים יותר ל־OpenStreetMap", + "Optional intensity property for heatmap": "מאפיין עצמה כרשות למפת חום", + "Optional. Same as color if not set.": "רשות. כנ״ל לגבי צבע אם לא הוגדר.", + "Override clustering radius (default 80)": "דריסת רדיוס הקבוצה (בררת המחדל היא 80)", + "Override heatmap radius (default 25)": "דריסת רדיוס מפת החום (בררת המחדל היא 25)", + "Please be sure the licence is compliant with your use.": "נא לוודא שהרישיון תואם לשימוש שלך.", + "Please choose a format": "נא לבחור תבנית", + "Please enter the name of the property": "נא למלא את שם המאפיין", + "Please enter the new name of this property": "נא למלא את השם החדש של המאפיין הזה", + "Powered by Leaflet and Django, glued by uMap project.": "מופעל על גבי Leaflet ו־Django, חוברו להם יחדיו על ידי מיזם uMap.", + "Problem in the response": "בעיה בתגובה", + "Problem in the response format": "בעיה במבנה התגובה", + "Properties imported:": "יובאו מאפיינים:", + "Property to use for sorting features": "מאפיין להשתמש עבור תכונות סידור", + "Provide an URL here": "נא לספק כאן כתובת", + "Proxy request": "בקשת מתווך", + "Remote data": "נתונים מרוחקים", + "Remove shape from the multi": "הסרת צורת מרב מצולעים", + "Rename this property on all the features": "לשנות את המאפיין הזה בכל התכונות", + "Replace layer content": "החלפת תוכן השכבה", + "Restore this version": "שחזור הגרסה הזו", + "Save": "לשמור", + "Save anyway": "לשמור בכל זאת", + "Save current edits": "לשמור את העריכות הנוכחיות", + "Save this center and zoom": "לשמור את המרכז הזה ולהתקרב", + "Save this location as new feature": "לשמור את המיקום הזה כתכונה חדשה", + "Search a place name": "חיפוש שם מקום", + "Search location": "חיפוש מיקום", + "Secret edit link is:
    {link}": "קישור העריכה הסודי הוא:
    {link}", + "See all": "להציג הכול", + "See data layers": "להציג שכבות נתונים", + "See full screen": "הצגת מסך מלא", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "יש להגדיר לשקר כדי להסתיר את השכבה הזאת מהמצגת, דפדפן הנתונים, הניווט המוקפץ…", + "Shape properties": "מאפייני צורה", + "Short URL": "כתובת מקוצרת", + "Short credits": "תודות מקוצרות", + "Show/hide layer": "הצגת/הסתרת שכבה", + "Simple link: [[http://example.com]]": "קישור פשוט: [[http://example.com]]", + "Slideshow": "מצגת", + "Smart transitions": "מעברונים חכמים", + "Sort key": "מפתח סידור", + "Split line": "פיצול קו", + "Start a hole here": "להתחיל חור מכאן", + "Start editing": "התחלת עריכה", + "Start slideshow": "התחלת מצגת", + "Stop editing": "הפסקת עריכה", + "Stop slideshow": "הפסקת מצגת", + "Supported scheme": "סכמה נתמכת", + "Supported variables that will be dynamically replaced": "משתנים נתמכים שיוחלפו באופן דינמי", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "סמן יכול להיות תו יוניקוד או כתובת. ניתן להשתמש בתכונות מאפיינים כמשתנים, למשל: עם „‎http://myserver.org/images/{name}.png‎” המשתנה {name} יוחלף בערך של „name” בכל אחד מהסמנים.", + "TMS format": "מבנה TMS", + "Text color for the cluster label": "צבע טקסט לתווית הקבוצה", + "Text formatting": "עיצוב טקסט", + "The name of the property to use as feature label (ex.: \"nom\")": "שם המאפיין לשימוש כתווית תכונה (למשל: „nom”)", + "The zoom and center have been setted.": "התקריב והמרכז הוגדרו.", + "To use if remote server doesn't allow cross domain (slower)": "יש להשתמש אם השרת המרוחק לא מאפשר קישור בין שמות תחומים (Cross Origin - אטי יותר)", + "To zoom": "לתקריב", + "Toggle edit mode (Shift+Click)": "החלפת מצב עריכה ‪(Shift+לחיצה)", + "Transfer shape to edited feature": "המרת צורה לתכונה לעריכה", + "Transform to lines": "המרה לקווים", + "Transform to polygon": "המרה למצולע", + "Type of layer": "סוג שכבה", + "Unable to detect format of file {filename}": "לא ניתן לזהות את מבנה הקובץ {filename}", + "Untitled layer": "שכבה ללא שם", + "Untitled map": "מפה ללא שם", + "Update permissions": "עדכון הרשאות", + "Update permissions and editors": "עדכון הרשאות ועורכים", + "Url": "כתובת", + "Use current bounds": "להשתמש בגבולות הנוכחיים", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "ניתן להשתמש בממלאי מקום למאפייני תכונות בתוך סוגריים, למשל: {name}, הם יוחלפו דינמית בערכים המתאימים.", + "User content credits": "תודות על תוכן המשתמש", + "User interface options": "אפשרויות מנשק משתמש", + "Versions": "גרסאות", + "View Fullscreen": "הצגה במסך מלא", + "Where do we go from here?": "לאן מתקדמים מכאן?", + "Whether to display or not polygons paths.": "האם להציג נתיבי מצולעים או לא.", + "Whether to fill polygons with color.": "האם למלא מצולעים בצבע.", + "Who can edit": "למי יש אפשרות לערוך", + "Who can view": "למי יש אפשרות לצפות", + "Will be displayed in the bottom right corner of the map": "יוצג בפינה הימנית התחתונה של המפה", + "Will be visible in the caption of the map": "יופיע בכותרת המפה", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "אופסי! מישהו ערך את הנתונים שלך. עדיין ניתן לשמור אבל זה עשוי למחוק את השינויים שאחרים עשו.", + "You have unsaved changes.": "יש לך שינויים שלא נשמרו.", + "Zoom in": "התקרבות", + "Zoom level for automatic zooms": "רמת תקריב לתקריבים אוטומטיים", + "Zoom out": "התרחקות", + "Zoom to layer extent": "התמקדות על היקף השכבה", + "Zoom to the next": "התמקדות על הבא", + "Zoom to the previous": "התמקדות על הקודם", + "Zoom to this feature": "התמקדות על תכונה זו", + "Zoom to this place": "התמקדות על המקום הזה", + "attribution": "ייחוס", + "by": "מאת", + "display name": "שם תצוגה", + "height": "גובה", + "licence": "רישיון", + "max East": "מזרח מרבי", + "max North": "צפון מרבי", + "max South": "דרום מרבי", + "max West": "מערב מרבי", + "max zoom": "תקריב מרבי", + "min zoom": "תקריב מזערי", + "next": "הבא", + "previous": "הקודם", + "width": "רוחב", + "{count} errors during import: {message}": "{count} שגיאות במהלך הייבוא: {message}", + "Measure distances": "מדידת מרחקים", + "NM": "מיילים ימיים", + "kilometers": "קילומטרים", + "km": "ק״מ", + "mi": "מייל", + "miles": "מיילים", + "nautical miles": "מיילים ימיים", + "{area} acres": "{area} אקרים", + "{area} ha": "{area} הקטאר", + "{area} m²": "{area} מ׳²", + "{area} mi²": "{area} מיילים²", + "{area} yd²": "{area} יארדים²", + "{distance} NM": "{distance} מיילים ימיים", + "{distance} km": "{distance} ק״מ", + "{distance} m": "{distance} מ׳", + "{distance} miles": "{distance} מיילים", + "{distance} yd": "{distance} יארד", + "1 day": "יום", + "1 hour": "שעה", + "5 min": "5 דקות", + "Cache proxied request": "שמירת בקשות שעברו דרך המתווך במטמון", + "No cache": "אין מטמון", + "Popup": "חלונית מוקפצת", + "Popup (large)": "חלונית מוקפצת (גדולה)", + "Popup content style": "סגנון תוכן חלונית מוקפצת", + "Popup shape": "צורת חלונית מוקפצת", + "Skipping unknown geometry.type: {type}": "יתבצע דילוג על geometry.type לא ידוע: {type}", + "Optional.": "רשות.", + "Paste your data here": "נא להדביק את הנתונים שלך כאן", + "Please save the map first": "נא לשמור את המפה קודם", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} +; +L.registerLocale("he", locale); +L.setLocale("he"); \ No newline at end of file diff --git a/umap/static/umap/locale/he.json b/umap/static/umap/locale/he.json new file mode 100644 index 00000000..427c39e8 --- /dev/null +++ b/umap/static/umap/locale/he.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "הוספת סימן", + "Allow scroll wheel zoom?": "לאפשר תקריב עם גלגלת העכבר?", + "Automatic": "אוטומטי", + "Ball": "כדור", + "Cancel": "ביטול", + "Caption": "כותרת", + "Change symbol": "החלפת סימן", + "Choose the data format": "נא לבחור את מבנה הנתונים", + "Choose the layer of the feature": "נא לבחור את שכבת התכונה", + "Circle": "עיגול", + "Clustered": "בקבוצה", + "Data browser": "דפדפן נתונים", + "Default": "בררת מחדל", + "Default zoom level": "רמת תקריב כבררת מחדל", + "Default: name": "בררת מחדל: שם", + "Display label": "הצגת תווית", + "Display the control to open OpenStreetMap editor": "יש להציג את הפקד לפתיחת העורך של OpenStreetMap", + "Display the data layers control": "הצגת פקד שכבות הנתונים", + "Display the embed control": "הצגת פקד ההטמעה", + "Display the fullscreen control": "הצגת פקד מסך מלא", + "Display the locate control": "הצגת פקד האיתור", + "Display the measure control": "הצגת פקד המדידה", + "Display the search control": "הצגת פקד החיפוש", + "Display the tile layers control": "הצגת פקד שכבת האריחים", + "Display the zoom control": "הצגת פקד התקריב", + "Do you want to display a caption bar?": "להציג פס כותרת?", + "Do you want to display a minimap?": "להציג מפה ממוזערת?", + "Do you want to display a panel on load?": "להציג לוח צד בטעינה?", + "Do you want to display popup footer?": "להציג כותרת תחתונה קופצת?", + "Do you want to display the scale control?": "להציג את פקד קנה המידה?", + "Do you want to display the «more» control?": "להציג את הפקד „עוד”?", + "Drop": "נעץ", + "GeoRSS (only link)": "GeoRSS (קישור בלבד)", + "GeoRSS (title + image)": "GeoRSS (כותרת + תמונה)", + "Heatmap": "מפת חום", + "Icon shape": "צורת סמל", + "Icon symbol": "סמן סמל", + "Inherit": "ירושה", + "Label direction": "כיוון התווית", + "Label key": "מפתח תווית", + "Labels are clickable": "התוויות זמינות ללחיצה", + "None": "ללא", + "On the bottom": "בתחתית", + "On the left": "משמאל", + "On the right": "מימין", + "On the top": "מלמעלה", + "Popup content template": "תבנית תוכן מוקפצת", + "Set symbol": "הגדרת סמן", + "Side panel": "לוח צד", + "Simplify": "פישוט", + "Symbol or url": "סמן או כתובת", + "Table": "טבלה", + "always": "תמיד", + "clear": "למחוק", + "collapsed": "מצומצם", + "color": "צבע", + "dash array": "סדרה של מקפים", + "define": "הגדרה", + "description": "תיאור", + "expanded": "מורחב", + "fill": "מילוי", + "fill color": "צבע מילוי", + "fill opacity": "אטימות מילוי", + "hidden": "מוסתר", + "iframe": "מסגרת פנימית", + "inherit": "ירושה", + "name": "שם", + "never": "מעולם לא", + "new window": "חלון חדש", + "no": "לא", + "on hover": "בריחוף מעל", + "opacity": "אטימות", + "parent window": "חלון הורה", + "stroke": "לוכסן", + "weight": "משקל", + "yes": "כן", + "{delay} seconds": "{delay} שניות", + "# one hash for main heading": "# סולמית אחת לכותרת ראשית", + "## two hashes for second heading": "## שתי סולמיות לכותרת מסדר שני", + "### three hashes for third heading": "### שלוש סולמיות לכותרת מסדר שלישי", + "**double star for bold**": "**כוכבית כפולה להדגשה**", + "*simple star for italic*": "*כוכבית בודדת לכתב נטוי*", + "--- for an horizontal rule": "--- לקו חוצה", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "רשימה מופרדת בפסיקים של מספרים שמגדירים את תבנית הלוכסנים והמקפים. למשל: „5, 10, 15”.", + "About": "על אודות", + "Action not allowed :(": "הפעולה אסורה :(", + "Activate slideshow mode": "הפעלת מצב מצגת", + "Add a layer": "הוספת שכבה", + "Add a line to the current multi": "הוספת קו לרב המצולעים הנוכחי", + "Add a new property": "הוספת מאפיין חדש", + "Add a polygon to the current multi": "הוספת מצולע לרב המצולעים הנוכחי", + "Advanced actions": "פעולות מתקדמות", + "Advanced properties": "מאפיינים מתקדמים", + "Advanced transition": "התמרה מתקדמת", + "All properties are imported.": "כל המאפיינים ייובאו.", + "Allow interactions": "לאפשר אינטראקציות", + "An error occured": "אירעה שגיאה", + "Are you sure you want to cancel your changes?": "לבטל את השינויים שלך?", + "Are you sure you want to clone this map and all its datalayers?": "לשכפל את המפה הזאת ואת כל שכבות הנתונים שלה?", + "Are you sure you want to delete the feature?": "למחוק את התכונה הזו?", + "Are you sure you want to delete this layer?": "למחוק את השכבה הזו?", + "Are you sure you want to delete this map?": "למחוק את המפה הזו?", + "Are you sure you want to delete this property on all the features?": "למחוק את המאפיין הזה מכל התכונות?", + "Are you sure you want to restore this version?": "לשחזר את הגרסה הזו?", + "Attach the map to my account": "הצמדת מפה לחשבון שלי", + "Auto": "אוטומטית", + "Autostart when map is loaded": "להתחיל אוטומטית עם טעינת המפה", + "Bring feature to center": "הבאת התכונה למרכז", + "Browse data": "עיון בנתונים", + "Cancel edits": "ביטול עריכות", + "Center map on your location": "מרכוז המפה על המיקום שלך", + "Change map background": "החלפת רקע המפה", + "Change tilelayers": "החלפת שכבות אריחים", + "Choose a preset": "נא לבחור ערכה", + "Choose the format of the data to import": "נא לבחור את תצורת הנתונים לייבוא", + "Choose the layer to import in": "נא לבחור את השכבה אליה יתבצע הייבוא", + "Click last point to finish shape": "יש ללחוץ על הנקודה האחרונה כדי לסיים את הצורה", + "Click to add a marker": "יש ללחוץ כדי להוסיף סמן", + "Click to continue drawing": "יש ללחוץ כדי להמשיך בציור", + "Click to edit": "יש ללחוץ כדי לערוך", + "Click to start drawing a line": "יש ללחוץ כדי להתחיל לצייר קו", + "Click to start drawing a polygon": "יש ללחוץ כדי להתחיל לצייר מצולע", + "Clone": "שכפול", + "Clone of {name}": "שכפול של {name}", + "Clone this feature": "שכפול התכונה הזו", + "Clone this map": "שכפול המפה הזו", + "Close": "סגירה", + "Clustering radius": "רדיוס קיבוץ", + "Comma separated list of properties to use when filtering features": "רשימת מאפיינים מופרדת בפסיקים לשימוש בעת סינון תכונות", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "ערכים מופרדים בפסיקים, טאבים או נקודה פסיק. עם רמיזה ל־SRS WGS84. רק גואמטריית נקודות מייובאת. הייבוא יסתכל על כותרות העמודות לאיתור אזכורים של „lat” (קו רוחב) ו־„lon” (קו אורך) בתחילת הכותרת, לא משנה אותיות קטנות/גדולות. כל שאר העמודות ייובאו כמאפיינים.", + "Continue line": "להמשיך את הקו", + "Continue line (Ctrl+Click)": "להמשיך את הקו ‪(Ctrl+לחיצה)", + "Coordinates": "נקודות ציון", + "Credits": "תודות", + "Current view instead of default map view?": "התצוגה הנוכחית במקום תצוגת בררת המחדל של המפה?", + "Custom background": "רקע בהתאמה אישית", + "Data is browsable": "הנתונים זמינים לעיון", + "Default interaction options": "אפשרויות אינטראקציה כבררת מחדל", + "Default properties": "מאפיינים כבררת מחדל", + "Default shape properties": "מאפייני צורה כבררת מחדל", + "Define link to open in a new window on polygon click.": "יש להגדיר קישור לפתיחה בחלון חדש עם לחיצה על מצולע.", + "Delay between two transitions when in play mode": "השהיה בין שתי העברות כשמדובר במצב משחק", + "Delete": "מחיקה", + "Delete all layers": "מחיקת כל השכבות", + "Delete layer": "מחיקת שכבה", + "Delete this feature": "מחיקת התכונה הזו", + "Delete this property on all the features": "מחיקת המאפיין הזה מכל התכונות", + "Delete this shape": "מחיקת הצורה הזו", + "Delete this vertex (Alt+Click)": "מחיקת הקודקוד הזה ‪(Alt+לחיצה)", + "Directions from here": "הכוונה מכאן", + "Disable editing": "השבתת עריכה", + "Display measure": "הצגת מדידה", + "Display on load": "הצגה עם הטעינה", + "Download": "הורדה", + "Download data": "נתונים שהתקבלו", + "Drag to reorder": "יש לגרור כדי לסדר מחדש", + "Draw a line": "ציור קו", + "Draw a marker": "ציור סמן", + "Draw a polygon": "ציור מצולע", + "Draw a polyline": "ציור קו שבור", + "Dynamic": "דינמי", + "Dynamic properties": "מאפיינים דינמיים", + "Edit": "עריכה", + "Edit feature's layer": "עריכת שכבת התכונה", + "Edit map properties": "עריכת מאפייני מפה", + "Edit map settings": "עריכת הגדרות מפה", + "Edit properties in a table": "עריכת מאפיינים בטבלה", + "Edit this feature": "עריכת תכונה זו", + "Editing": "במצב עריכה", + "Embed and share this map": "הטמעה ושיתוף מפה זו", + "Embed the map": "הטמעת המפה", + "Empty": "לרוקן", + "Enable editing": "הפעלת עריכה", + "Error in the tilelayer URL": "שגיאה בכתובת שכבת האריחים", + "Error while fetching {url}": "שגיאה בקבלת {url}", + "Exit Fullscreen": "יציאה ממסך מלא", + "Extract shape to separate feature": "יש לחלץ צורה כדי להפריד תכונה", + "Fetch data each time map view changes.": "לקבל נתונים בכל פעם שתצוגת המפה משתנה.", + "Filter keys": "סינון מפתחות", + "Filter…": "מסנן…", + "Format": "תצורה", + "From zoom": "מרמת תקריב", + "Full map data": "נתוני מפה מלאים", + "Go to «{feature}»": "מעבר אל «{feature}»", + "Heatmap intensity property": "מאפיין עצמת מפת חום", + "Heatmap radius": "רדיוס מפת חום", + "Help": "עזרה", + "Hide controls": "הסתרת פקדים", + "Home": "בית", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "כמה לפשט את הקו השבור בכל רמת תקריב (יותר = ביצועים משופרים ומראה חלק יותר, פחות = דיוק גבוה יותר)", + "If false, the polygon will act as a part of the underlying map.": "אם שקר, המצולע יתנהג כחלק מהמפה שמתחת.", + "Iframe export options": "אפשרויות ייצוא מסגרת פנימית", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "מסגרת פנימית עם גובה מותאם (בפיקסלים): {{{http://iframe.url.com|גובה}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "מסגרת פנימית עם גובה ורוחב מותאמים (בפיקסלים): {{{http://iframe.url.com|גובה*רוחב}}}", + "Iframe: {{{http://iframe.url.com}}}": "מסגרת פנימית: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "תמונה עם רוחב מותאם (בפיקסלים): {{http://image.url.com|רוחב}}", + "Image: {{http://image.url.com}}": "תמונה: {{http://image.url.com}}", + "Import": "ייבוא", + "Import data": "ייבוא נתונים", + "Import in a new layer": "ייבוא לשכבה חדשה", + "Imports all umap data, including layers and settings.": "יבוצע ייבוא של כל הנתונים של umap לרבות שכבות והגדרות.", + "Include full screen link?": "לכלול קישור למסך מלא?", + "Interaction options": "אפשרויות אינטראקציה", + "Invalid umap data": "נתוני umap שגויים", + "Invalid umap data in {filename}": "נתוני umap שגויים בתוך {filename}", + "Keep current visible layers": "להשאיר את השכבות שגלויות כרגע", + "Latitude": "קו רוחב", + "Layer": "שכבה", + "Layer properties": "מאפייני שכבה", + "Licence": "רישיון", + "Limit bounds": "גבולות חוסמים", + "Link to…": "קישור אל…", + "Link with text: [[http://example.com|text of the link]]": "קישור עם טקסט: [[http://example.com|הטקסט של הקישור]]", + "Long credits": "תודות ארוכות", + "Longitude": "קו אורך", + "Make main shape": "להפוך לצורה עיקרית", + "Manage layers": "ניהול שכבות", + "Map background credits": "תודות על רקע המפה", + "Map has been attached to your account": "המפה הוצמדה לחשבון שלך", + "Map has been saved!": "המפה נשמרה!", + "Map user content has been published under licence": "תוכן המשתמש של המפה פורסם תחת רישיון", + "Map's editors": "עורכי המפה", + "Map's owner": "בעלי המפה", + "Merge lines": "מיזוג קווים", + "More controls": "פקדים נוספים", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "חייב להיות ערך CSS תקני (למשל: DarkBlue או #123456)", + "No licence has been set": "לא הוגדר רישיון", + "No results": "אין תוצאות", + "Only visible features will be downloaded.": "רק תכונות גלויות תתקבלנה.", + "Open download panel": "פתיחת לוח הורדות", + "Open link in…": "פתיחת קישור עם…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "פתיחת היקף מפה זו בעורך מפות כדי לספק נתונים מדויקים יותר ל־OpenStreetMap", + "Optional intensity property for heatmap": "מאפיין עצמה כרשות למפת חום", + "Optional. Same as color if not set.": "רשות. כנ״ל לגבי צבע אם לא הוגדר.", + "Override clustering radius (default 80)": "דריסת רדיוס הקבוצה (בררת המחדל היא 80)", + "Override heatmap radius (default 25)": "דריסת רדיוס מפת החום (בררת המחדל היא 25)", + "Please be sure the licence is compliant with your use.": "נא לוודא שהרישיון תואם לשימוש שלך.", + "Please choose a format": "נא לבחור תבנית", + "Please enter the name of the property": "נא למלא את שם המאפיין", + "Please enter the new name of this property": "נא למלא את השם החדש של המאפיין הזה", + "Powered by Leaflet and Django, glued by uMap project.": "מופעל על גבי Leaflet ו־Django, חוברו להם יחדיו על ידי מיזם uMap.", + "Problem in the response": "בעיה בתגובה", + "Problem in the response format": "בעיה במבנה התגובה", + "Properties imported:": "יובאו מאפיינים:", + "Property to use for sorting features": "מאפיין להשתמש עבור תכונות סידור", + "Provide an URL here": "נא לספק כאן כתובת", + "Proxy request": "בקשת מתווך", + "Remote data": "נתונים מרוחקים", + "Remove shape from the multi": "הסרת צורת מרב מצולעים", + "Rename this property on all the features": "לשנות את המאפיין הזה בכל התכונות", + "Replace layer content": "החלפת תוכן השכבה", + "Restore this version": "שחזור הגרסה הזו", + "Save": "לשמור", + "Save anyway": "לשמור בכל זאת", + "Save current edits": "לשמור את העריכות הנוכחיות", + "Save this center and zoom": "לשמור את המרכז הזה ולהתקרב", + "Save this location as new feature": "לשמור את המיקום הזה כתכונה חדשה", + "Search a place name": "חיפוש שם מקום", + "Search location": "חיפוש מיקום", + "Secret edit link is:
    {link}": "קישור העריכה הסודי הוא:
    {link}", + "See all": "להציג הכול", + "See data layers": "להציג שכבות נתונים", + "See full screen": "הצגת מסך מלא", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "יש להגדיר לשקר כדי להסתיר את השכבה הזאת מהמצגת, דפדפן הנתונים, הניווט המוקפץ…", + "Shape properties": "מאפייני צורה", + "Short URL": "כתובת מקוצרת", + "Short credits": "תודות מקוצרות", + "Show/hide layer": "הצגת/הסתרת שכבה", + "Simple link: [[http://example.com]]": "קישור פשוט: [[http://example.com]]", + "Slideshow": "מצגת", + "Smart transitions": "מעברונים חכמים", + "Sort key": "מפתח סידור", + "Split line": "פיצול קו", + "Start a hole here": "להתחיל חור מכאן", + "Start editing": "התחלת עריכה", + "Start slideshow": "התחלת מצגת", + "Stop editing": "הפסקת עריכה", + "Stop slideshow": "הפסקת מצגת", + "Supported scheme": "סכמה נתמכת", + "Supported variables that will be dynamically replaced": "משתנים נתמכים שיוחלפו באופן דינמי", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "סמן יכול להיות תו יוניקוד או כתובת. ניתן להשתמש בתכונות מאפיינים כמשתנים, למשל: עם „‎http://myserver.org/images/{name}.png‎” המשתנה {name} יוחלף בערך של „name” בכל אחד מהסמנים.", + "TMS format": "מבנה TMS", + "Text color for the cluster label": "צבע טקסט לתווית הקבוצה", + "Text formatting": "עיצוב טקסט", + "The name of the property to use as feature label (ex.: \"nom\")": "שם המאפיין לשימוש כתווית תכונה (למשל: „nom”)", + "The zoom and center have been setted.": "התקריב והמרכז הוגדרו.", + "To use if remote server doesn't allow cross domain (slower)": "יש להשתמש אם השרת המרוחק לא מאפשר קישור בין שמות תחומים (Cross Origin - אטי יותר)", + "To zoom": "לתקריב", + "Toggle edit mode (Shift+Click)": "החלפת מצב עריכה ‪(Shift+לחיצה)", + "Transfer shape to edited feature": "המרת צורה לתכונה לעריכה", + "Transform to lines": "המרה לקווים", + "Transform to polygon": "המרה למצולע", + "Type of layer": "סוג שכבה", + "Unable to detect format of file {filename}": "לא ניתן לזהות את מבנה הקובץ {filename}", + "Untitled layer": "שכבה ללא שם", + "Untitled map": "מפה ללא שם", + "Update permissions": "עדכון הרשאות", + "Update permissions and editors": "עדכון הרשאות ועורכים", + "Url": "כתובת", + "Use current bounds": "להשתמש בגבולות הנוכחיים", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "ניתן להשתמש בממלאי מקום למאפייני תכונות בתוך סוגריים, למשל: {name}, הם יוחלפו דינמית בערכים המתאימים.", + "User content credits": "תודות על תוכן המשתמש", + "User interface options": "אפשרויות מנשק משתמש", + "Versions": "גרסאות", + "View Fullscreen": "הצגה במסך מלא", + "Where do we go from here?": "לאן מתקדמים מכאן?", + "Whether to display or not polygons paths.": "האם להציג נתיבי מצולעים או לא.", + "Whether to fill polygons with color.": "האם למלא מצולעים בצבע.", + "Who can edit": "למי יש אפשרות לערוך", + "Who can view": "למי יש אפשרות לצפות", + "Will be displayed in the bottom right corner of the map": "יוצג בפינה הימנית התחתונה של המפה", + "Will be visible in the caption of the map": "יופיע בכותרת המפה", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "אופסי! מישהו ערך את הנתונים שלך. עדיין ניתן לשמור אבל זה עשוי למחוק את השינויים שאחרים עשו.", + "You have unsaved changes.": "יש לך שינויים שלא נשמרו.", + "Zoom in": "התקרבות", + "Zoom level for automatic zooms": "רמת תקריב לתקריבים אוטומטיים", + "Zoom out": "התרחקות", + "Zoom to layer extent": "התמקדות על היקף השכבה", + "Zoom to the next": "התמקדות על הבא", + "Zoom to the previous": "התמקדות על הקודם", + "Zoom to this feature": "התמקדות על תכונה זו", + "Zoom to this place": "התמקדות על המקום הזה", + "attribution": "ייחוס", + "by": "מאת", + "display name": "שם תצוגה", + "height": "גובה", + "licence": "רישיון", + "max East": "מזרח מרבי", + "max North": "צפון מרבי", + "max South": "דרום מרבי", + "max West": "מערב מרבי", + "max zoom": "תקריב מרבי", + "min zoom": "תקריב מזערי", + "next": "הבא", + "previous": "הקודם", + "width": "רוחב", + "{count} errors during import: {message}": "{count} שגיאות במהלך הייבוא: {message}", + "Measure distances": "מדידת מרחקים", + "NM": "מיילים ימיים", + "kilometers": "קילומטרים", + "km": "ק״מ", + "mi": "מייל", + "miles": "מיילים", + "nautical miles": "מיילים ימיים", + "{area} acres": "{area} אקרים", + "{area} ha": "{area} הקטאר", + "{area} m²": "{area} מ׳²", + "{area} mi²": "{area} מיילים²", + "{area} yd²": "{area} יארדים²", + "{distance} NM": "{distance} מיילים ימיים", + "{distance} km": "{distance} ק״מ", + "{distance} m": "{distance} מ׳", + "{distance} miles": "{distance} מיילים", + "{distance} yd": "{distance} יארד", + "1 day": "יום", + "1 hour": "שעה", + "5 min": "5 דקות", + "Cache proxied request": "שמירת בקשות שעברו דרך המתווך במטמון", + "No cache": "אין מטמון", + "Popup": "חלונית מוקפצת", + "Popup (large)": "חלונית מוקפצת (גדולה)", + "Popup content style": "סגנון תוכן חלונית מוקפצת", + "Popup shape": "צורת חלונית מוקפצת", + "Skipping unknown geometry.type: {type}": "יתבצע דילוג על geometry.type לא ידוע: {type}", + "Optional.": "רשות.", + "Paste your data here": "נא להדביק את הנתונים שלך כאן", + "Please save the map first": "נא לשמור את המפה קודם", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/hr.js b/umap/static/umap/locale/hr.js new file mode 100644 index 00000000..7565df01 --- /dev/null +++ b/umap/static/umap/locale/hr.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Dodavanje simbola", + "Allow scroll wheel zoom?": "Dopustiti uvećanje kotačićem miša?", + "Automatic": "Automatsko", + "Ball": "Lopta", + "Cancel": "Odustani", + "Caption": "Napomena", + "Change symbol": "Promjeni simbol", + "Choose the data format": "Odaberi format datuma", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Krug", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Želite li prikazati malu kartu?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Želite li prikazati skočni prozor u podnožju?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Naslijedi", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "boja", + "dash array": "dash array", + "define": "define", + "description": "opis", + "expanded": "expanded", + "fill": "ispuna", + "fill color": "boja ispune", + "fill opacity": "prozirnost ispune", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "naslijedi", + "name": "ime", + "never": "never", + "new window": "new window", + "no": "ne", + "on hover": "on hover", + "opacity": "prozirnost", + "parent window": "parent window", + "stroke": "potez", + "weight": "debljina", + "yes": "Da", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# jedne ljestve za glavni naslov", + "## two hashes for second heading": "### dva puta ljestve za treću razinu naslova", + "### three hashes for third heading": "### tri puta ljestve za treću razinu naslova", + "**double star for bold**": "**dvije zvijezdice za podebljano**", + "*simple star for italic*": "*zvijezdica za kurziv*", + "--- for an horizontal rule": "--- za horizontalnu crtu", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Više o", + "Action not allowed :(": "Akcija nije dozvoljena :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Dodaj sloj", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Napredne akcije", + "Advanced properties": "Napredne postavke", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Sve postavke su uvezene.", + "Allow interactions": "Allow interactions", + "An error occured": "Desila se greška", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Jeste li sigurni da želite obrisati ovaj element?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Dovedi element na centar", + "Browse data": "Pregledaj unose", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Promjeni pozadinu karte", + "Change tilelayers": "Promeni naslov layera", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Odaberi sloj za uvoz", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Poduplaj ovu kartu", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Posebna pozadina", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Obriši", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Brisanje ovog elementa", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Onemogući uređivanje", + "Display measure": "Display measure", + "Display on load": "Prikaži kod učitavanja", + "Download": "Download", + "Download data": "Preuzimanje podataka", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Crtanje linije", + "Draw a marker": "Crtanje oznake", + "Draw a polygon": "Crtanje površine", + "Draw a polyline": "Crtanje izlomljene linije", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Urediti", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Uređivanje", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Ugradi kartu", + "Empty": "Empty", + "Enable editing": "Omogući uređivanje", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Od uvećanja", + "Full map data": "Full map data", + "Go to «{feature}»": "Idi na «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Pomoć", + "Hide controls": "Sakrij kontrole", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "slika {{http://slika.url.hr}}", + "Import": "Uvoz", + "Import data": "Uvoz podataka", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link sa tekstom: [[http://primjer.hr|tekst linka]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Licenca nije postavljenja", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem u prepoznavanju formata", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Ovdje upišite URL", + "Proxy request": "Proxy request", + "Remote data": "Udaljeni podaci", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Spremi", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Pretraži lokaciju", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "Prikaži unesene podatke", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Kratki URL", + "Short credits": "Short credits", + "Show/hide layer": "Prikaži/sakrij sloj", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Zaustavi uređivanje", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Formatiranje teksta", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Do uvećanja", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Bezimeni sloj", + "Untitled map": "Bezimena karta", + "Update permissions": "Update permissions", + "Update permissions and editors": "Ažuriraj dozvole i urednike", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Zasluge za sadržaj", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "Prikaži na cijelom zaslonu", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Uvećaj", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Umanji", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Uvećaj odabrano", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licenca", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "maksimalno uvećanje", + "min zoom": "minimalno uvećanje", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("hr", locale); +L.setLocale("hr"); \ No newline at end of file diff --git a/umap/static/umap/locale/hr.json b/umap/static/umap/locale/hr.json new file mode 100644 index 00000000..272fbb28 --- /dev/null +++ b/umap/static/umap/locale/hr.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Dodavanje simbola", + "Allow scroll wheel zoom?": "Dopustiti uvećanje kotačićem miša?", + "Automatic": "Automatsko", + "Ball": "Lopta", + "Cancel": "Odustani", + "Caption": "Napomena", + "Change symbol": "Promjeni simbol", + "Choose the data format": "Odaberi format datuma", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Krug", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Želite li prikazati malu kartu?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Želite li prikazati skočni prozor u podnožju?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Naslijedi", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "boja", + "dash array": "dash array", + "define": "define", + "description": "opis", + "expanded": "expanded", + "fill": "ispuna", + "fill color": "boja ispune", + "fill opacity": "prozirnost ispune", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "naslijedi", + "name": "ime", + "never": "never", + "new window": "new window", + "no": "ne", + "on hover": "on hover", + "opacity": "prozirnost", + "parent window": "parent window", + "stroke": "potez", + "weight": "debljina", + "yes": "Da", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# jedne ljestve za glavni naslov", + "## two hashes for second heading": "### dva puta ljestve za treću razinu naslova", + "### three hashes for third heading": "### tri puta ljestve za treću razinu naslova", + "**double star for bold**": "**dvije zvijezdice za podebljano**", + "*simple star for italic*": "*zvijezdica za kurziv*", + "--- for an horizontal rule": "--- za horizontalnu crtu", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Više o", + "Action not allowed :(": "Akcija nije dozvoljena :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Dodaj sloj", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Napredne akcije", + "Advanced properties": "Napredne postavke", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Sve postavke su uvezene.", + "Allow interactions": "Allow interactions", + "An error occured": "Desila se greška", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Jeste li sigurni da želite obrisati ovaj element?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Dovedi element na centar", + "Browse data": "Pregledaj unose", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Promjeni pozadinu karte", + "Change tilelayers": "Promeni naslov layera", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Odaberi sloj za uvoz", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Poduplaj ovu kartu", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Posebna pozadina", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Obriši", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Brisanje ovog elementa", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Onemogući uređivanje", + "Display measure": "Display measure", + "Display on load": "Prikaži kod učitavanja", + "Download": "Download", + "Download data": "Preuzimanje podataka", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Crtanje linije", + "Draw a marker": "Crtanje oznake", + "Draw a polygon": "Crtanje površine", + "Draw a polyline": "Crtanje izlomljene linije", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Urediti", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Uređivanje", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Ugradi kartu", + "Empty": "Empty", + "Enable editing": "Omogući uređivanje", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Od uvećanja", + "Full map data": "Full map data", + "Go to «{feature}»": "Idi na «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Pomoć", + "Hide controls": "Sakrij kontrole", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "slika {{http://slika.url.hr}}", + "Import": "Uvoz", + "Import data": "Uvoz podataka", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link sa tekstom: [[http://primjer.hr|tekst linka]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Licenca nije postavljenja", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem u prepoznavanju formata", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Ovdje upišite URL", + "Proxy request": "Proxy request", + "Remote data": "Udaljeni podaci", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Spremi", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Pretraži lokaciju", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "Prikaži unesene podatke", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Kratki URL", + "Short credits": "Short credits", + "Show/hide layer": "Prikaži/sakrij sloj", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Zaustavi uređivanje", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Formatiranje teksta", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Do uvećanja", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Bezimeni sloj", + "Untitled map": "Bezimena karta", + "Update permissions": "Update permissions", + "Update permissions and editors": "Ažuriraj dozvole i urednike", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Zasluge za sadržaj", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "Prikaži na cijelom zaslonu", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Uvećaj", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Umanji", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Uvećaj odabrano", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licenca", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "maksimalno uvećanje", + "min zoom": "minimalno uvećanje", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/hu.js b/umap/static/umap/locale/hu.js new file mode 100644 index 00000000..b5917aef --- /dev/null +++ b/umap/static/umap/locale/hu.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Szimbólum hozzáadása", + "Allow scroll wheel zoom?": "Engedélyezi-e a görgetést nagyításkor?", + "Automatic": "Automatikus", + "Ball": "Gombostű", + "Cancel": "Mégse", + "Caption": "Cím", + "Change symbol": "Szimbólum módosítása", + "Choose the data format": "Adatformátum kiválasztása", + "Choose the layer of the feature": "Objektum rétegének kiválasztása", + "Circle": "Kör", + "Clustered": "Csoportosított", + "Data browser": "Adatböngésző", + "Default": "Alapértelmezett", + "Default zoom level": "Alapértelmezett nagyítási szint", + "Default: name": "Alapértelmezett: név", + "Display label": "Felirat megjelenítése", + "Display the control to open OpenStreetMap editor": "Az OpenStreetMap szerkesztő megnyitása vezérlő megjelenítése", + "Display the data layers control": "Adatrétegek vezérlő megjelenítése", + "Display the embed control": "Beágyazás vezérlő megjelenítése", + "Display the fullscreen control": "Teljes képernyő vezérlő megjelenítése", + "Display the locate control": "Saját pozícióhoz igazítás vezérlő megjelenítése", + "Display the measure control": "Mérés vezérlő megjelenítése", + "Display the search control": "Keresés vezérlő megjelenítése", + "Display the tile layers control": "Mozaikrétegek vezérlő megjelenítése", + "Display the zoom control": "Nagyítás vezérlő megjelenítése", + "Do you want to display a caption bar?": "Szeretné megjeleníteni a címsávot?", + "Do you want to display a minimap?": "Szeretne megjeleníteni egy kis térképet?", + "Do you want to display a panel on load?": "Betöltéskor szeretne-e megjeleníteni egy panelt?", + "Do you want to display popup footer?": "Szeretn-e megjeleníteni egy előugró láblécet?", + "Do you want to display the scale control?": "Szeretné megjeleníteni a méretarány vezérlőt?", + "Do you want to display the «more» control?": "Szeretné megjeleníteni a „továbbiak” vezérlőt?", + "Drop": "Csepp", + "GeoRSS (only link)": "GeoRSS (csak link)", + "GeoRSS (title + image)": "GeoRSS (cím + kép)", + "Heatmap": "Intenzitástérkép", + "Icon shape": "Ikon alakja", + "Icon symbol": "Ikonszimbólum", + "Inherit": "Öröklés", + "Label direction": "Felirat iránya", + "Label key": "Felirathoz használt kulcs", + "Labels are clickable": "Kattintható feliratok", + "None": "Semmi", + "On the bottom": "Lent", + "On the left": "Balra", + "On the right": "Jobbra", + "On the top": "Fent", + "Popup content template": "Előugró tartalom sablonja", + "Set symbol": "Szimbólum megadása", + "Side panel": "Oldalsó panel", + "Simplify": "Egyszerűsítés", + "Symbol or url": "Szimbólum vagy URL", + "Table": "Táblázat", + "always": "mindig", + "clear": "alaphelyzet", + "collapsed": "összecsukva", + "color": "szín", + "dash array": "Szaggatottság mintázata", + "define": "meghatározás", + "description": "leírás", + "expanded": "kiterjesztett", + "fill": "kitöltés", + "fill color": "kitöltés színe", + "fill opacity": "kitöltés átlátszósága", + "hidden": "rejtett", + "iframe": "iframe", + "inherit": "öröklés", + "name": "név", + "never": "soha", + "new window": "új ablak", + "no": "nincs", + "on hover": "rámutatáskor", + "opacity": "átlátszóság", + "parent window": "szülőablak", + "stroke": "körvonal", + "weight": "vastagság", + "yes": "igen", + "{delay} seconds": "{delay} másodperc", + "# one hash for main heading": "# egy számjel: fő címsor", + "## two hashes for second heading": "## két számjel: második címsor", + "### three hashes for third heading": "### három számjel: harmadik címsor", + "**double star for bold**": "**két csillag: félkövér**", + "*simple star for italic*": "*egy csillag: dőlt*", + "--- for an horizontal rule": "--- három kötőjel: vízszintes vonal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Vesszővel elválasztott számsor, amely meghatározza a szaggatott vonalak mintázatát. Például 5,10,15 Ha nem világos, próbálkozz!", + "About": "Névjegy", + "Action not allowed :(": "Nem engedélyezett művelet :(", + "Activate slideshow mode": "Diavetítésmód aktiválása", + "Add a layer": "Réteg hozzáadása", + "Add a line to the current multi": "Vonal hozzáadása a jelenlegi alakzatcsoporthoz", + "Add a new property": "Új tulajdonság hozzáadása", + "Add a polygon to the current multi": "Sokszög hozzáadása a jelenlegi alakzatcsoporthoz", + "Advanced actions": "Speciális műveletek", + "Advanced properties": "Speciális tulajdonságok", + "Advanced transition": "Speciális áttűnés", + "All properties are imported.": "Minden tulajdonság importálva lett.", + "Allow interactions": "Interakció engedélyezése", + "An error occured": "Hiba történt", + "Are you sure you want to cancel your changes?": "Biztosan elveti a módosításait?", + "Are you sure you want to clone this map and all its datalayers?": "Biztosan klónozza a térképet és az összes adatrétegét?", + "Are you sure you want to delete the feature?": "Biztosan törölni szeretné ezt az objektumot?", + "Are you sure you want to delete this layer?": "Biztosan törölni szeretné ezt a réteget?", + "Are you sure you want to delete this map?": "Biztosan törölni szeretné ezt a térképet?", + "Are you sure you want to delete this property on all the features?": "Biztosan törölni szeretné ezt a tulajdonságot az összes objektumról?", + "Are you sure you want to restore this version?": "Biztosan ezt a változatot akarja helyreállítani?", + "Attach the map to my account": "Térkép csatolása a fiókomhoz", + "Auto": "Automatikus", + "Autostart when map is loaded": "Automatikus indulás a térkép betöltése után", + "Bring feature to center": "Objektum középre hozása", + "Browse data": "Adatok böngészése", + "Cancel edits": "Szerkesztések elvetése", + "Center map on your location": "A térkép közepének igazítása a saját pozícióhoz", + "Change map background": "Térkép hátterének módosítása", + "Change tilelayers": "Mozaikrétegek módosítása", + "Choose a preset": "Előbeállítás kiválasztása", + "Choose the format of the data to import": "Importálandó adatok formátumának kiválasztása", + "Choose the layer to import in": "Importálandó réteg kiválasztása", + "Click last point to finish shape": "Az alakzat befejezéséhez kattintson az utolsó pontra", + "Click to add a marker": "Jelölő hozzáadásához kattintson", + "Click to continue drawing": "Kattintson a rajzolás folytatásához", + "Click to edit": "Kattintson a szerkesztéshez", + "Click to start drawing a line": "Kattintson egy vonal rajzolásához", + "Click to start drawing a polygon": "Kattintson egy sokszög rajzolásához", + "Clone": "Klónozás", + "Clone of {name}": "{name} klónozása", + "Clone this feature": "Objektum klónozása", + "Clone this map": "Térkép klónozása", + "Close": "Bezárás", + "Clustering radius": "Csoportosítás sugara", + "Comma separated list of properties to use when filtering features": "Tulajdonságok vesszővel elválasztott sora, amely objektumok szűrésére használható", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Vesszővel, pontosvesszővel vagy tabulátorral elválasztott értékek a WGS84 referenciarendszer szerint. Csak a pontok pozíciója importálódik. Az import során az oszlopfejlécekben, a címsor kezdetén található „lat” és „long” említések vétetenek figyelembe; kis- vagy nagybetű nem számít. Az összes többi oszlop tulajdonságként importálódik.", + "Continue line": "Vonal folytatása", + "Continue line (Ctrl+Click)": "Vonal folytatása (Ctrl+Kattintás)", + "Coordinates": "Koordináták", + "Credits": "Alkotók", + "Current view instead of default map view?": "Használja-e a jelenlegi nézetet az alapértelmezett helyett?", + "Custom background": "Egyedi háttér", + "Data is browsable": "Az adatok böngészhetők", + "Default interaction options": "Alapértelmezett interakciós beállítások", + "Default properties": "Alapértelmezett tulajdonságok", + "Default shape properties": "Alapértelmezett alakzattulajdonságok", + "Define link to open in a new window on polygon click.": "Link meghatározása, amely megnyílik a sokszögre kattintva.", + "Delay between two transitions when in play mode": "Az áttűnések közötti késés lejátszási üzemmódban", + "Delete": "Törlés", + "Delete all layers": "Összes réteg törlése", + "Delete layer": "Réteg törlése", + "Delete this feature": "Objektum törlése", + "Delete this property on all the features": "Tulajdonság törlése az összes objektumról", + "Delete this shape": "Alakzat törlése", + "Delete this vertex (Alt+Click)": "Sarokpont törlése (Alt+Klikk)", + "Directions from here": "Irányok innen", + "Disable editing": "Szerkesztés befejezése", + "Display measure": "Távolságmérő megjelenítése", + "Display on load": "Megjelenítés betöltéskor", + "Download": "Letöltés", + "Download data": "Adatok letöltése", + "Drag to reorder": "Az átrendezéshez húzza át", + "Draw a line": "Vonal rajzolása", + "Draw a marker": "Jelölő rajzolása", + "Draw a polygon": "Sokszög rajzolása", + "Draw a polyline": "Töröttvonal rajzolása", + "Dynamic": "Dinamikus", + "Dynamic properties": "Dinamikus tulajdonságok", + "Edit": "Szerkesztés", + "Edit feature's layer": "Objektum rétegének szerkesztése", + "Edit map properties": "Térkép tulajdonságainak szerkesztése", + "Edit map settings": "Térkép beállításainak szerkesztése", + "Edit properties in a table": "Tulajdonságok szerkesztése táblázatban", + "Edit this feature": "Objektum szerkesztése", + "Editing": "Szerkesztés", + "Embed and share this map": "Térkép beágyazása és megosztása", + "Embed the map": "Térkép beágyazása", + "Empty": "Kiürítés", + "Enable editing": "Szerkesztés engedélyezése", + "Error in the tilelayer URL": "Hiba a mozaikréteg URL-jében", + "Error while fetching {url}": "Hiba történt e webcím beolvasásakor: {url}", + "Exit Fullscreen": "Kilépés a teljes képernyős nézetből", + "Extract shape to separate feature": "Alakzat kiemelése objektum széválasztásához", + "Fetch data each time map view changes.": "Adatok beolvasása a térkép nézetének minden egyes változásánál.", + "Filter keys": "Szűréshez használt kulcsok", + "Filter…": "Szűrés…", + "Format": "Formátum", + "From zoom": "Ettől a nagyítási szinttől", + "Full map data": "Minden térképadat", + "Go to «{feature}»": "Ugrás ide: «{feature}»", + "Heatmap intensity property": "Intenzitástérkép tulajdonságai", + "Heatmap radius": "Intenzitástérkép sugara", + "Help": "Súgó", + "Hide controls": "Vezérlők elrejtése", + "Home": "Kezdőlap", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Mennyire egyszerűsödjék egy töröttvonal az egyes nagyítási fokozatoknál (jobban = jobb teljesítmény és simább kinézet, kevésbé = nagyobb pontosság)", + "If false, the polygon will act as a part of the underlying map.": "Ha hamis, akkor a sokszög az alapját jelentő térkép részeként fog viselkedni.", + "Iframe export options": "Iframe exportálási beállítások", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe egyedi magassággal (pixel): {{{http://iframe.url.com|magasság}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe egyedi magassággal és szélességgel (pixel): {{{http://iframe.url.com|magasság*szélesség}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Kép egyedi szélességgel (pixel): {{http://image.url.com|szélesség}}", + "Image: {{http://image.url.com}}": "Kép: {{http://image.url.com}}", + "Import": "Importálás", + "Import data": "Adatok importálása", + "Import in a new layer": "Importálás új rétegbe", + "Imports all umap data, including layers and settings.": "Minden uMap-adatot (többek között a rétegeket és a beállításokat is) importálja.", + "Include full screen link?": "Tartalmazzon-e teljes képernyős nézetre vezető linket?", + "Interaction options": "Interakció beállításai", + "Invalid umap data": "Érvénytelen uMap-adatok", + "Invalid umap data in {filename}": "Érvénytelen uMap-adatok: {filename}", + "Keep current visible layers": "A jelenleg látható rétegek megtartása", + "Latitude": "Szélesség", + "Layer": "Réteg", + "Layer properties": "Réteg tulajdonságai", + "Licence": "Licenc", + "Limit bounds": "Térkép szélei", + "Link to…": "Link…", + "Link with text: [[http://example.com|text of the link]]": "Link szöveggel: [[http://pelda.hu|szöveg]]", + "Long credits": "Alkotók részletesen", + "Longitude": "Hosszúság", + "Make main shape": "Legyen főalakzat", + "Manage layers": "Rétegek kezelése", + "Map background credits": "Térképháttér alkotói", + "Map has been attached to your account": "A térkép az ön fiókjához csatoltatott", + "Map has been saved!": "Térkép mentve", + "Map user content has been published under licence": "A térkép felhasználói tartalma licenc szerint lett közzétéve", + "Map's editors": "Térkép szerkesztői", + "Map's owner": "Térkép tulajdonosa", + "Merge lines": "Vonalak egyesítése", + "More controls": "További vezérlők", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Érvényes CSS-értéknek kell lennie (pl. DarkBlue vagy #123456)", + "No licence has been set": "Licenc még nincs megadva", + "No results": "Nincs eredmény", + "Only visible features will be downloaded.": "Csak a látható objektumok lesznek letöltve.", + "Open download panel": "Letöltési panel megnyitása", + "Open link in…": "Link megnyitása itt:", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "A térképkivágás megnyitása egy térképszerkesztőben, hogy az OpenStreetMapbe pontosabb adatokat lehessen előállítani", + "Optional intensity property for heatmap": "Intenzitástérkép nem kötelező tulajdonsága", + "Optional. Same as color if not set.": "Nem kötelező. Ha nincs beállítva, akkor ugyanaz, mint a szín.", + "Override clustering radius (default 80)": "Csoportosítás sugarának felülírása (alapértelmezett: 80)", + "Override heatmap radius (default 25)": "Intenzitástérkép sugarának felülírása (alapértelmezett: 25)", + "Please be sure the licence is compliant with your use.": "Győződjön meg róla, hogy a licenc megfelel a térkép felhasználásának.", + "Please choose a format": "Válassza ki a formátumot", + "Please enter the name of the property": "Adja meg a tulajdonság nevét", + "Please enter the new name of this property": "Adja meg a tulajdonság új nevét", + "Powered by Leaflet and Django, glued by uMap project.": "Technológia: Leaflet és Django, összeállító: uMap projekt.", + "Problem in the response": "Hiba a válaszban", + "Problem in the response format": "Hiba a válasz formátumában", + "Properties imported:": "Importált tulajdonságok:", + "Property to use for sorting features": "Az objektumok sorba rendezéséhez használt tulajdonság", + "Provide an URL here": "Itt adjon meg egy URL-t", + "Proxy request": "Proxykérés", + "Remote data": "Távoli adatok", + "Remove shape from the multi": "Alakzat eltávolítása a jelenlegi alakzatcsoportból", + "Rename this property on all the features": "Tulajdonság eltávolítása az összes objektumról", + "Replace layer content": "Réteg tartalmának lecserélése", + "Restore this version": "Ennek a változatnak a visszaállítása", + "Save": "Mentés", + "Save anyway": "Mentés mindenképpen", + "Save current edits": "Jelenlegi szerkesztések mentése", + "Save this center and zoom": "Mentés a jelenlegi középponttal és nagyítással", + "Save this location as new feature": "E hely mentése új objektumként", + "Search a place name": "Helynév keresése", + "Search location": "Hely keresése", + "Secret edit link is:
    {link}": "Titkos szerkesztési link:
    {link}", + "See all": "Összes megtekintése", + "See data layers": "Adatrétegek megtekintése", + "See full screen": "Teljes képernyős nézet megtekintése", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Állítsa hamisra, hogy elrejtse ezt a réteget a diavetítésből, az adatböngészőből, az előugró navigációból stb.", + "Shape properties": "Alakzat tulajdonságai", + "Short URL": "Rövid URL", + "Short credits": "Alkotók röviden", + "Show/hide layer": "Réteg megjelenítése/elrejtése", + "Simple link: [[http://example.com]]": "Egyszerű link: [[http://pelda.hu]]", + "Slideshow": "Diavetítés", + "Smart transitions": "Intelligens áttűnések", + "Sort key": "Sorba rendezéshez használt kulcs", + "Split line": "Vonal elvágása", + "Start a hole here": "Lyuk rajzolása itt", + "Start editing": "Szerkesztés megkezdése", + "Start slideshow": "Diavetítés indítása", + "Stop editing": "Szerkesztés befejezése", + "Stop slideshow": "Diavetítés befejezése", + "Supported scheme": "Támogatott séma", + "Supported variables that will be dynamically replaced": "Támogatott változók, amelyek dinamikusan behelyettesítődnek", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "A szimbólum egy unicode karakter vagy egy URL lehet. Az objektum tulajdonságai változóként használhatók. Például „http://myserver.org/images/{name}.png” használatánál az egyes jelölők „name” értékei behelyettesítődnek {name} változó helyén.", + "TMS format": "TMS-formátum", + "Text color for the cluster label": "Csoportcímke szövegének színe", + "Text formatting": "Szövegformázás", + "The name of the property to use as feature label (ex.: \"nom\")": "Az objektum felirataként használandó tulajdonság neve (pl.: „név”)", + "The zoom and center have been setted.": "Nagyítás és középpont beállítva.", + "To use if remote server doesn't allow cross domain (slower)": "Akkor használja, ha a távoli kiszolgáló nem engedélyezi a tartományok közötti (cross-domain) átvitelt (lassabb)", + "To zoom": "Eddig a nagyítási szintig", + "Toggle edit mode (Shift+Click)": "Szerkesztési mód bekapcsolása (Shift+Klikk)", + "Transfer shape to edited feature": "Alakzat átalakítása szerkesztett objektummá", + "Transform to lines": "Átalakítás vonallá", + "Transform to polygon": "Átalakítás sokszöggé", + "Type of layer": "Réteg típusa", + "Unable to detect format of file {filename}": "A(z) {filename} fájl formátumának megállapítása nem sikerült", + "Untitled layer": "Cím nélküli réteg", + "Untitled map": "Cím nélküli térkép", + "Update permissions": "Jogosultságok frissítése", + "Update permissions and editors": "Jogosultságok és szerkesztők frissítése", + "Url": "URL", + "Use current bounds": "Jelenlegi nézet használata", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Olyan helyőrzőket használjon, amelyeknél az objektumtulajdonságok zárójelben vannak, például {name}. A megfelelő értékek dinamikusan behelyettesítődnek a tulajdonságok helyébe.", + "User content credits": "Felhasználói tartalom alkotói", + "User interface options": "Felhasználói felület tulajdonságai", + "Versions": "Verziók", + "View Fullscreen": "Megjelenítés teljes képernyőn", + "Where do we go from here?": "Merre tovább?", + "Whether to display or not polygons paths.": "Megjelenjenek-e a sokszög oldalai?", + "Whether to fill polygons with color.": "Ki legyen-e színezve a sokszög?", + "Who can edit": "Ki szerkesztheti?", + "Who can view": "Ki láthatja?", + "Will be displayed in the bottom right corner of the map": "A térkép jobb alsó sarkában fog megjelenni", + "Will be visible in the caption of the map": "A térkép címsávjában fog megjelenni", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ajjaj… Úgy tűnik, időközben valaki más is szerkesztette az adatokat. Ennek ellenére elmentheti őket, de ezzel az időközben mások által végzett módosítások el fognak veszni.", + "You have unsaved changes.": "Vannak még nem mentett változtatásai.", + "Zoom in": "Nagyítás", + "Zoom level for automatic zooms": "Nagyítási szint automatikus nagyításoknál", + "Zoom out": "Kicsinyítés", + "Zoom to layer extent": "Nagyítás a teljes rétegre", + "Zoom to the next": "Nagyítás a következőre", + "Zoom to the previous": "Nagyítás az előzőre", + "Zoom to this feature": "Nagyítás erre az objektumra", + "Zoom to this place": "Nagyítás erre a helyre", + "attribution": "szerzőmegjelölés", + "by": "- készítette:", + "display name": "név megjelenítése", + "height": "magasság", + "licence": "licenc", + "max East": "keletre eddig", + "max North": "északra eddig", + "max South": "délre eddig", + "max West": "nyugatra eddig", + "max zoom": "legnagyobb nagyítás", + "min zoom": "legkisebb nagyítás", + "next": "következő", + "previous": "előző", + "width": "szélesség", + "{count} errors during import: {message}": "{count} hiba történt az importálás közben: {message}", + "Measure distances": "Távolságmérés", + "NM": "tengeri mérföld", + "kilometers": "kilométer", + "km": "km", + "mi": "mérföld", + "miles": "mérföld", + "nautical miles": "tengeri mérföld", + "{area} acres": "{area} acre", + "{area} ha": "{area} hektár", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mérföld²", + "{area} yd²": "{area} yard²", + "{distance} NM": "{distance} tengeri mérföld", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mérföld", + "{distance} yd": "{distance} yard", + "1 day": "1 nap", + "1 hour": "1 óra", + "5 min": "5 perc", + "Cache proxied request": "Proxy keresztül továbbított gyorsítótárkérés", + "No cache": "Nincs gyorsítótár", + "Popup": "Felugró", + "Popup (large)": "Felugró (nagy)", + "Popup content style": "Felugró tartalom stílusa", + "Popup shape": "Felugró ablak alakja", + "Skipping unknown geometry.type: {type}": "Ismeretlen ({type}) geometriai típus kihagyása", + "Optional.": "Nem kötelező.", + "Paste your data here": "Illessze be ide az adatokat", + "Please save the map first": "Először mentse a térképet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("hu", locale); +L.setLocale("hu"); \ No newline at end of file diff --git a/umap/static/umap/locale/hu.json b/umap/static/umap/locale/hu.json new file mode 100644 index 00000000..72ac0026 --- /dev/null +++ b/umap/static/umap/locale/hu.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Szimbólum hozzáadása", + "Allow scroll wheel zoom?": "Engedélyezi-e a görgetést nagyításkor?", + "Automatic": "Automatikus", + "Ball": "Gombostű", + "Cancel": "Mégse", + "Caption": "Cím", + "Change symbol": "Szimbólum módosítása", + "Choose the data format": "Adatformátum kiválasztása", + "Choose the layer of the feature": "Objektum rétegének kiválasztása", + "Circle": "Kör", + "Clustered": "Csoportosított", + "Data browser": "Adatböngésző", + "Default": "Alapértelmezett", + "Default zoom level": "Alapértelmezett nagyítási szint", + "Default: name": "Alapértelmezett: név", + "Display label": "Felirat megjelenítése", + "Display the control to open OpenStreetMap editor": "Az OpenStreetMap szerkesztő megnyitása vezérlő megjelenítése", + "Display the data layers control": "Adatrétegek vezérlő megjelenítése", + "Display the embed control": "Beágyazás vezérlő megjelenítése", + "Display the fullscreen control": "Teljes képernyő vezérlő megjelenítése", + "Display the locate control": "Saját pozícióhoz igazítás vezérlő megjelenítése", + "Display the measure control": "Mérés vezérlő megjelenítése", + "Display the search control": "Keresés vezérlő megjelenítése", + "Display the tile layers control": "Mozaikrétegek vezérlő megjelenítése", + "Display the zoom control": "Nagyítás vezérlő megjelenítése", + "Do you want to display a caption bar?": "Szeretné megjeleníteni a címsávot?", + "Do you want to display a minimap?": "Szeretne megjeleníteni egy kis térképet?", + "Do you want to display a panel on load?": "Betöltéskor szeretne-e megjeleníteni egy panelt?", + "Do you want to display popup footer?": "Szeretn-e megjeleníteni egy előugró láblécet?", + "Do you want to display the scale control?": "Szeretné megjeleníteni a méretarány vezérlőt?", + "Do you want to display the «more» control?": "Szeretné megjeleníteni a „továbbiak” vezérlőt?", + "Drop": "Csepp", + "GeoRSS (only link)": "GeoRSS (csak link)", + "GeoRSS (title + image)": "GeoRSS (cím + kép)", + "Heatmap": "Intenzitástérkép", + "Icon shape": "Ikon alakja", + "Icon symbol": "Ikonszimbólum", + "Inherit": "Öröklés", + "Label direction": "Felirat iránya", + "Label key": "Felirathoz használt kulcs", + "Labels are clickable": "Kattintható feliratok", + "None": "Semmi", + "On the bottom": "Lent", + "On the left": "Balra", + "On the right": "Jobbra", + "On the top": "Fent", + "Popup content template": "Előugró tartalom sablonja", + "Set symbol": "Szimbólum megadása", + "Side panel": "Oldalsó panel", + "Simplify": "Egyszerűsítés", + "Symbol or url": "Szimbólum vagy URL", + "Table": "Táblázat", + "always": "mindig", + "clear": "alaphelyzet", + "collapsed": "összecsukva", + "color": "szín", + "dash array": "Szaggatottság mintázata", + "define": "meghatározás", + "description": "leírás", + "expanded": "kiterjesztett", + "fill": "kitöltés", + "fill color": "kitöltés színe", + "fill opacity": "kitöltés átlátszósága", + "hidden": "rejtett", + "iframe": "iframe", + "inherit": "öröklés", + "name": "név", + "never": "soha", + "new window": "új ablak", + "no": "nincs", + "on hover": "rámutatáskor", + "opacity": "átlátszóság", + "parent window": "szülőablak", + "stroke": "körvonal", + "weight": "vastagság", + "yes": "igen", + "{delay} seconds": "{delay} másodperc", + "# one hash for main heading": "# egy számjel: fő címsor", + "## two hashes for second heading": "## két számjel: második címsor", + "### three hashes for third heading": "### három számjel: harmadik címsor", + "**double star for bold**": "**két csillag: félkövér**", + "*simple star for italic*": "*egy csillag: dőlt*", + "--- for an horizontal rule": "--- három kötőjel: vízszintes vonal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Vesszővel elválasztott számsor, amely meghatározza a szaggatott vonalak mintázatát. Például 5,10,15 Ha nem világos, próbálkozz!", + "About": "Névjegy", + "Action not allowed :(": "Nem engedélyezett művelet :(", + "Activate slideshow mode": "Diavetítésmód aktiválása", + "Add a layer": "Réteg hozzáadása", + "Add a line to the current multi": "Vonal hozzáadása a jelenlegi alakzatcsoporthoz", + "Add a new property": "Új tulajdonság hozzáadása", + "Add a polygon to the current multi": "Sokszög hozzáadása a jelenlegi alakzatcsoporthoz", + "Advanced actions": "Speciális műveletek", + "Advanced properties": "Speciális tulajdonságok", + "Advanced transition": "Speciális áttűnés", + "All properties are imported.": "Minden tulajdonság importálva lett.", + "Allow interactions": "Interakció engedélyezése", + "An error occured": "Hiba történt", + "Are you sure you want to cancel your changes?": "Biztosan elveti a módosításait?", + "Are you sure you want to clone this map and all its datalayers?": "Biztosan klónozza a térképet és az összes adatrétegét?", + "Are you sure you want to delete the feature?": "Biztosan törölni szeretné ezt az objektumot?", + "Are you sure you want to delete this layer?": "Biztosan törölni szeretné ezt a réteget?", + "Are you sure you want to delete this map?": "Biztosan törölni szeretné ezt a térképet?", + "Are you sure you want to delete this property on all the features?": "Biztosan törölni szeretné ezt a tulajdonságot az összes objektumról?", + "Are you sure you want to restore this version?": "Biztosan ezt a változatot akarja helyreállítani?", + "Attach the map to my account": "Térkép csatolása a fiókomhoz", + "Auto": "Automatikus", + "Autostart when map is loaded": "Automatikus indulás a térkép betöltése után", + "Bring feature to center": "Objektum középre hozása", + "Browse data": "Adatok böngészése", + "Cancel edits": "Szerkesztések elvetése", + "Center map on your location": "A térkép közepének igazítása a saját pozícióhoz", + "Change map background": "Térkép hátterének módosítása", + "Change tilelayers": "Mozaikrétegek módosítása", + "Choose a preset": "Előbeállítás kiválasztása", + "Choose the format of the data to import": "Importálandó adatok formátumának kiválasztása", + "Choose the layer to import in": "Importálandó réteg kiválasztása", + "Click last point to finish shape": "Az alakzat befejezéséhez kattintson az utolsó pontra", + "Click to add a marker": "Jelölő hozzáadásához kattintson", + "Click to continue drawing": "Kattintson a rajzolás folytatásához", + "Click to edit": "Kattintson a szerkesztéshez", + "Click to start drawing a line": "Kattintson egy vonal rajzolásához", + "Click to start drawing a polygon": "Kattintson egy sokszög rajzolásához", + "Clone": "Klónozás", + "Clone of {name}": "{name} klónozása", + "Clone this feature": "Objektum klónozása", + "Clone this map": "Térkép klónozása", + "Close": "Bezárás", + "Clustering radius": "Csoportosítás sugara", + "Comma separated list of properties to use when filtering features": "Tulajdonságok vesszővel elválasztott sora, amely objektumok szűrésére használható", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Vesszővel, pontosvesszővel vagy tabulátorral elválasztott értékek a WGS84 referenciarendszer szerint. Csak a pontok pozíciója importálódik. Az import során az oszlopfejlécekben, a címsor kezdetén található „lat” és „long” említések vétetenek figyelembe; kis- vagy nagybetű nem számít. Az összes többi oszlop tulajdonságként importálódik.", + "Continue line": "Vonal folytatása", + "Continue line (Ctrl+Click)": "Vonal folytatása (Ctrl+Kattintás)", + "Coordinates": "Koordináták", + "Credits": "Alkotók", + "Current view instead of default map view?": "Használja-e a jelenlegi nézetet az alapértelmezett helyett?", + "Custom background": "Egyedi háttér", + "Data is browsable": "Az adatok böngészhetők", + "Default interaction options": "Alapértelmezett interakciós beállítások", + "Default properties": "Alapértelmezett tulajdonságok", + "Default shape properties": "Alapértelmezett alakzattulajdonságok", + "Define link to open in a new window on polygon click.": "Link meghatározása, amely megnyílik a sokszögre kattintva.", + "Delay between two transitions when in play mode": "Az áttűnések közötti késés lejátszási üzemmódban", + "Delete": "Törlés", + "Delete all layers": "Összes réteg törlése", + "Delete layer": "Réteg törlése", + "Delete this feature": "Objektum törlése", + "Delete this property on all the features": "Tulajdonság törlése az összes objektumról", + "Delete this shape": "Alakzat törlése", + "Delete this vertex (Alt+Click)": "Sarokpont törlése (Alt+Klikk)", + "Directions from here": "Irányok innen", + "Disable editing": "Szerkesztés befejezése", + "Display measure": "Távolságmérő megjelenítése", + "Display on load": "Megjelenítés betöltéskor", + "Download": "Letöltés", + "Download data": "Adatok letöltése", + "Drag to reorder": "Az átrendezéshez húzza át", + "Draw a line": "Vonal rajzolása", + "Draw a marker": "Jelölő rajzolása", + "Draw a polygon": "Sokszög rajzolása", + "Draw a polyline": "Töröttvonal rajzolása", + "Dynamic": "Dinamikus", + "Dynamic properties": "Dinamikus tulajdonságok", + "Edit": "Szerkesztés", + "Edit feature's layer": "Objektum rétegének szerkesztése", + "Edit map properties": "Térkép tulajdonságainak szerkesztése", + "Edit map settings": "Térkép beállításainak szerkesztése", + "Edit properties in a table": "Tulajdonságok szerkesztése táblázatban", + "Edit this feature": "Objektum szerkesztése", + "Editing": "Szerkesztés", + "Embed and share this map": "Térkép beágyazása és megosztása", + "Embed the map": "Térkép beágyazása", + "Empty": "Kiürítés", + "Enable editing": "Szerkesztés engedélyezése", + "Error in the tilelayer URL": "Hiba a mozaikréteg URL-jében", + "Error while fetching {url}": "Hiba történt e webcím beolvasásakor: {url}", + "Exit Fullscreen": "Kilépés a teljes képernyős nézetből", + "Extract shape to separate feature": "Alakzat kiemelése objektum széválasztásához", + "Fetch data each time map view changes.": "Adatok beolvasása a térkép nézetének minden egyes változásánál.", + "Filter keys": "Szűréshez használt kulcsok", + "Filter…": "Szűrés…", + "Format": "Formátum", + "From zoom": "Ettől a nagyítási szinttől", + "Full map data": "Minden térképadat", + "Go to «{feature}»": "Ugrás ide: «{feature}»", + "Heatmap intensity property": "Intenzitástérkép tulajdonságai", + "Heatmap radius": "Intenzitástérkép sugara", + "Help": "Súgó", + "Hide controls": "Vezérlők elrejtése", + "Home": "Kezdőlap", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Mennyire egyszerűsödjék egy töröttvonal az egyes nagyítási fokozatoknál (jobban = jobb teljesítmény és simább kinézet, kevésbé = nagyobb pontosság)", + "If false, the polygon will act as a part of the underlying map.": "Ha hamis, akkor a sokszög az alapját jelentő térkép részeként fog viselkedni.", + "Iframe export options": "Iframe exportálási beállítások", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe egyedi magassággal (pixel): {{{http://iframe.url.com|magasság}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe egyedi magassággal és szélességgel (pixel): {{{http://iframe.url.com|magasság*szélesség}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Kép egyedi szélességgel (pixel): {{http://image.url.com|szélesség}}", + "Image: {{http://image.url.com}}": "Kép: {{http://image.url.com}}", + "Import": "Importálás", + "Import data": "Adatok importálása", + "Import in a new layer": "Importálás új rétegbe", + "Imports all umap data, including layers and settings.": "Minden uMap-adatot (többek között a rétegeket és a beállításokat is) importálja.", + "Include full screen link?": "Tartalmazzon-e teljes képernyős nézetre vezető linket?", + "Interaction options": "Interakció beállításai", + "Invalid umap data": "Érvénytelen uMap-adatok", + "Invalid umap data in {filename}": "Érvénytelen uMap-adatok: {filename}", + "Keep current visible layers": "A jelenleg látható rétegek megtartása", + "Latitude": "Szélesség", + "Layer": "Réteg", + "Layer properties": "Réteg tulajdonságai", + "Licence": "Licenc", + "Limit bounds": "Térkép szélei", + "Link to…": "Link…", + "Link with text: [[http://example.com|text of the link]]": "Link szöveggel: [[http://pelda.hu|szöveg]]", + "Long credits": "Alkotók részletesen", + "Longitude": "Hosszúság", + "Make main shape": "Legyen főalakzat", + "Manage layers": "Rétegek kezelése", + "Map background credits": "Térképháttér alkotói", + "Map has been attached to your account": "A térkép az ön fiókjához csatoltatott", + "Map has been saved!": "Térkép mentve", + "Map user content has been published under licence": "A térkép felhasználói tartalma licenc szerint lett közzétéve", + "Map's editors": "Térkép szerkesztői", + "Map's owner": "Térkép tulajdonosa", + "Merge lines": "Vonalak egyesítése", + "More controls": "További vezérlők", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Érvényes CSS-értéknek kell lennie (pl. DarkBlue vagy #123456)", + "No licence has been set": "Licenc még nincs megadva", + "No results": "Nincs eredmény", + "Only visible features will be downloaded.": "Csak a látható objektumok lesznek letöltve.", + "Open download panel": "Letöltési panel megnyitása", + "Open link in…": "Link megnyitása itt:", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "A térképkivágás megnyitása egy térképszerkesztőben, hogy az OpenStreetMapbe pontosabb adatokat lehessen előállítani", + "Optional intensity property for heatmap": "Intenzitástérkép nem kötelező tulajdonsága", + "Optional. Same as color if not set.": "Nem kötelező. Ha nincs beállítva, akkor ugyanaz, mint a szín.", + "Override clustering radius (default 80)": "Csoportosítás sugarának felülírása (alapértelmezett: 80)", + "Override heatmap radius (default 25)": "Intenzitástérkép sugarának felülírása (alapértelmezett: 25)", + "Please be sure the licence is compliant with your use.": "Győződjön meg róla, hogy a licenc megfelel a térkép felhasználásának.", + "Please choose a format": "Válassza ki a formátumot", + "Please enter the name of the property": "Adja meg a tulajdonság nevét", + "Please enter the new name of this property": "Adja meg a tulajdonság új nevét", + "Powered by Leaflet and Django, glued by uMap project.": "Technológia: Leaflet és Django, összeállító: uMap projekt.", + "Problem in the response": "Hiba a válaszban", + "Problem in the response format": "Hiba a válasz formátumában", + "Properties imported:": "Importált tulajdonságok:", + "Property to use for sorting features": "Az objektumok sorba rendezéséhez használt tulajdonság", + "Provide an URL here": "Itt adjon meg egy URL-t", + "Proxy request": "Proxykérés", + "Remote data": "Távoli adatok", + "Remove shape from the multi": "Alakzat eltávolítása a jelenlegi alakzatcsoportból", + "Rename this property on all the features": "Tulajdonság eltávolítása az összes objektumról", + "Replace layer content": "Réteg tartalmának lecserélése", + "Restore this version": "Ennek a változatnak a visszaállítása", + "Save": "Mentés", + "Save anyway": "Mentés mindenképpen", + "Save current edits": "Jelenlegi szerkesztések mentése", + "Save this center and zoom": "Mentés a jelenlegi középponttal és nagyítással", + "Save this location as new feature": "E hely mentése új objektumként", + "Search a place name": "Helynév keresése", + "Search location": "Hely keresése", + "Secret edit link is:
    {link}": "Titkos szerkesztési link:
    {link}", + "See all": "Összes megtekintése", + "See data layers": "Adatrétegek megtekintése", + "See full screen": "Teljes képernyős nézet megtekintése", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Állítsa hamisra, hogy elrejtse ezt a réteget a diavetítésből, az adatböngészőből, az előugró navigációból stb.", + "Shape properties": "Alakzat tulajdonságai", + "Short URL": "Rövid URL", + "Short credits": "Alkotók röviden", + "Show/hide layer": "Réteg megjelenítése/elrejtése", + "Simple link: [[http://example.com]]": "Egyszerű link: [[http://pelda.hu]]", + "Slideshow": "Diavetítés", + "Smart transitions": "Intelligens áttűnések", + "Sort key": "Sorba rendezéshez használt kulcs", + "Split line": "Vonal elvágása", + "Start a hole here": "Lyuk rajzolása itt", + "Start editing": "Szerkesztés megkezdése", + "Start slideshow": "Diavetítés indítása", + "Stop editing": "Szerkesztés befejezése", + "Stop slideshow": "Diavetítés befejezése", + "Supported scheme": "Támogatott séma", + "Supported variables that will be dynamically replaced": "Támogatott változók, amelyek dinamikusan behelyettesítődnek", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "A szimbólum egy unicode karakter vagy egy URL lehet. Az objektum tulajdonságai változóként használhatók. Például „http://myserver.org/images/{name}.png” használatánál az egyes jelölők „name” értékei behelyettesítődnek {name} változó helyén.", + "TMS format": "TMS-formátum", + "Text color for the cluster label": "Csoportcímke szövegének színe", + "Text formatting": "Szövegformázás", + "The name of the property to use as feature label (ex.: \"nom\")": "Az objektum felirataként használandó tulajdonság neve (pl.: „név”)", + "The zoom and center have been setted.": "Nagyítás és középpont beállítva.", + "To use if remote server doesn't allow cross domain (slower)": "Akkor használja, ha a távoli kiszolgáló nem engedélyezi a tartományok közötti (cross-domain) átvitelt (lassabb)", + "To zoom": "Eddig a nagyítási szintig", + "Toggle edit mode (Shift+Click)": "Szerkesztési mód bekapcsolása (Shift+Klikk)", + "Transfer shape to edited feature": "Alakzat átalakítása szerkesztett objektummá", + "Transform to lines": "Átalakítás vonallá", + "Transform to polygon": "Átalakítás sokszöggé", + "Type of layer": "Réteg típusa", + "Unable to detect format of file {filename}": "A(z) {filename} fájl formátumának megállapítása nem sikerült", + "Untitled layer": "Cím nélküli réteg", + "Untitled map": "Cím nélküli térkép", + "Update permissions": "Jogosultságok frissítése", + "Update permissions and editors": "Jogosultságok és szerkesztők frissítése", + "Url": "URL", + "Use current bounds": "Jelenlegi nézet használata", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Olyan helyőrzőket használjon, amelyeknél az objektumtulajdonságok zárójelben vannak, például {name}. A megfelelő értékek dinamikusan behelyettesítődnek a tulajdonságok helyébe.", + "User content credits": "Felhasználói tartalom alkotói", + "User interface options": "Felhasználói felület tulajdonságai", + "Versions": "Verziók", + "View Fullscreen": "Megjelenítés teljes képernyőn", + "Where do we go from here?": "Merre tovább?", + "Whether to display or not polygons paths.": "Megjelenjenek-e a sokszög oldalai?", + "Whether to fill polygons with color.": "Ki legyen-e színezve a sokszög?", + "Who can edit": "Ki szerkesztheti?", + "Who can view": "Ki láthatja?", + "Will be displayed in the bottom right corner of the map": "A térkép jobb alsó sarkában fog megjelenni", + "Will be visible in the caption of the map": "A térkép címsávjában fog megjelenni", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ajjaj… Úgy tűnik, időközben valaki más is szerkesztette az adatokat. Ennek ellenére elmentheti őket, de ezzel az időközben mások által végzett módosítások el fognak veszni.", + "You have unsaved changes.": "Vannak még nem mentett változtatásai.", + "Zoom in": "Nagyítás", + "Zoom level for automatic zooms": "Nagyítási szint automatikus nagyításoknál", + "Zoom out": "Kicsinyítés", + "Zoom to layer extent": "Nagyítás a teljes rétegre", + "Zoom to the next": "Nagyítás a következőre", + "Zoom to the previous": "Nagyítás az előzőre", + "Zoom to this feature": "Nagyítás erre az objektumra", + "Zoom to this place": "Nagyítás erre a helyre", + "attribution": "szerzőmegjelölés", + "by": "- készítette:", + "display name": "név megjelenítése", + "height": "magasság", + "licence": "licenc", + "max East": "keletre eddig", + "max North": "északra eddig", + "max South": "délre eddig", + "max West": "nyugatra eddig", + "max zoom": "legnagyobb nagyítás", + "min zoom": "legkisebb nagyítás", + "next": "következő", + "previous": "előző", + "width": "szélesség", + "{count} errors during import: {message}": "{count} hiba történt az importálás közben: {message}", + "Measure distances": "Távolságmérés", + "NM": "tengeri mérföld", + "kilometers": "kilométer", + "km": "km", + "mi": "mérföld", + "miles": "mérföld", + "nautical miles": "tengeri mérföld", + "{area} acres": "{area} acre", + "{area} ha": "{area} hektár", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mérföld²", + "{area} yd²": "{area} yard²", + "{distance} NM": "{distance} tengeri mérföld", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mérföld", + "{distance} yd": "{distance} yard", + "1 day": "1 nap", + "1 hour": "1 óra", + "5 min": "5 perc", + "Cache proxied request": "Proxy keresztül továbbított gyorsítótárkérés", + "No cache": "Nincs gyorsítótár", + "Popup": "Felugró", + "Popup (large)": "Felugró (nagy)", + "Popup content style": "Felugró tartalom stílusa", + "Popup shape": "Felugró ablak alakja", + "Skipping unknown geometry.type: {type}": "Ismeretlen ({type}) geometriai típus kihagyása", + "Optional.": "Nem kötelező.", + "Paste your data here": "Illessze be ide az adatokat", + "Please save the map first": "Először mentse a térképet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/id.js b/umap/static/umap/locale/id.js new file mode 100644 index 00000000..67ec4368 --- /dev/null +++ b/umap/static/umap/locale/id.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("id", locale); +L.setLocale("id"); \ No newline at end of file diff --git a/umap/static/umap/locale/id.json b/umap/static/umap/locale/id.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/id.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/is.js b/umap/static/umap/locale/is.js new file mode 100644 index 00000000..8535f0d9 --- /dev/null +++ b/umap/static/umap/locale/is.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Bæta við tákni", + "Allow scroll wheel zoom?": "Leyfa aðdrátt með skrunhjóli?", + "Automatic": "Sjálfvirkt", + "Ball": "Kúla", + "Cancel": "Hætta við", + "Caption": "Skýringatexti", + "Change symbol": "Skipta um tákn", + "Choose the data format": "Veldu gagnasnið", + "Choose the layer of the feature": "Veldu lagið með fitjunni", + "Circle": "Hringur", + "Clustered": "Í klösum", + "Data browser": "Gagnavafri", + "Default": "Sjálfgefið", + "Default zoom level": "Sjálfgefið aðdráttarstig", + "Default: name": "Sjálfgefið: nafn", + "Display label": "Birta skýringu", + "Display the control to open OpenStreetMap editor": "Birta hnapp til að opna OpenStreetMap-ritill", + "Display the data layers control": "Birta hnapp fyrir gagnalög", + "Display the embed control": "Birta hnapp fyrir ígræðslukóða", + "Display the fullscreen control": "Birta hnapp fyrir skjáfylli", + "Display the locate control": "Birta staðsetningarhnapp", + "Display the measure control": "Birta mælihnapp", + "Display the search control": "Birta leitarhnapp", + "Display the tile layers control": "Birta hnapp fyrir kortatíglalög", + "Display the zoom control": "Birta aðdráttarhnapp", + "Do you want to display a caption bar?": "Viltu birta skjástiku með skýringatexta?", + "Do you want to display a minimap?": "Viltu birta yfirlitskort?", + "Do you want to display a panel on load?": "Viltu birta hliðarspjald við innhleðslu?", + "Do you want to display popup footer?": "Viltu birta síðufót sem sprettglugga?", + "Do you want to display the scale control?": "Viltu birta kvarðahnapp?", + "Do you want to display the «more» control?": "Viltu birta hnapp fyrir «meira»?", + "Drop": "Dropi", + "GeoRSS (only link)": "GeoRSS (aðeins tengill)", + "GeoRSS (title + image)": "GeoRSS (titill + mynd)", + "Heatmap": "Hitakort", + "Icon shape": "Lögun Táknmyndar", + "Icon symbol": "Myndtákn", + "Inherit": "Erfa", + "Label direction": "Stefna skýringar", + "Label key": "Lykill skýringar", + "Labels are clickable": "Hægt er að smella á skýringar", + "None": "Ekkert", + "On the bottom": "Neðst", + "On the left": "Vinstra megin", + "On the right": "Hægra megin", + "On the top": "Efst", + "Popup content template": "Sniðmát efnis í sprettglugga", + "Set symbol": "Setja tákn", + "Side panel": "Hliðarspjald", + "Simplify": "Einfalda", + "Symbol or url": "Tákn eða slóð", + "Table": "Tafla", + "always": "alltaf", + "clear": "hreinsa", + "collapsed": "samfallið", + "color": "litur", + "dash array": "strikafylki", + "define": "skilgreina", + "description": "lýsing", + "expanded": "útliðað", + "fill": "fylling", + "fill color": "fyllilitur", + "fill opacity": "ógegnsæi fyllingar", + "hidden": "falið", + "iframe": "iFrame", + "inherit": "erfa", + "name": "heiti", + "never": "aldrei", + "new window": "nýr gluggi", + "no": "nei", + "on hover": "við yfirsvif", + "opacity": "ógegnsæi", + "parent window": "yfirgluggi", + "stroke": "strik", + "weight": "þykkt", + "yes": "já", + "{delay} seconds": "{delay} sekúndur", + "# one hash for main heading": "# eitt myllumerki fyrir aðalfyrirsögn", + "## two hashes for second heading": "## tvö myllumerki fyrir aðra fyrirsögn", + "### three hashes for third heading": "### þrjú myllumerki fyrir þriðju fyrirsögn", + "**double star for bold**": "**tvöföld stjarna/margföldun fyrir feitletrað**", + "*simple star for italic*": "*einföld stjarna/margföldun fyrir skáletrað*", + "--- for an horizontal rule": "--- gefur lárétta mælistiku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Kommu-aðgreindur listi með tölum sem skilgreina strikamynstur. Til dæmis: \"5, 10, 15\".", + "About": "Um hugbúnaðinn", + "Action not allowed :(": "Þessi aðgerð er ekki leyfð :(", + "Activate slideshow mode": "Virkja skyggnusýningarham", + "Add a layer": "Bæta við lagi", + "Add a line to the current multi": "Bæta línu við fyrirliggjandi hóp", + "Add a new property": "Bæta við nýju eigindi", + "Add a polygon to the current multi": "Bæta marghyrningi við fyrirliggjandi hóp", + "Advanced actions": "Ítarlegri aðgerðir", + "Advanced properties": "Ítarlegir eiginleikar", + "Advanced transition": "Ítarleg millifærsla", + "All properties are imported.": "Öll eigindi voru flutt inn.", + "Allow interactions": "Leyfa gagnvirkni", + "An error occured": "Villa kom upp", + "Are you sure you want to cancel your changes?": "Ertu viss um að þú viljir hætta við breytingarnar þínar?", + "Are you sure you want to clone this map and all its datalayers?": "Ertu viss um að þú viljir klóna þetta kort og öll gagnalög þess?", + "Are you sure you want to delete the feature?": "Ertu viss um að þú viljir eyða fitjunni?", + "Are you sure you want to delete this layer?": "Ertu viss um að þú viljir eyða þessu lagi?", + "Are you sure you want to delete this map?": "Ertu viss um að þú viljir eyða þessu korti?", + "Are you sure you want to delete this property on all the features?": "Ertu viss um að þú viljir eyða þessu eigindi á öllum fitjum?", + "Are you sure you want to restore this version?": "Ertu viss um að vilja endurheimta þessa útgáfu?", + "Attach the map to my account": "Tengja kortið við notandaaðganginn minn", + "Auto": "Sjálfvirkt", + "Autostart when map is loaded": "Sjálfræsa þegar korti er hlaðið inn", + "Bring feature to center": "Færa fitju að miðju", + "Browse data": "Skoða gögn", + "Cancel edits": "Hætta við breytingar", + "Center map on your location": "Miðjusetja kortið á staðsetningu þína", + "Change map background": "Breyta bakgrunni landakorts", + "Change tilelayers": "Skipta um kortatíglalög", + "Choose a preset": "Veldu forstillingu", + "Choose the format of the data to import": "Veldu snið á gögnum sem á að flytja inn", + "Choose the layer to import in": "Veldu lagið sem á að flytja inn í", + "Click last point to finish shape": "Smelltu á síðasta punktinn til að ljúka lögun", + "Click to add a marker": "Smella til að bæta við kortamerki", + "Click to continue drawing": "Smelltu til að halda áfram að teikna", + "Click to edit": "Smelltu til að breyta", + "Click to start drawing a line": "Smelltu til að byrja að teikna línu", + "Click to start drawing a polygon": "Smelltu til að byrja að teikna fláka (marghyrning)", + "Clone": "Klóna", + "Clone of {name}": "Klónað afrit af {name}", + "Clone this feature": "Klóna þessa fitju", + "Clone this map": "Klóna þetta landakort", + "Close": "Loka", + "Clustering radius": "Radíus klasa", + "Comma separated list of properties to use when filtering features": "Kommu-aðgreindur listi yfir eigindi sem notaður er við síun fitja", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Gildi aðgreind með kommu, dálkmerki (tab) eða semíkommu. Miðað við SRS hnattviðmið WGS84. Einungis punktalaganir (geometries) eru fluttar inn. Við innflutning er skoðað í fyrirsögnum dálka hvort minnst sé á «lat» eða «lon» í byrjun fyrirsagna, óháð há-/lágstöfum. Allir aðrir dálkar eru fluttir inn sem eigindi.", + "Continue line": "Halda áfram með línu", + "Continue line (Ctrl+Click)": "Halda áfram með línu (Ctrl+Smella)", + "Coordinates": "Hnit", + "Credits": "Framlög", + "Current view instead of default map view?": "Fyrirliggjandi sýn í stað sjálfgefinnar kortasýnar?", + "Custom background": "Sérsniðinn bakgrunnur", + "Data is browsable": "Gögn eru vafranleg", + "Default interaction options": "Sjálfgefnir valkostir gagnvirkni", + "Default properties": "Sjálfgefnir eiginleikar", + "Default shape properties": "Sjálfgefnir eiginleikar lögunar", + "Define link to open in a new window on polygon click.": "Skilgreindu tengil til að opna í nýjum glugga þegar smellt er á marghyrning.", + "Delay between two transitions when in play mode": "Hlé milli tveggja millifærslna í afspilunarham", + "Delete": "Eyða", + "Delete all layers": "Eyða öllum lögum", + "Delete layer": "Eyða lagi", + "Delete this feature": "Eyða þessari fitju", + "Delete this property on all the features": "Eyða þessu eigindi á öllum fitjum", + "Delete this shape": "Eyða þessari lögun", + "Delete this vertex (Alt+Click)": "Eyða þessum brotpunkti (Alt+Smella)", + "Directions from here": "Leiðir héðan", + "Disable editing": "Gera breytingar óvirkar", + "Display measure": "Birta lengdarmæli", + "Display on load": "Birta við innhleðslu", + "Download": "Sækja", + "Download data": "Sækja gögn", + "Drag to reorder": "Draga til að endurraða", + "Draw a line": "Teikna línu", + "Draw a marker": "Teikna kortamerki", + "Draw a polygon": "Teikna fláka (marghyrning)", + "Draw a polyline": "Teikna fjölpunktalínu (polyline)", + "Dynamic": "Breytilegt", + "Dynamic properties": "Breytilegir eiginleikar", + "Edit": "Breyta", + "Edit feature's layer": "Breyta lagi fitjunnar", + "Edit map properties": "Breyta eiginleikum korts", + "Edit map settings": "Breyta stillingum korts", + "Edit properties in a table": "Breyta eigindum í töflu", + "Edit this feature": "Breyta þessari fitju", + "Editing": "Breytingar", + "Embed and share this map": "Setja inn á vefsíðu og deila þessu korti", + "Embed the map": "Setja landakortið inn á vefsíðu", + "Empty": "Tómt", + "Enable editing": "Virkja breytingar", + "Error in the tilelayer URL": "Villa í slóð kortatíglalags", + "Error while fetching {url}": "Villa við að sækja {url}", + "Exit Fullscreen": "Hætta í skjáfylli", + "Extract shape to separate feature": "Flytja lögun í aðskilda fitju", + "Fetch data each time map view changes.": "Sækja gögn í hvert skipti sem kortasýn breytist", + "Filter keys": "Sía lykla", + "Filter…": "Sía…", + "Format": "Snið", + "From zoom": "Frá aðdráttarstigi", + "Full map data": "Öll kortagögn", + "Go to «{feature}»": "Fara á «{feature}»", + "Heatmap intensity property": "Styrkeigindi fyrir hitakort", + "Heatmap radius": "Radíus hitakorts", + "Help": "Hjálp", + "Hide controls": "Fela hnappa", + "Home": "Heim", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hve mikið eigi að einfalda fjölpunktalínu á hverju aðdráttarstigi (meira = betri afköst og mýkra útlit, minna = nákvæmara)", + "If false, the polygon will act as a part of the underlying map.": "Ef þetta er ósatt, mun marghyrningurinn verða hluti af undirliggjandi korti.", + "Iframe export options": "Útflutningsvalkostir Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe með sérsniðinni hæð (í mynddílum/px): {{{http://iframe.url.com|hæð}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe með sérsniðinni hæð og breidd (í mynddílum/px): {{{http://iframe.url.com|hæð*breidd}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Mynd með sérsniðinni breidd (í mynddílum): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Mynd: {{http://image.url.com}}", + "Import": "Flytja inn", + "Import data": "Flytja inn gögn", + "Import in a new layer": "Flytja inn í nýtt lag", + "Imports all umap data, including layers and settings.": "Flytur inn öll umap-gögn, þar með talin lög og stillingar.", + "Include full screen link?": "Hafa með tengil á að fylla skjá?", + "Interaction options": "Valkostir gagnvirkni", + "Invalid umap data": "Ógild umap-gögn", + "Invalid umap data in {filename}": "Ógild umap-gögn í {filename}", + "Keep current visible layers": "Halda fyrirliggjandi sýnilegum lögum", + "Latitude": "Breiddargráða", + "Layer": "Lag", + "Layer properties": "Eiginleikar lags", + "Licence": "Notkunarleyfi", + "Limit bounds": "Mörk útjaðars", + "Link to…": "Tengja við…", + "Link with text: [[http://example.com|text of the link]]": "Tengill með texta: [[http://example.com|texti tengils]]", + "Long credits": "Lengra um framlög", + "Longitude": "Lengdargráða", + "Make main shape": "Gera að aðallögun", + "Manage layers": "Sýsla með lög", + "Map background credits": "Þakkir vegna bakgrunnsmyndar:", + "Map has been attached to your account": "Kortið hefur verið tengt við notandaaðganginn þinn", + "Map has been saved!": "Landakortið hefur verið vistað!", + "Map user content has been published under licence": "Kortagögn notandans eru gefin út með notkunarleyfinu", + "Map's editors": "Ritstjórar korts", + "Map's owner": "Eigandi korts", + "Merge lines": "Sameina línur", + "More controls": "Fleiri hnappar", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Verður að vera gilt CSS-gildi (t.d.: DarkBlue eða #123456)", + "No licence has been set": "Ekkert notkunarleyfi hefur verið sett", + "No results": "Engar niðurstöður", + "Only visible features will be downloaded.": "Aðeins verður náð í sýnilegar fitjur.", + "Open download panel": "Opna niðurhalsspjald", + "Open link in…": "Opna tengil í…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Opna umfang þessa korts í kortavinnsluforriti til að gefa nákvæmari kortagögn til OpenStreetMap", + "Optional intensity property for heatmap": "Valfrjálst styrkeigindi fyrir hitakort", + "Optional. Same as color if not set.": "Valfrjálst. Sama og litur ef ekkert er skilgreint.", + "Override clustering radius (default 80)": "Nota annan radíus klösunar (sjálfgefið 80)", + "Override heatmap radius (default 25)": "Nota annan radíus hitakorts (sjálfgefið 25)", + "Please be sure the licence is compliant with your use.": "Gakktu úr skugga um að notkunarleyfið samsvari notkunasviði þínu.", + "Please choose a format": "Veldu snið", + "Please enter the name of the property": "Settu inn heiti á eigindið", + "Please enter the new name of this property": "Settu inn nýja heitið á þetta eigindi", + "Powered by Leaflet and Django, glued by uMap project.": "Keyrt með Leaflet og Django, límt saman af uMap verkefninu.", + "Problem in the response": "Vandamál í svarinu", + "Problem in the response format": "Vandamál með snið svarsins", + "Properties imported:": "Innflutt eigindi:", + "Property to use for sorting features": "Eigindi til að nota við röðun fitja", + "Provide an URL here": "Gefðu hér upp URL-slóð", + "Proxy request": "Beiðni frá milliþjóni", + "Remote data": "Fjartengd gögn", + "Remove shape from the multi": "Fjarlægja lögun úr hópnum", + "Rename this property on all the features": "Endurnefna þetta eigindi á öllum fitjum", + "Replace layer content": "Skipta út innihaldi lagsins", + "Restore this version": "Endurheimta þessa útgáfu", + "Save": "Vista", + "Save anyway": "Vista samt", + "Save current edits": "Vista fyrirliggjandi breytingar", + "Save this center and zoom": "Vista þessa miðju og aðdrátt", + "Save this location as new feature": "Vista þessa staðsetningu sem nýja fitju", + "Search a place name": "Leita að staðarheiti", + "Search location": "Leita að staðsetningu", + "Secret edit link is:
    {link}": "Leynilegur breytingatengill er:
    {link}", + "See all": "Sjá allt", + "See data layers": "Skoða gagnalög", + "See full screen": "Fylla skjáinn", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Settu þetta sem ósatt til að fela þetta lag úr skyggnusýningu, gagnavafranum, sprettleiðsögn…", + "Shape properties": "Eiginleikar lögunar", + "Short URL": "Stytt slóð", + "Short credits": "Stutt um framlög", + "Show/hide layer": "Birta/Fela lag", + "Simple link: [[http://example.com]]": "Einfaldur tengill: [[http://example.com]]", + "Slideshow": "Skyggnusýning", + "Smart transitions": "Snjallar millifærslur", + "Sort key": "Röðunarlykill", + "Split line": "Skipta línu", + "Start a hole here": "Byrja holu hér", + "Start editing": "Hefja breytingar", + "Start slideshow": "Hefja skyggnusýningu", + "Stop editing": "Hætta breytingum", + "Stop slideshow": "Stöðva skyggnusýningu", + "Supported scheme": "Stutt skema", + "Supported variables that will be dynamically replaced": "Studdar breytur sem verður skipt út eftir þörfum", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Tákn getur verið annað hvort unicode-stafur eða URL-slóð. Þú getur haft eigindi fitja sem breytur: t.d.: með \"http://mittlén.org/myndir/{nafn}.png\", verður breytunni {nafn} skipt út fyrir gildið \"nafn\" í eigindum hvers merkis.", + "TMS format": "TMS-snið", + "Text color for the cluster label": "Litur á texta fyrir skýringu á klasa", + "Text formatting": "Snið á texta", + "The name of the property to use as feature label (ex.: \"nom\")": "Heiti eigindisins sem á að nota sem skýringu á fitju (dæmi: \"nafn\")", + "The zoom and center have been setted.": "Búið er að stilla aðdrátt og miðjun.", + "To use if remote server doesn't allow cross domain (slower)": "Nota ef fjartengdur þjónn leyfir ekki millivísanir léna (hægvirkara)", + "To zoom": "Í aðdrátt", + "Toggle edit mode (Shift+Click)": "Víxla breytingaham af/á (Shift+Smella)", + "Transfer shape to edited feature": "Flytja lögun í breyttu fitjuna", + "Transform to lines": "Umbreyta í línur", + "Transform to polygon": "Umbreyta í fláka/marghyrning", + "Type of layer": "Tegund lags", + "Unable to detect format of file {filename}": "Tókst ekki að ákvarða sniðið á skránni {filename}", + "Untitled layer": "Ónefnt lag", + "Untitled map": "Ónefnt landakort", + "Update permissions": "Uppfæra heimildir", + "Update permissions and editors": "Uppfæra heimildir og ritstjóra", + "Url": "Slóð", + "Use current bounds": "Nota fyrirliggjandi útjaðar", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Notaðu frátökutákn með eigindum fitja innan sviga, t.d. {nafn}, þeim verður skipt út eftir þörfum fyrir samsvarandi gildi.", + "User content credits": "Framlög notanda á efni", + "User interface options": "Valkostir notendaviðmóts", + "Versions": "Útgáfur", + "View Fullscreen": "Fylla skjáinn", + "Where do we go from here?": "Hvert förum við héðan?", + "Whether to display or not polygons paths.": "Hvort birta eigi ferla fláka/marghyrninga.", + "Whether to fill polygons with color.": "Hvort eigi að fylla fláka með lit.", + "Who can edit": "Hverjir geta breytt", + "Who can view": "Hverjir geta skoðað", + "Will be displayed in the bottom right corner of the map": "Verður birt niðri í hægra horni kortsins", + "Will be visible in the caption of the map": "Verður sýnilegt í skýringatexta kortsins", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Úbbs! Það lítur út fyrir að einhver annar hafi breytt gögnunum. Þú getur samt vistað, en það mun hreinsa út breytingarnar sem hinn aðilinn gerði.", + "You have unsaved changes.": "Það eru óvistaðar breytingar.", + "Zoom in": "Renna að", + "Zoom level for automatic zooms": "Aðdráttarstig fyrir sjálfvirkan aðdrátt", + "Zoom out": "Renna frá", + "Zoom to layer extent": "Renna að útjöðrum lags", + "Zoom to the next": "Aðdráttur að næsta", + "Zoom to the previous": "Aðdráttur á fyrra", + "Zoom to this feature": "Aðdráttur að þessari fitju", + "Zoom to this place": "Aðdráttur á þennan stað", + "attribution": "tilvísun í höfund/a", + "by": "eftir", + "display name": "birtingarnafn", + "height": "hæð", + "licence": "notkunarleyfi", + "max East": "Hám. austur", + "max North": "Hám. norður", + "max South": "Hám. suður", + "max West": "Hám. vestur", + "max zoom": "Hám. aðdráttur", + "min zoom": "lágm. aðdráttur", + "next": "næsta", + "previous": "fyrra", + "width": "breidd", + "{count} errors during import: {message}": "{count} villur við innflutning: {message}", + "Measure distances": "Mæla vegalengdir", + "NM": "Sjómílur", + "kilometers": "kílómetrar", + "km": "km", + "mi": "mi", + "miles": "mílur", + "nautical miles": "sjómílur", + "{area} acres": "{area} ekrur", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} sjómílur", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mílur", + "{distance} yd": "{distance} yd", + "1 day": "1 dagur", + "1 hour": "1 klukkustund", + "5 min": "5 mín", + "Cache proxied request": "Setja milliþjónabeiðnir í skyndiminni", + "No cache": "Ekkert biðminni", + "Popup": "Sprettgluggi", + "Popup (large)": "Sprettgluggi (stór)", + "Popup content style": "Stíll efnis í sprettglugga", + "Popup shape": "Lögun sprettglugga", + "Skipping unknown geometry.type: {type}": "Sleppi óþekktu geometry.type: {type}", + "Optional.": "Valfrjálst.", + "Paste your data here": "Límdu gögnin þín hér", + "Please save the map first": "Vistaðu fyrst kortið", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("is", locale); +L.setLocale("is"); \ No newline at end of file diff --git a/umap/static/umap/locale/is.json b/umap/static/umap/locale/is.json new file mode 100644 index 00000000..04daca7f --- /dev/null +++ b/umap/static/umap/locale/is.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Bæta við tákni", + "Allow scroll wheel zoom?": "Leyfa aðdrátt með skrunhjóli?", + "Automatic": "Sjálfvirkt", + "Ball": "Kúla", + "Cancel": "Hætta við", + "Caption": "Skýringatexti", + "Change symbol": "Skipta um tákn", + "Choose the data format": "Veldu gagnasnið", + "Choose the layer of the feature": "Veldu lagið með fitjunni", + "Circle": "Hringur", + "Clustered": "Í klösum", + "Data browser": "Gagnavafri", + "Default": "Sjálfgefið", + "Default zoom level": "Sjálfgefið aðdráttarstig", + "Default: name": "Sjálfgefið: nafn", + "Display label": "Birta skýringu", + "Display the control to open OpenStreetMap editor": "Birta hnapp til að opna OpenStreetMap-ritill", + "Display the data layers control": "Birta hnapp fyrir gagnalög", + "Display the embed control": "Birta hnapp fyrir ígræðslukóða", + "Display the fullscreen control": "Birta hnapp fyrir skjáfylli", + "Display the locate control": "Birta staðsetningarhnapp", + "Display the measure control": "Birta mælihnapp", + "Display the search control": "Birta leitarhnapp", + "Display the tile layers control": "Birta hnapp fyrir kortatíglalög", + "Display the zoom control": "Birta aðdráttarhnapp", + "Do you want to display a caption bar?": "Viltu birta skjástiku með skýringatexta?", + "Do you want to display a minimap?": "Viltu birta yfirlitskort?", + "Do you want to display a panel on load?": "Viltu birta hliðarspjald við innhleðslu?", + "Do you want to display popup footer?": "Viltu birta síðufót sem sprettglugga?", + "Do you want to display the scale control?": "Viltu birta kvarðahnapp?", + "Do you want to display the «more» control?": "Viltu birta hnapp fyrir «meira»?", + "Drop": "Dropi", + "GeoRSS (only link)": "GeoRSS (aðeins tengill)", + "GeoRSS (title + image)": "GeoRSS (titill + mynd)", + "Heatmap": "Hitakort", + "Icon shape": "Lögun Táknmyndar", + "Icon symbol": "Myndtákn", + "Inherit": "Erfa", + "Label direction": "Stefna skýringar", + "Label key": "Lykill skýringar", + "Labels are clickable": "Hægt er að smella á skýringar", + "None": "Ekkert", + "On the bottom": "Neðst", + "On the left": "Vinstra megin", + "On the right": "Hægra megin", + "On the top": "Efst", + "Popup content template": "Sniðmát efnis í sprettglugga", + "Set symbol": "Setja tákn", + "Side panel": "Hliðarspjald", + "Simplify": "Einfalda", + "Symbol or url": "Tákn eða slóð", + "Table": "Tafla", + "always": "alltaf", + "clear": "hreinsa", + "collapsed": "samfallið", + "color": "litur", + "dash array": "strikafylki", + "define": "skilgreina", + "description": "lýsing", + "expanded": "útliðað", + "fill": "fylling", + "fill color": "fyllilitur", + "fill opacity": "ógegnsæi fyllingar", + "hidden": "falið", + "iframe": "iFrame", + "inherit": "erfa", + "name": "heiti", + "never": "aldrei", + "new window": "nýr gluggi", + "no": "nei", + "on hover": "við yfirsvif", + "opacity": "ógegnsæi", + "parent window": "yfirgluggi", + "stroke": "strik", + "weight": "þykkt", + "yes": "já", + "{delay} seconds": "{delay} sekúndur", + "# one hash for main heading": "# eitt myllumerki fyrir aðalfyrirsögn", + "## two hashes for second heading": "## tvö myllumerki fyrir aðra fyrirsögn", + "### three hashes for third heading": "### þrjú myllumerki fyrir þriðju fyrirsögn", + "**double star for bold**": "**tvöföld stjarna/margföldun fyrir feitletrað**", + "*simple star for italic*": "*einföld stjarna/margföldun fyrir skáletrað*", + "--- for an horizontal rule": "--- gefur lárétta mælistiku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Kommu-aðgreindur listi með tölum sem skilgreina strikamynstur. Til dæmis: \"5, 10, 15\".", + "About": "Um hugbúnaðinn", + "Action not allowed :(": "Þessi aðgerð er ekki leyfð :(", + "Activate slideshow mode": "Virkja skyggnusýningarham", + "Add a layer": "Bæta við lagi", + "Add a line to the current multi": "Bæta línu við fyrirliggjandi hóp", + "Add a new property": "Bæta við nýju eigindi", + "Add a polygon to the current multi": "Bæta marghyrningi við fyrirliggjandi hóp", + "Advanced actions": "Ítarlegri aðgerðir", + "Advanced properties": "Ítarlegir eiginleikar", + "Advanced transition": "Ítarleg millifærsla", + "All properties are imported.": "Öll eigindi voru flutt inn.", + "Allow interactions": "Leyfa gagnvirkni", + "An error occured": "Villa kom upp", + "Are you sure you want to cancel your changes?": "Ertu viss um að þú viljir hætta við breytingarnar þínar?", + "Are you sure you want to clone this map and all its datalayers?": "Ertu viss um að þú viljir klóna þetta kort og öll gagnalög þess?", + "Are you sure you want to delete the feature?": "Ertu viss um að þú viljir eyða fitjunni?", + "Are you sure you want to delete this layer?": "Ertu viss um að þú viljir eyða þessu lagi?", + "Are you sure you want to delete this map?": "Ertu viss um að þú viljir eyða þessu korti?", + "Are you sure you want to delete this property on all the features?": "Ertu viss um að þú viljir eyða þessu eigindi á öllum fitjum?", + "Are you sure you want to restore this version?": "Ertu viss um að vilja endurheimta þessa útgáfu?", + "Attach the map to my account": "Tengja kortið við notandaaðganginn minn", + "Auto": "Sjálfvirkt", + "Autostart when map is loaded": "Sjálfræsa þegar korti er hlaðið inn", + "Bring feature to center": "Færa fitju að miðju", + "Browse data": "Skoða gögn", + "Cancel edits": "Hætta við breytingar", + "Center map on your location": "Miðjusetja kortið á staðsetningu þína", + "Change map background": "Breyta bakgrunni landakorts", + "Change tilelayers": "Skipta um kortatíglalög", + "Choose a preset": "Veldu forstillingu", + "Choose the format of the data to import": "Veldu snið á gögnum sem á að flytja inn", + "Choose the layer to import in": "Veldu lagið sem á að flytja inn í", + "Click last point to finish shape": "Smelltu á síðasta punktinn til að ljúka lögun", + "Click to add a marker": "Smella til að bæta við kortamerki", + "Click to continue drawing": "Smelltu til að halda áfram að teikna", + "Click to edit": "Smelltu til að breyta", + "Click to start drawing a line": "Smelltu til að byrja að teikna línu", + "Click to start drawing a polygon": "Smelltu til að byrja að teikna fláka (marghyrning)", + "Clone": "Klóna", + "Clone of {name}": "Klónað afrit af {name}", + "Clone this feature": "Klóna þessa fitju", + "Clone this map": "Klóna þetta landakort", + "Close": "Loka", + "Clustering radius": "Radíus klasa", + "Comma separated list of properties to use when filtering features": "Kommu-aðgreindur listi yfir eigindi sem notaður er við síun fitja", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Gildi aðgreind með kommu, dálkmerki (tab) eða semíkommu. Miðað við SRS hnattviðmið WGS84. Einungis punktalaganir (geometries) eru fluttar inn. Við innflutning er skoðað í fyrirsögnum dálka hvort minnst sé á «lat» eða «lon» í byrjun fyrirsagna, óháð há-/lágstöfum. Allir aðrir dálkar eru fluttir inn sem eigindi.", + "Continue line": "Halda áfram með línu", + "Continue line (Ctrl+Click)": "Halda áfram með línu (Ctrl+Smella)", + "Coordinates": "Hnit", + "Credits": "Framlög", + "Current view instead of default map view?": "Fyrirliggjandi sýn í stað sjálfgefinnar kortasýnar?", + "Custom background": "Sérsniðinn bakgrunnur", + "Data is browsable": "Gögn eru vafranleg", + "Default interaction options": "Sjálfgefnir valkostir gagnvirkni", + "Default properties": "Sjálfgefnir eiginleikar", + "Default shape properties": "Sjálfgefnir eiginleikar lögunar", + "Define link to open in a new window on polygon click.": "Skilgreindu tengil til að opna í nýjum glugga þegar smellt er á marghyrning.", + "Delay between two transitions when in play mode": "Hlé milli tveggja millifærslna í afspilunarham", + "Delete": "Eyða", + "Delete all layers": "Eyða öllum lögum", + "Delete layer": "Eyða lagi", + "Delete this feature": "Eyða þessari fitju", + "Delete this property on all the features": "Eyða þessu eigindi á öllum fitjum", + "Delete this shape": "Eyða þessari lögun", + "Delete this vertex (Alt+Click)": "Eyða þessum brotpunkti (Alt+Smella)", + "Directions from here": "Leiðir héðan", + "Disable editing": "Gera breytingar óvirkar", + "Display measure": "Birta lengdarmæli", + "Display on load": "Birta við innhleðslu", + "Download": "Sækja", + "Download data": "Sækja gögn", + "Drag to reorder": "Draga til að endurraða", + "Draw a line": "Teikna línu", + "Draw a marker": "Teikna kortamerki", + "Draw a polygon": "Teikna fláka (marghyrning)", + "Draw a polyline": "Teikna fjölpunktalínu (polyline)", + "Dynamic": "Breytilegt", + "Dynamic properties": "Breytilegir eiginleikar", + "Edit": "Breyta", + "Edit feature's layer": "Breyta lagi fitjunnar", + "Edit map properties": "Breyta eiginleikum korts", + "Edit map settings": "Breyta stillingum korts", + "Edit properties in a table": "Breyta eigindum í töflu", + "Edit this feature": "Breyta þessari fitju", + "Editing": "Breytingar", + "Embed and share this map": "Setja inn á vefsíðu og deila þessu korti", + "Embed the map": "Setja landakortið inn á vefsíðu", + "Empty": "Tómt", + "Enable editing": "Virkja breytingar", + "Error in the tilelayer URL": "Villa í slóð kortatíglalags", + "Error while fetching {url}": "Villa við að sækja {url}", + "Exit Fullscreen": "Hætta í skjáfylli", + "Extract shape to separate feature": "Flytja lögun í aðskilda fitju", + "Fetch data each time map view changes.": "Sækja gögn í hvert skipti sem kortasýn breytist", + "Filter keys": "Sía lykla", + "Filter…": "Sía…", + "Format": "Snið", + "From zoom": "Frá aðdráttarstigi", + "Full map data": "Öll kortagögn", + "Go to «{feature}»": "Fara á «{feature}»", + "Heatmap intensity property": "Styrkeigindi fyrir hitakort", + "Heatmap radius": "Radíus hitakorts", + "Help": "Hjálp", + "Hide controls": "Fela hnappa", + "Home": "Heim", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hve mikið eigi að einfalda fjölpunktalínu á hverju aðdráttarstigi (meira = betri afköst og mýkra útlit, minna = nákvæmara)", + "If false, the polygon will act as a part of the underlying map.": "Ef þetta er ósatt, mun marghyrningurinn verða hluti af undirliggjandi korti.", + "Iframe export options": "Útflutningsvalkostir Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe með sérsniðinni hæð (í mynddílum/px): {{{http://iframe.url.com|hæð}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe með sérsniðinni hæð og breidd (í mynddílum/px): {{{http://iframe.url.com|hæð*breidd}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Mynd með sérsniðinni breidd (í mynddílum): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Mynd: {{http://image.url.com}}", + "Import": "Flytja inn", + "Import data": "Flytja inn gögn", + "Import in a new layer": "Flytja inn í nýtt lag", + "Imports all umap data, including layers and settings.": "Flytur inn öll umap-gögn, þar með talin lög og stillingar.", + "Include full screen link?": "Hafa með tengil á að fylla skjá?", + "Interaction options": "Valkostir gagnvirkni", + "Invalid umap data": "Ógild umap-gögn", + "Invalid umap data in {filename}": "Ógild umap-gögn í {filename}", + "Keep current visible layers": "Halda fyrirliggjandi sýnilegum lögum", + "Latitude": "Breiddargráða", + "Layer": "Lag", + "Layer properties": "Eiginleikar lags", + "Licence": "Notkunarleyfi", + "Limit bounds": "Mörk útjaðars", + "Link to…": "Tengja við…", + "Link with text: [[http://example.com|text of the link]]": "Tengill með texta: [[http://example.com|texti tengils]]", + "Long credits": "Lengra um framlög", + "Longitude": "Lengdargráða", + "Make main shape": "Gera að aðallögun", + "Manage layers": "Sýsla með lög", + "Map background credits": "Þakkir vegna bakgrunnsmyndar:", + "Map has been attached to your account": "Kortið hefur verið tengt við notandaaðganginn þinn", + "Map has been saved!": "Landakortið hefur verið vistað!", + "Map user content has been published under licence": "Kortagögn notandans eru gefin út með notkunarleyfinu", + "Map's editors": "Ritstjórar korts", + "Map's owner": "Eigandi korts", + "Merge lines": "Sameina línur", + "More controls": "Fleiri hnappar", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Verður að vera gilt CSS-gildi (t.d.: DarkBlue eða #123456)", + "No licence has been set": "Ekkert notkunarleyfi hefur verið sett", + "No results": "Engar niðurstöður", + "Only visible features will be downloaded.": "Aðeins verður náð í sýnilegar fitjur.", + "Open download panel": "Opna niðurhalsspjald", + "Open link in…": "Opna tengil í…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Opna umfang þessa korts í kortavinnsluforriti til að gefa nákvæmari kortagögn til OpenStreetMap", + "Optional intensity property for heatmap": "Valfrjálst styrkeigindi fyrir hitakort", + "Optional. Same as color if not set.": "Valfrjálst. Sama og litur ef ekkert er skilgreint.", + "Override clustering radius (default 80)": "Nota annan radíus klösunar (sjálfgefið 80)", + "Override heatmap radius (default 25)": "Nota annan radíus hitakorts (sjálfgefið 25)", + "Please be sure the licence is compliant with your use.": "Gakktu úr skugga um að notkunarleyfið samsvari notkunasviði þínu.", + "Please choose a format": "Veldu snið", + "Please enter the name of the property": "Settu inn heiti á eigindið", + "Please enter the new name of this property": "Settu inn nýja heitið á þetta eigindi", + "Powered by Leaflet and Django, glued by uMap project.": "Keyrt með Leaflet og Django, límt saman af uMap verkefninu.", + "Problem in the response": "Vandamál í svarinu", + "Problem in the response format": "Vandamál með snið svarsins", + "Properties imported:": "Innflutt eigindi:", + "Property to use for sorting features": "Eigindi til að nota við röðun fitja", + "Provide an URL here": "Gefðu hér upp URL-slóð", + "Proxy request": "Beiðni frá milliþjóni", + "Remote data": "Fjartengd gögn", + "Remove shape from the multi": "Fjarlægja lögun úr hópnum", + "Rename this property on all the features": "Endurnefna þetta eigindi á öllum fitjum", + "Replace layer content": "Skipta út innihaldi lagsins", + "Restore this version": "Endurheimta þessa útgáfu", + "Save": "Vista", + "Save anyway": "Vista samt", + "Save current edits": "Vista fyrirliggjandi breytingar", + "Save this center and zoom": "Vista þessa miðju og aðdrátt", + "Save this location as new feature": "Vista þessa staðsetningu sem nýja fitju", + "Search a place name": "Leita að staðarheiti", + "Search location": "Leita að staðsetningu", + "Secret edit link is:
    {link}": "Leynilegur breytingatengill er:
    {link}", + "See all": "Sjá allt", + "See data layers": "Skoða gagnalög", + "See full screen": "Fylla skjáinn", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Settu þetta sem ósatt til að fela þetta lag úr skyggnusýningu, gagnavafranum, sprettleiðsögn…", + "Shape properties": "Eiginleikar lögunar", + "Short URL": "Stytt slóð", + "Short credits": "Stutt um framlög", + "Show/hide layer": "Birta/Fela lag", + "Simple link: [[http://example.com]]": "Einfaldur tengill: [[http://example.com]]", + "Slideshow": "Skyggnusýning", + "Smart transitions": "Snjallar millifærslur", + "Sort key": "Röðunarlykill", + "Split line": "Skipta línu", + "Start a hole here": "Byrja holu hér", + "Start editing": "Hefja breytingar", + "Start slideshow": "Hefja skyggnusýningu", + "Stop editing": "Hætta breytingum", + "Stop slideshow": "Stöðva skyggnusýningu", + "Supported scheme": "Stutt skema", + "Supported variables that will be dynamically replaced": "Studdar breytur sem verður skipt út eftir þörfum", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Tákn getur verið annað hvort unicode-stafur eða URL-slóð. Þú getur haft eigindi fitja sem breytur: t.d.: með \"http://mittlén.org/myndir/{nafn}.png\", verður breytunni {nafn} skipt út fyrir gildið \"nafn\" í eigindum hvers merkis.", + "TMS format": "TMS-snið", + "Text color for the cluster label": "Litur á texta fyrir skýringu á klasa", + "Text formatting": "Snið á texta", + "The name of the property to use as feature label (ex.: \"nom\")": "Heiti eigindisins sem á að nota sem skýringu á fitju (dæmi: \"nafn\")", + "The zoom and center have been setted.": "Búið er að stilla aðdrátt og miðjun.", + "To use if remote server doesn't allow cross domain (slower)": "Nota ef fjartengdur þjónn leyfir ekki millivísanir léna (hægvirkara)", + "To zoom": "Í aðdrátt", + "Toggle edit mode (Shift+Click)": "Víxla breytingaham af/á (Shift+Smella)", + "Transfer shape to edited feature": "Flytja lögun í breyttu fitjuna", + "Transform to lines": "Umbreyta í línur", + "Transform to polygon": "Umbreyta í fláka/marghyrning", + "Type of layer": "Tegund lags", + "Unable to detect format of file {filename}": "Tókst ekki að ákvarða sniðið á skránni {filename}", + "Untitled layer": "Ónefnt lag", + "Untitled map": "Ónefnt landakort", + "Update permissions": "Uppfæra heimildir", + "Update permissions and editors": "Uppfæra heimildir og ritstjóra", + "Url": "Slóð", + "Use current bounds": "Nota fyrirliggjandi útjaðar", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Notaðu frátökutákn með eigindum fitja innan sviga, t.d. {nafn}, þeim verður skipt út eftir þörfum fyrir samsvarandi gildi.", + "User content credits": "Framlög notanda á efni", + "User interface options": "Valkostir notendaviðmóts", + "Versions": "Útgáfur", + "View Fullscreen": "Fylla skjáinn", + "Where do we go from here?": "Hvert förum við héðan?", + "Whether to display or not polygons paths.": "Hvort birta eigi ferla fláka/marghyrninga.", + "Whether to fill polygons with color.": "Hvort eigi að fylla fláka með lit.", + "Who can edit": "Hverjir geta breytt", + "Who can view": "Hverjir geta skoðað", + "Will be displayed in the bottom right corner of the map": "Verður birt niðri í hægra horni kortsins", + "Will be visible in the caption of the map": "Verður sýnilegt í skýringatexta kortsins", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Úbbs! Það lítur út fyrir að einhver annar hafi breytt gögnunum. Þú getur samt vistað, en það mun hreinsa út breytingarnar sem hinn aðilinn gerði.", + "You have unsaved changes.": "Það eru óvistaðar breytingar.", + "Zoom in": "Renna að", + "Zoom level for automatic zooms": "Aðdráttarstig fyrir sjálfvirkan aðdrátt", + "Zoom out": "Renna frá", + "Zoom to layer extent": "Renna að útjöðrum lags", + "Zoom to the next": "Aðdráttur að næsta", + "Zoom to the previous": "Aðdráttur á fyrra", + "Zoom to this feature": "Aðdráttur að þessari fitju", + "Zoom to this place": "Aðdráttur á þennan stað", + "attribution": "tilvísun í höfund/a", + "by": "eftir", + "display name": "birtingarnafn", + "height": "hæð", + "licence": "notkunarleyfi", + "max East": "Hám. austur", + "max North": "Hám. norður", + "max South": "Hám. suður", + "max West": "Hám. vestur", + "max zoom": "Hám. aðdráttur", + "min zoom": "lágm. aðdráttur", + "next": "næsta", + "previous": "fyrra", + "width": "breidd", + "{count} errors during import: {message}": "{count} villur við innflutning: {message}", + "Measure distances": "Mæla vegalengdir", + "NM": "Sjómílur", + "kilometers": "kílómetrar", + "km": "km", + "mi": "mi", + "miles": "mílur", + "nautical miles": "sjómílur", + "{area} acres": "{area} ekrur", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} sjómílur", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mílur", + "{distance} yd": "{distance} yd", + "1 day": "1 dagur", + "1 hour": "1 klukkustund", + "5 min": "5 mín", + "Cache proxied request": "Setja milliþjónabeiðnir í skyndiminni", + "No cache": "Ekkert biðminni", + "Popup": "Sprettgluggi", + "Popup (large)": "Sprettgluggi (stór)", + "Popup content style": "Stíll efnis í sprettglugga", + "Popup shape": "Lögun sprettglugga", + "Skipping unknown geometry.type: {type}": "Sleppi óþekktu geometry.type: {type}", + "Optional.": "Valfrjálst.", + "Paste your data here": "Límdu gögnin þín hér", + "Please save the map first": "Vistaðu fyrst kortið", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/it.js b/umap/static/umap/locale/it.js new file mode 100644 index 00000000..486164bc --- /dev/null +++ b/umap/static/umap/locale/it.js @@ -0,0 +1,377 @@ +var locale = { + "Add symbol": "Aggiungi un simbolo", + "Allow scroll wheel zoom?": "Abilitare la rotellina del mouse per lo zoom?", + "Automatic": "Automatico", + "Ball": "Palla", + "Cancel": "Annulla", + "Caption": "Didascalia", + "Change symbol": "Cambia il simbolo", + "Choose the data format": "Scegli il formato dati", + "Choose the layer of the feature": "Scegli il layer della geometria", + "Circle": "Cerchio", + "Clustered": "Raggruppata", + "Data browser": "Visualizza i dati", + "Default": "Predefinito", + "Default zoom level": "Livello di zoom di default", + "Default: name": "Predefinito: nome", + "Display label": "Mostra etichetta", + "Display the control to open OpenStreetMap editor": "Mostra il controllo per aprire l'editor di OpenStreetMap", + "Display the data layers control": "Mostra il controllo dei dati per per i livelli", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Visualizza una didascalia?", + "Do you want to display a minimap?": "Visualizzare una mappa panoramica?", + "Do you want to display a panel on load?": "Visualizza un panello al caricamento?", + "Do you want to display popup footer?": "Visualizzare la finestra di popup a piè pagina?", + "Do you want to display the scale control?": "Visualizzare la scala?", + "Do you want to display the «more» control?": "Vuoi visualizzare il controllo \"altro\"?", + "Drop": "Goccia", + "GeoRSS (only link)": "GeoRSS (solo il link)", + "GeoRSS (title + image)": "GeoRSS (titolo + immagine)", + "Heatmap": "Mappa di densità (heatmap)", + "Icon shape": "Forma dell'icona", + "Icon symbol": "Simbolo dell'icona", + "Inherit": "Eredita", + "Label direction": "Direzione dell'etichetta", + "Label key": "Chiave dell'etichetta", + "Labels are clickable": "Etichette cliccabili", + "None": "Nulla", + "On the bottom": "In basso", + "On the left": "A sinistra", + "On the right": "A destra", + "On the top": "In alto", + "Popup content template": "Template del contenuto del popup", + "Set symbol": "Imposta simbolo", + "Side panel": "Pannello laterale", + "Simplify": "Semplifica", + "Symbol or url": "Simbolo o url", + "Table": "Tabella", + "always": "sempre", + "clear": "pulisci", + "collapsed": "contratto", + "color": "colore", + "dash array": "tratteggio", + "define": "definisci", + "description": "descrizione", + "expanded": "espanso", + "fill": "riempimento", + "fill color": "colore di riempimento", + "fill opacity": "opacità riempimento", + "hidden": "nascosto", + "iframe": "iframe", + "inherit": "eredita", + "name": "nome", + "never": "mai", + "new window": "nuova finestra", + "no": "non", + "on hover": "in sovraimpressione", + "opacity": "opacità", + "parent window": "stessa finestra", + "stroke": "tratto", + "weight": "peso", + "yes": "sì", + "{delay} seconds": "{delay} secondi", + "# one hash for main heading": "# un cancelleto per l'intestazione principale", + "## two hashes for second heading": "## due cancelletti per le intestazioni di secondo livello", + "### three hashes for third heading": "### tre cancelletti per intestazione di terzo livello", + "**double star for bold**": "**due asterischi per il testo marcato**", + "*simple star for italic*": "*asterisco per l'italico*", + "--- for an horizontal rule": "--- per una linea orizzontale", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Informazioni", + "Action not allowed :(": "Azione non permessa :(", + "Activate slideshow mode": "Attiva il modo slideshow", + "Add a layer": "Aggiungi un layer", + "Add a line to the current multi": "Aggiungi una linea a quelle correnti", + "Add a new property": "Aggiungi una nuova proprietà", + "Add a polygon to the current multi": "Aggiungi un poligono a quell correnti", + "Advanced actions": "Azioni avanzate", + "Advanced properties": "Proprietà avanzate", + "Advanced transition": "Transizione avanzata", + "All properties are imported.": "Tutte le proprietà sono state importate.", + "Allow interactions": "Permetti interazioni", + "An error occured": "Si è verificato un errore", + "Are you sure you want to cancel your changes?": "Si vuole realmente annullare le modifiche fatte?", + "Are you sure you want to clone this map and all its datalayers?": "Confermi di duplicare questa mappa e tutti i suoi livelli?", + "Are you sure you want to delete the feature?": "Si è sicuri di voler cancellare questa geometria?", + "Are you sure you want to delete this layer?": "Sei sicuro di voler cancellare questo livello?", + "Are you sure you want to delete this map?": "Si è certi di voler eliminare questa mappa?", + "Are you sure you want to delete this property on all the features?": "Si è sicuri di voler cancellare questa proprietà per ogni geometria?", + "Are you sure you want to restore this version?": "Si vuole veramente ripristinare questa versione?", + "Attach the map to my account": "Aggancia la mappa al mio account", + "Auto": "Auto", + "Autostart when map is loaded": "Parte in automatico quando la mappa è caricata", + "Bring feature to center": "Porta la geometria al centro", + "Browse data": "Visualizza i dati", + "Cancel edits": "Annulla le modifiche", + "Center map on your location": "Centra la mappa sulla tua posizione", + "Change map background": "Cambia la mappa di sfondo", + "Change tilelayers": "Cambia i livelli di sfondo", + "Choose a preset": "Seleziona una preimpostazione", + "Choose the format of the data to import": "Seleziona il formato dei dati da importare", + "Choose the layer to import in": "Seleziona su quale livello fare l'importazione", + "Click last point to finish shape": "Click su ultimo punto per completare la geometria", + "Click to add a marker": "Clicca per aggiungere un marcatore", + "Click to continue drawing": "Clic per continuare a disegnare", + "Click to edit": "Clic per la modifica", + "Click to start drawing a line": "Clic per iniziare a disegnare una linea", + "Click to start drawing a polygon": "Clicca per iniziare a disegnare un poligono", + "Clone": "Clona", + "Clone of {name}": "Clone di {name}", + "Clone this feature": "Duplica questa caratteristica", + "Clone this map": "Duplica questa mappa", + "Close": "Chiudi", + "Clustering radius": "Raggio del raggruppamento", + "Comma separated list of properties to use when filtering features": "Lista di proprietà separate da virgola da utilizzare per filtrare le geometrie", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valori separati da virgola, tabulatore o punto e virgola. Il sistema di riferimento spaziale implementato è WGS84. Vengono importati solo punti. La funzione di importazione va a cercare nell'intestazione le colonne «lat» e «lon» indifferentemente se scritte in maiuscolo o minuscolo. Tutte le altre colonne sono importate come proprietà.", + "Continue line": "Linea continua", + "Continue line (Ctrl+Click)": "Continua linea (Ctrl+Click)", + "Coordinates": "Coordinate", + "Credits": "Ringraziamenti", + "Current view instead of default map view?": "Vista attuale invece che quella della mappa preimpostata?", + "Custom background": "Sfondo personalizzato", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Proprietà preimpostate", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Cancella", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Cancella questa geometria", + "Delete this property on all the features": "Cancella questa proprietà in tutte le geometrie", + "Delete this shape": "Cancella questa geometria", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Indicazioni stradali da qui", + "Disable editing": "Disabilita la modifica", + "Display measure": "Display measure", + "Display on load": "Mostra durante il caricamento", + "Download": "Scarica", + "Download data": "Download dei dati", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Disegna una linea", + "Draw a marker": "Aggiungi un marcatore", + "Draw a polygon": "Disegna un poligono", + "Draw a polyline": "Disegna una polilinea", + "Dynamic": "Dinamico", + "Dynamic properties": "Proprietà dinamiche", + "Edit": "Modifica", + "Edit feature's layer": "Modifica le geometrie del layer", + "Edit map properties": "Modifica le proprietà della mappa", + "Edit map settings": "Modifica le impostazioni della mappa", + "Edit properties in a table": "Modifica le proprietà in una tabella", + "Edit this feature": "Modifica questa geometria", + "Editing": "Modifica", + "Embed and share this map": "Includi e condividi questa mappa", + "Embed the map": "Includi la mappa", + "Empty": "Vuoto", + "Enable editing": "Abilita la modifica", + "Error in the tilelayer URL": "Errore nell'URL nel servizio di tile", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Dividi la geometria in geometrie separate", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Dallo zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Vai a «{feature}»", + "Heatmap intensity property": "Proprietà intensità mappa di densità", + "Heatmap radius": "Raggio mappa di densità", + "Help": "Aiuto", + "Hide controls": "Nascondi controlli", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Quanto vuoi semplificare la polilinea per ogni zoom (più = maggiori perfromance a aspetto più semplificato, meno = maggior dettaglio)", + "If false, the polygon will act as a part of the underlying map.": "Se falso, il poligono agirà come parte della mappa sottostante.", + "Iframe export options": "opzioni di esportazione iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altezza (in px) personalizzata: {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Immagine con larghezza personalizzata (width) (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Immagini: {{http://image.url.com}}", + "Import": "Importa", + "Import data": "Importa dati", + "Import in a new layer": "Importa in un nuovo layer", + "Imports all umap data, including layers and settings.": "importa tutti i dati di umap compresi layer e le impostazioni", + "Include full screen link?": "inserire link per la vista a schemo intero?", + "Interaction options": "Interaction options", + "Invalid umap data": "dati di umap non validi", + "Invalid umap data in {filename}": "dati umap non validi nel file {filename}", + "Keep current visible layers": "Mantieni i livelli attualmente visibili", + "Latitude": "Latitudine", + "Layer": "Layer", + "Layer properties": "Proprietà del layer", + "Licence": "Licenza", + "Limit bounds": "Limiti di confine", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link con testo: [[http://example.com|testo del link]]", + "Long credits": "Ringraziamenti estesi", + "Longitude": "Longitudine", + "Make main shape": "Genera geometria generale", + "Manage layers": "Manage layers", + "Map background credits": "Riconoscimenti per la mappa di sfondo", + "Map has been attached to your account": "La mappa è stata associata al tuo account", + "Map has been saved!": "La mappa è stata salvata", + "Map user content has been published under licence": "I contenuti della mappa sono rilasciati secondo la licenza", + "Map's editors": "Editor della mappa", + "Map's owner": "Proprietario della mappa", + "Merge lines": "Unisci linee", + "More controls": "Maggiori controlli", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Non è ancora stata impostata una licenza", + "No results": "No results", + "Only visible features will be downloaded.": "Saranno scaricate solo le geoemtrie visibili.", + "Open download panel": "Apri il panel scaricato", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Apri quest'area della mappa nell'editor in modo da fornire dati più accurati in OpenStreeetMap", + "Optional intensity property for heatmap": "Proprietà opzionale per la mappa di densità", + "Optional. Same as color if not set.": "Opzionale. Stesso colore se non assegnato.", + "Override clustering radius (default 80)": "Sovrascrivi raggio di raggruppamento (predefinito 80)", + "Override heatmap radius (default 25)": "Sovrascrivi raggio mappa di intensità (predefinito 25)", + "Please be sure the licence is compliant with your use.": "Si prega di verificare che la licenza è compatibile con quella in uso.", + "Please choose a format": "Scegliere un formato", + "Please enter the name of the property": "Inserire il nome della proprietà", + "Please enter the new name of this property": "Inserire il nuovo nome per questa proprietà", + "Powered by Leaflet and Django, glued by uMap project.": "Basato su Leaflet e Django, uniti nel progetto uMap.", + "Problem in the response": "Problema nella risposta", + "Problem in the response format": "Problema nel formato della risposta", + "Properties imported:": "Proprietà importate:", + "Property to use for sorting features": "Proprietà da utilizzare per ordinare gli oggetti", + "Provide an URL here": "Aggiungi una URL qui", + "Proxy request": "Richiesta proxy", + "Remote data": "Dati remoti", + "Remove shape from the multi": "Rimuovi geometria dalle altre", + "Rename this property on all the features": "Rinomina questa proprietà in tutti gli oggetti", + "Replace layer content": "Replace layer content", + "Restore this version": "Ripristina questa versione", + "Save": "Salva", + "Save anyway": "Salva comunque", + "Save current edits": "Salva le modifiche effettuate", + "Save this center and zoom": "Salva il centro e lo zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Cerca il nome di un posto", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Il link segreto per editare è: {link}", + "See all": "Vedi tutto", + "See data layers": "Vedi i livelli dati", + "See full screen": "Visualizza a schermo intero", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "URL breve", + "Short credits": "Mostra i ringraziamenti", + "Show/hide layer": "Mostra/nascondi layer", + "Simple link: [[http://example.com]]": "Link semplice: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Dividi linea", + "Start a hole here": "Comincia un buco qui", + "Start editing": "Avvia modifica", + "Start slideshow": "Avvia slideshow", + "Stop editing": "Ferma la modifica", + "Stop slideshow": "Ferma slideshow", + "Supported scheme": "Schema supportato", + "Supported variables that will be dynamically replaced": "Variabili supportate che verranno cambiate dinamicamente", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Il simbolo può essere sia un carattere Unicode che un indirizzo URL. Puoi usare delle proprietà di elemento come variabili: ad esempio con “http://myserver.org/images/{name}.png”, la variabile {name} verrà rimpiazzata con il valore “nome” di ogni marcatore.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Colore di testo per l'etichetta del raggruppamento", + "Text formatting": "Formattazione testo", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Il livello di zoom e il centro sono stati impostati.", + "To use if remote server doesn't allow cross domain (slower)": "Da utilizzare se il server remoto non permette l'accesso incrociato ai domini (lento)", + "To zoom": "Allo zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Trasforma la geometria in una modificabile", + "Transform to lines": "Trasforma in linee", + "Transform to polygon": "Trasforma in poligono", + "Type of layer": "Tipo di layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Layer senza nome", + "Untitled map": "Mappa senza nome", + "Update permissions": "Aggiorna autorizzazioni", + "Update permissions and editors": "Cambia i permessi e gli editori", + "Url": "Url", + "Use current bounds": "Utilizza l'area in uso", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Specificando le proprietà degli oggetti attraverso le parentesi graffe es. {name} queste saranno automaticamente sostituite con i valore corrispondenti", + "User content credits": "Riconoscimenti ai contenuti utente", + "User interface options": "Opzioni interfaccia utente", + "Versions": "Versioni", + "View Fullscreen": "Visualizza a schermo intero", + "Where do we go from here?": "Da dove ci spostiamo da qui?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Chi può modificare", + "Who can view": "Chi può vedere", + "Will be displayed in the bottom right corner of the map": "Sarà visualizzato in un angolo in basso a destra sulla mappa", + "Will be visible in the caption of the map": "Sarà visibile nella didascalia della mappa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "OPS! Qualcun altro sembra aver modificato i dati. È possibile comunque salvare, ma questo cancellerà le modifiche apportate da altri.", + "You have unsaved changes.": "Ci sono delle modifiche che non sono state ancora salvate.", + "Zoom in": "Ingrandisci", + "Zoom level for automatic zooms": "Livelli di zoom per zoom automatici", + "Zoom out": "Rimpicciolisci", + "Zoom to layer extent": "Zoom alla larghezza massima del layer", + "Zoom to the next": "Zoom sul prossimo", + "Zoom to the previous": "Zoom sul precedente", + "Zoom to this feature": "Zoom su questa geometria", + "Zoom to this place": "Zoom to this place", + "attribution": "attribuzione", + "by": "di", + "display name": "visualizza il nome", + "height": "altezza", + "licence": "licenza", + "max East": "max Est", + "max North": "max Nord", + "max South": "max Sud", + "max West": "max Ovest", + "max zoom": "zoom massimo", + "min zoom": "zoom minimo", + "next": "prossimo", + "previous": "precedente", + "width": "larghezza", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Misura le distanze", + "NM": "Miglia nautiche", + "kilometers": "chilometri", + "km": "km", + "mi": "miglia", + "miles": "miglia", + "nautical miles": "miglia nautiche", + "{area} acres": "{area} acri", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miglia", + "{distance} yd": "{distance} yd", + "1 day": "1 giorno", + "1 hour": "1 ora", + "5 min": "5 min", + "Cache proxied request": "Usa la cache per le richieste proxy", + "No cache": "Nessuna cache", + "Popup": "Popup", + "Popup (large)": "Popup (grande)", + "Popup content style": "Stile del contenuto del Popup", + "Popup shape": "Forma del Popup", + "Skipping unknown geometry.type: {type}": "Salta le geometrie sconosciute.type: {type}", + "Optional.": "Opzionale.", + "Paste your data here": "Incolla i tuoi dati qui", + "Please save the map first": "Per favore prima salva la mappa ", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} +; +L.registerLocale("it", locale); +L.setLocale("it"); \ No newline at end of file diff --git a/umap/static/umap/locale/it.json b/umap/static/umap/locale/it.json new file mode 100644 index 00000000..3e6efa1e --- /dev/null +++ b/umap/static/umap/locale/it.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Aggiungi un simbolo", + "Allow scroll wheel zoom?": "Abilitare la rotellina del mouse per lo zoom?", + "Automatic": "Automatico", + "Ball": "Palla", + "Cancel": "Annulla", + "Caption": "Didascalia", + "Change symbol": "Cambia il simbolo", + "Choose the data format": "Scegli il formato dati", + "Choose the layer of the feature": "Scegli il layer della geometria", + "Circle": "Cerchio", + "Clustered": "Raggruppata", + "Data browser": "Visualizza i dati", + "Default": "Predefinito", + "Default zoom level": "Livello di zoom di default", + "Default: name": "Predefinito: nome", + "Display label": "Mostra etichetta", + "Display the control to open OpenStreetMap editor": "Mostra il controllo per aprire l'editor di OpenStreetMap", + "Display the data layers control": "Mostra il controllo dei dati per per i livelli", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Visualizza una didascalia?", + "Do you want to display a minimap?": "Visualizzare una mappa panoramica?", + "Do you want to display a panel on load?": "Visualizza un panello al caricamento?", + "Do you want to display popup footer?": "Visualizzare la finestra di popup a piè pagina?", + "Do you want to display the scale control?": "Visualizzare la scala?", + "Do you want to display the «more» control?": "Vuoi visualizzare il controllo \"altro\"?", + "Drop": "Goccia", + "GeoRSS (only link)": "GeoRSS (solo il link)", + "GeoRSS (title + image)": "GeoRSS (titolo + immagine)", + "Heatmap": "Mappa di densità (heatmap)", + "Icon shape": "Forma dell'icona", + "Icon symbol": "Simbolo dell'icona", + "Inherit": "Eredita", + "Label direction": "Direzione dell'etichetta", + "Label key": "Chiave dell'etichetta", + "Labels are clickable": "Etichette cliccabili", + "None": "Nulla", + "On the bottom": "In basso", + "On the left": "A sinistra", + "On the right": "A destra", + "On the top": "In alto", + "Popup content template": "Template del contenuto del popup", + "Set symbol": "Imposta simbolo", + "Side panel": "Pannello laterale", + "Simplify": "Semplifica", + "Symbol or url": "Simbolo o url", + "Table": "Tabella", + "always": "sempre", + "clear": "pulisci", + "collapsed": "contratto", + "color": "colore", + "dash array": "tratteggio", + "define": "definisci", + "description": "descrizione", + "expanded": "espanso", + "fill": "riempimento", + "fill color": "colore di riempimento", + "fill opacity": "opacità riempimento", + "hidden": "nascosto", + "iframe": "iframe", + "inherit": "eredita", + "name": "nome", + "never": "mai", + "new window": "nuova finestra", + "no": "non", + "on hover": "in sovraimpressione", + "opacity": "opacità", + "parent window": "stessa finestra", + "stroke": "tratto", + "weight": "peso", + "yes": "sì", + "{delay} seconds": "{delay} secondi", + "# one hash for main heading": "# un cancelleto per l'intestazione principale", + "## two hashes for second heading": "## due cancelletti per le intestazioni di secondo livello", + "### three hashes for third heading": "### tre cancelletti per intestazione di terzo livello", + "**double star for bold**": "**due asterischi per il testo marcato**", + "*simple star for italic*": "*asterisco per l'italico*", + "--- for an horizontal rule": "--- per una linea orizzontale", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Informazioni", + "Action not allowed :(": "Azione non permessa :(", + "Activate slideshow mode": "Attiva il modo slideshow", + "Add a layer": "Aggiungi un layer", + "Add a line to the current multi": "Aggiungi una linea a quelle correnti", + "Add a new property": "Aggiungi una nuova proprietà", + "Add a polygon to the current multi": "Aggiungi un poligono a quell correnti", + "Advanced actions": "Azioni avanzate", + "Advanced properties": "Proprietà avanzate", + "Advanced transition": "Transizione avanzata", + "All properties are imported.": "Tutte le proprietà sono state importate.", + "Allow interactions": "Permetti interazioni", + "An error occured": "Si è verificato un errore", + "Are you sure you want to cancel your changes?": "Si vuole realmente annullare le modifiche fatte?", + "Are you sure you want to clone this map and all its datalayers?": "Confermi di duplicare questa mappa e tutti i suoi livelli?", + "Are you sure you want to delete the feature?": "Si è sicuri di voler cancellare questa geometria?", + "Are you sure you want to delete this layer?": "Sei sicuro di voler cancellare questo livello?", + "Are you sure you want to delete this map?": "Si è certi di voler eliminare questa mappa?", + "Are you sure you want to delete this property on all the features?": "Si è sicuri di voler cancellare questa proprietà per ogni geometria?", + "Are you sure you want to restore this version?": "Si vuole veramente ripristinare questa versione?", + "Attach the map to my account": "Aggancia la mappa al mio account", + "Auto": "Auto", + "Autostart when map is loaded": "Parte in automatico quando la mappa è caricata", + "Bring feature to center": "Porta la geometria al centro", + "Browse data": "Visualizza i dati", + "Cancel edits": "Annulla le modifiche", + "Center map on your location": "Centra la mappa sulla tua posizione", + "Change map background": "Cambia la mappa di sfondo", + "Change tilelayers": "Cambia i livelli di sfondo", + "Choose a preset": "Seleziona una preimpostazione", + "Choose the format of the data to import": "Seleziona il formato dei dati da importare", + "Choose the layer to import in": "Seleziona su quale livello fare l'importazione", + "Click last point to finish shape": "Click su ultimo punto per completare la geometria", + "Click to add a marker": "Clicca per aggiungere un marcatore", + "Click to continue drawing": "Clic per continuare a disegnare", + "Click to edit": "Clic per la modifica", + "Click to start drawing a line": "Clic per iniziare a disegnare una linea", + "Click to start drawing a polygon": "Clicca per iniziare a disegnare un poligono", + "Clone": "Clona", + "Clone of {name}": "Clone di {name}", + "Clone this feature": "Duplica questa caratteristica", + "Clone this map": "Duplica questa mappa", + "Close": "Chiudi", + "Clustering radius": "Raggio del raggruppamento", + "Comma separated list of properties to use when filtering features": "Lista di proprietà separate da virgola da utilizzare per filtrare le geometrie", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valori separati da virgola, tabulatore o punto e virgola. Il sistema di riferimento spaziale implementato è WGS84. Vengono importati solo punti. La funzione di importazione va a cercare nell'intestazione le colonne «lat» e «lon» indifferentemente se scritte in maiuscolo o minuscolo. Tutte le altre colonne sono importate come proprietà.", + "Continue line": "Linea continua", + "Continue line (Ctrl+Click)": "Continua linea (Ctrl+Click)", + "Coordinates": "Coordinate", + "Credits": "Ringraziamenti", + "Current view instead of default map view?": "Vista attuale invece che quella della mappa preimpostata?", + "Custom background": "Sfondo personalizzato", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Proprietà preimpostate", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Cancella", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Cancella questa geometria", + "Delete this property on all the features": "Cancella questa proprietà in tutte le geometrie", + "Delete this shape": "Cancella questa geometria", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Indicazioni stradali da qui", + "Disable editing": "Disabilita la modifica", + "Display measure": "Display measure", + "Display on load": "Mostra durante il caricamento", + "Download": "Scarica", + "Download data": "Download dei dati", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Disegna una linea", + "Draw a marker": "Aggiungi un marcatore", + "Draw a polygon": "Disegna un poligono", + "Draw a polyline": "Disegna una polilinea", + "Dynamic": "Dinamico", + "Dynamic properties": "Proprietà dinamiche", + "Edit": "Modifica", + "Edit feature's layer": "Modifica le geometrie del layer", + "Edit map properties": "Modifica le proprietà della mappa", + "Edit map settings": "Modifica le impostazioni della mappa", + "Edit properties in a table": "Modifica le proprietà in una tabella", + "Edit this feature": "Modifica questa geometria", + "Editing": "Modifica", + "Embed and share this map": "Includi e condividi questa mappa", + "Embed the map": "Includi la mappa", + "Empty": "Vuoto", + "Enable editing": "Abilita la modifica", + "Error in the tilelayer URL": "Errore nell'URL nel servizio di tile", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Dividi la geometria in geometrie separate", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtro...", + "Format": "Formato", + "From zoom": "Dallo zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Vai a «{feature}»", + "Heatmap intensity property": "Proprietà intensità mappa di densità", + "Heatmap radius": "Raggio mappa di densità", + "Help": "Aiuto", + "Hide controls": "Nascondi controlli", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Quanto vuoi semplificare la polilinea per ogni zoom (più = maggiori perfromance a aspetto più semplificato, meno = maggior dettaglio)", + "If false, the polygon will act as a part of the underlying map.": "Se falso, il poligono agirà come parte della mappa sottostante.", + "Iframe export options": "opzioni di esportazione iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altezza (in px) personalizzata: {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Immagine con larghezza personalizzata (width) (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Immagini: {{http://image.url.com}}", + "Import": "Importa", + "Import data": "Importa dati", + "Import in a new layer": "Importa in un nuovo layer", + "Imports all umap data, including layers and settings.": "importa tutti i dati di umap compresi layer e le impostazioni", + "Include full screen link?": "inserire link per la vista a schemo intero?", + "Interaction options": "Interaction options", + "Invalid umap data": "dati di umap non validi", + "Invalid umap data in {filename}": "dati umap non validi nel file {filename}", + "Keep current visible layers": "Mantieni i livelli attualmente visibili", + "Latitude": "Latitudine", + "Layer": "Layer", + "Layer properties": "Proprietà del layer", + "Licence": "Licenza", + "Limit bounds": "Limiti di confine", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link con testo: [[http://example.com|testo del link]]", + "Long credits": "Ringraziamenti estesi", + "Longitude": "Longitudine", + "Make main shape": "Genera geometria generale", + "Manage layers": "Manage layers", + "Map background credits": "Riconoscimenti per la mappa di sfondo", + "Map has been attached to your account": "La mappa è stata associata al tuo account", + "Map has been saved!": "La mappa è stata salvata", + "Map user content has been published under licence": "I contenuti della mappa sono rilasciati secondo la licenza", + "Map's editors": "Editor della mappa", + "Map's owner": "Proprietario della mappa", + "Merge lines": "Unisci linee", + "More controls": "Maggiori controlli", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Non è ancora stata impostata una licenza", + "No results": "No results", + "Only visible features will be downloaded.": "Saranno scaricate solo le geoemtrie visibili.", + "Open download panel": "Apri il panel scaricato", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Apri quest'area della mappa nell'editor in modo da fornire dati più accurati in OpenStreeetMap", + "Optional intensity property for heatmap": "Proprietà opzionale per la mappa di densità", + "Optional. Same as color if not set.": "Opzionale. Stesso colore se non assegnato.", + "Override clustering radius (default 80)": "Sovrascrivi raggio di raggruppamento (predefinito 80)", + "Override heatmap radius (default 25)": "Sovrascrivi raggio mappa di intensità (predefinito 25)", + "Please be sure the licence is compliant with your use.": "Si prega di verificare che la licenza è compatibile con quella in uso.", + "Please choose a format": "Scegliere un formato", + "Please enter the name of the property": "Inserire il nome della proprietà", + "Please enter the new name of this property": "Inserire il nuovo nome per questa proprietà", + "Powered by Leaflet and Django, glued by uMap project.": "Basato su Leaflet e Django, uniti nel progetto uMap.", + "Problem in the response": "Problema nella risposta", + "Problem in the response format": "Problema nel formato della risposta", + "Properties imported:": "Proprietà importate:", + "Property to use for sorting features": "Proprietà da utilizzare per ordinare gli oggetti", + "Provide an URL here": "Aggiungi una URL qui", + "Proxy request": "Richiesta proxy", + "Remote data": "Dati remoti", + "Remove shape from the multi": "Rimuovi geometria dalle altre", + "Rename this property on all the features": "Rinomina questa proprietà in tutti gli oggetti", + "Replace layer content": "Replace layer content", + "Restore this version": "Ripristina questa versione", + "Save": "Salva", + "Save anyway": "Salva comunque", + "Save current edits": "Salva le modifiche effettuate", + "Save this center and zoom": "Salva il centro e lo zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Cerca il nome di un posto", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Il link segreto per editare è: {link}", + "See all": "Vedi tutto", + "See data layers": "Vedi i livelli dati", + "See full screen": "Visualizza a schermo intero", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "URL breve", + "Short credits": "Mostra i ringraziamenti", + "Show/hide layer": "Mostra/nascondi layer", + "Simple link: [[http://example.com]]": "Link semplice: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Dividi linea", + "Start a hole here": "Comincia un buco qui", + "Start editing": "Avvia modifica", + "Start slideshow": "Avvia slideshow", + "Stop editing": "Ferma la modifica", + "Stop slideshow": "Ferma slideshow", + "Supported scheme": "Schema supportato", + "Supported variables that will be dynamically replaced": "Variabili supportate che verranno cambiate dinamicamente", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Il simbolo può essere sia un carattere Unicode che un indirizzo URL. Puoi usare delle proprietà di elemento come variabili: ad esempio con “http://myserver.org/images/{name}.png”, la variabile {name} verrà rimpiazzata con il valore “nome” di ogni marcatore.", + "TMS format": "formato TMS", + "Text color for the cluster label": "Colore di testo per l'etichetta del raggruppamento", + "Text formatting": "Formattazione testo", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Il livello di zoom e il centro sono stati impostati.", + "To use if remote server doesn't allow cross domain (slower)": "Da utilizzare se il server remoto non permette l'accesso incrociato ai domini (lento)", + "To zoom": "Allo zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Trasforma la geometria in una modificabile", + "Transform to lines": "Trasforma in linee", + "Transform to polygon": "Trasforma in poligono", + "Type of layer": "Tipo di layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Layer senza nome", + "Untitled map": "Mappa senza nome", + "Update permissions": "Aggiorna autorizzazioni", + "Update permissions and editors": "Cambia i permessi e gli editori", + "Url": "Url", + "Use current bounds": "Utilizza l'area in uso", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Specificando le proprietà degli oggetti attraverso le parentesi graffe es. {name} queste saranno automaticamente sostituite con i valore corrispondenti", + "User content credits": "Riconoscimenti ai contenuti utente", + "User interface options": "Opzioni interfaccia utente", + "Versions": "Versioni", + "View Fullscreen": "Visualizza a schermo intero", + "Where do we go from here?": "Da dove ci spostiamo da qui?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Chi può modificare", + "Who can view": "Chi può vedere", + "Will be displayed in the bottom right corner of the map": "Sarà visualizzato in un angolo in basso a destra sulla mappa", + "Will be visible in the caption of the map": "Sarà visibile nella didascalia della mappa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "OPS! Qualcun altro sembra aver modificato i dati. È possibile comunque salvare, ma questo cancellerà le modifiche apportate da altri.", + "You have unsaved changes.": "Ci sono delle modifiche che non sono state ancora salvate.", + "Zoom in": "Ingrandisci", + "Zoom level for automatic zooms": "Livelli di zoom per zoom automatici", + "Zoom out": "Rimpicciolisci", + "Zoom to layer extent": "Zoom alla larghezza massima del layer", + "Zoom to the next": "Zoom sul prossimo", + "Zoom to the previous": "Zoom sul precedente", + "Zoom to this feature": "Zoom su questa geometria", + "Zoom to this place": "Zoom to this place", + "attribution": "attribuzione", + "by": "di", + "display name": "visualizza il nome", + "height": "altezza", + "licence": "licenza", + "max East": "max Est", + "max North": "max Nord", + "max South": "max Sud", + "max West": "max Ovest", + "max zoom": "zoom massimo", + "min zoom": "zoom minimo", + "next": "prossimo", + "previous": "precedente", + "width": "larghezza", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Misura le distanze", + "NM": "Miglia nautiche", + "kilometers": "chilometri", + "km": "km", + "mi": "miglia", + "miles": "miglia", + "nautical miles": "miglia nautiche", + "{area} acres": "{area} acri", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miglia", + "{distance} yd": "{distance} yd", + "1 day": "1 giorno", + "1 hour": "1 ora", + "5 min": "5 min", + "Cache proxied request": "Usa la cache per le richieste proxy", + "No cache": "Nessuna cache", + "Popup": "Popup", + "Popup (large)": "Popup (grande)", + "Popup content style": "Stile del contenuto del Popup", + "Popup shape": "Forma del Popup", + "Skipping unknown geometry.type: {type}": "Salta le geometrie sconosciute.type: {type}", + "Optional.": "Opzionale.", + "Paste your data here": "Incolla i tuoi dati qui", + "Please save the map first": "Per favore prima salva la mappa ", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/ja.js b/umap/static/umap/locale/ja.js new file mode 100644 index 00000000..ea6e7453 --- /dev/null +++ b/umap/static/umap/locale/ja.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "シンボルを追加", + "Allow scroll wheel zoom?": "マウスホイールでのスクロールを許可?", + "Automatic": "自動", + "Ball": "まち針", + "Cancel": "キャンセル", + "Caption": "表題", + "Change symbol": "シンボル変更", + "Choose the data format": "データ形式選択", + "Choose the layer of the feature": "地物のレイヤを選択", + "Circle": "円形", + "Clustered": "クラスタ化", + "Data browser": "データブラウザ", + "Default": "デフォルト", + "Default zoom level": "標準ズームレベル", + "Default: name": "デフォルト: 名称", + "Display label": "ラベルを表示", + "Display the control to open OpenStreetMap editor": "OpenStreetMapエディタを起動するパネルを表示", + "Display the data layers control": "データレイヤ操作パネルを表示", + "Display the embed control": "サイトへのマップ埋め込みパネルを表示", + "Display the fullscreen control": "フルスクリーンパネルを表示", + "Display the locate control": "現在地パネルを表示", + "Display the measure control": "縮尺パネルを表示", + "Display the search control": "検索パネルを表示", + "Display the tile layers control": "タイルレイヤパネルを表示", + "Display the zoom control": "ズーム変更パネルを表示", + "Do you want to display a caption bar?": "表題を表示しますか?", + "Do you want to display a minimap?": "ミニマップを表示しますか?", + "Do you want to display a panel on load?": "読み込み時にパネルを表示しますか?", + "Do you want to display popup footer?": "フッタをポップアップしますか?", + "Do you want to display the scale control?": "縮尺を表示しますか?", + "Do you want to display the «more» control?": "«more»操作パネルを表示しますか?", + "Drop": "しずく型", + "GeoRSS (only link)": "GeoRSS (リンクのみ)", + "GeoRSS (title + image)": "GeoRSS (タイトル+画像)", + "Heatmap": "ヒートマップ", + "Icon shape": "アイコン形状", + "Icon symbol": "アイコンシンボル", + "Inherit": "属性継承", + "Label direction": "ラベルの位置", + "Label key": "ラベル表示するキー", + "Labels are clickable": "ラベルをクリックしてポップアップを表示", + "None": "なし", + "On the bottom": "下寄せ", + "On the left": "左寄せ", + "On the right": "右寄せ", + "On the top": "上寄せ", + "Popup content template": "ポップアップコンテンツのテンプレート", + "Set symbol": "シンボルを設定", + "Side panel": "サイドパネル", + "Simplify": "簡略化", + "Symbol or url": "シンボルまたはURL", + "Table": "テーブル", + "always": "常時", + "clear": "クリア", + "collapsed": "ボタン", + "color": "色", + "dash array": "破線表示", + "define": "指定", + "description": "概要", + "expanded": "リスト", + "fill": "塗りつぶし", + "fill color": "塗りつぶし色", + "fill opacity": "塗りつぶし透過度", + "hidden": "隠す", + "iframe": "iframe", + "inherit": "属性継承", + "name": "名称", + "never": "表示しない", + "new window": "新規ウィンドウ", + "no": "いいえ", + "on hover": "ホバー時", + "opacity": "透過度", + "parent window": "親ウィンドウ", + "stroke": "ストローク", + "weight": "線の太さ", + "yes": "はい", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# ハッシュ1つで主な見出し", + "## two hashes for second heading": "## ハッシュ2つで第二見出し", + "### three hashes for third heading": "### ハッシュ3つで第三見出し", + "**double star for bold**": "**アスタリスク2つで太字**", + "*simple star for italic*": "*アスタリスク1つでイタリック体*", + "--- for an horizontal rule": "--- 横方向の罫線", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "カンマで数字を区切り、ストロークの破線パターンを指定。 例: \"5, 10, 15\"", + "About": "概要", + "Action not allowed :(": "そのアクションは禁止されています :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "レイヤ追加", + "Add a line to the current multi": "現在のマルチにラインを追加", + "Add a new property": "プロパティ追加", + "Add a polygon to the current multi": "現在のマルチにポリゴンを追加", + "Advanced actions": "拡張アクション", + "Advanced properties": "拡張プロパティ", + "Advanced transition": "拡張トランジション", + "All properties are imported.": "すべてのプロパティがインポートされました。", + "Allow interactions": "インタラクションを許可", + "An error occured": "エラーが発生しました", + "Are you sure you want to cancel your changes?": "本当に編集内容を破棄しますか?", + "Are you sure you want to clone this map and all its datalayers?": "すべてのデータレイヤを含むマップ全体を複製してよいですか?", + "Are you sure you want to delete the feature?": "地物を削除してよいですか?", + "Are you sure you want to delete this layer?": "本当にこのレイヤを削除してよいですか?", + "Are you sure you want to delete this map?": "本当にこのマップを削除してよいですか?", + "Are you sure you want to delete this property on all the features?": "すべての地物からこのプロパティを削除します。よろしいですか?", + "Are you sure you want to restore this version?": "本当にこのバージョンを復元してよいですか?", + "Attach the map to my account": "マップを自分のアカウントに関連付ける", + "Auto": "自動", + "Autostart when map is loaded": "マップ読み込み時に自動で開始", + "Bring feature to center": "この地物を中心に表示", + "Browse data": "データ内容表示", + "Cancel edits": "編集を破棄", + "Center map on your location": "閲覧者の位置をマップの中心に設定", + "Change map background": "背景地図を変更", + "Change tilelayers": "タイルレイヤの変更", + "Choose a preset": "プリセット選択", + "Choose the format of the data to import": "インポートデータ形式を選択", + "Choose the layer to import in": "インポート対象レイヤ選択", + "Click last point to finish shape": "クリックでシェイプの作成を終了", + "Click to add a marker": "クリックでマーカー追加", + "Click to continue drawing": "クリックで描画を継続", + "Click to edit": "クリックで編集", + "Click to start drawing a line": "クリックでラインの描画開始", + "Click to start drawing a polygon": "クリックでポリゴンの描画開始", + "Clone": "複製", + "Clone of {name}": "{name}の複製", + "Clone this feature": "この地物を複製", + "Clone this map": "マップを複製", + "Close": "閉じる", + "Clustering radius": "クラスタ包括半径", + "Comma separated list of properties to use when filtering features": "地物をフィルタする際に利用する、カンマで区切ったプロパティのリスト", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "カンマ、タブ、セミコロンなどで区切られた値。SRSはWGS84が適用されます。ポイントのジオメトリのみがインポート対象です。インポートを行なう際は、カラムの先頭行を対象に «lat» と «lon» という文字列が検索されます。検索は行の最初から順に行われ、大文字と小文字は区別されません。その他のすべてのカラムは、プロパティとしてインポートされます。", + "Continue line": "ラインを延長", + "Continue line (Ctrl+Click)": "ラインを延長(Ctrl+クリック)", + "Coordinates": "位置情報", + "Credits": "制作", + "Current view instead of default map view?": "デフォルトのマップ表示から現在の表示に切り替えますか?", + "Custom background": "独自背景", + "Data is browsable": "Data is browsable", + "Default interaction options": "標準のポップアップオプション", + "Default properties": "標準のプロパティ", + "Default shape properties": "標準のシェイプ表示プロパティ", + "Define link to open in a new window on polygon click.": "ポリゴンクリック時にリンクを新しいウィンドウで開く", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "削除", + "Delete all layers": "すべてのレイヤを削除", + "Delete layer": "レイヤを削除", + "Delete this feature": "地物を削除", + "Delete this property on all the features": "すべての地物からこのプロパティを削除", + "Delete this shape": "このシェイプを削除", + "Delete this vertex (Alt+Click)": "このポイントを削除(Altを押しながらクリック)", + "Directions from here": "ここからの距離", + "Disable editing": "編集を終了", + "Display measure": "Display measure", + "Display on load": "読み込み時に表示", + "Download": "ダンロード", + "Download data": "データダウンロード", + "Drag to reorder": "ドラッグして並べ替える", + "Draw a line": "ラインを描く", + "Draw a marker": "マーカーを配置", + "Draw a polygon": "ポリゴンを描く", + "Draw a polyline": "ポリゴンを描く", + "Dynamic": "ダイナミック", + "Dynamic properties": "動的なプロパティ", + "Edit": "編集", + "Edit feature's layer": "地物レイヤー編集", + "Edit map properties": "マッププロパティを編集", + "Edit map settings": "マップ設定を編集", + "Edit properties in a table": "表形式でプロパティを編集", + "Edit this feature": "地物を編集", + "Editing": "編集", + "Embed and share this map": "サイトへのマップ埋め込みと共有", + "Embed the map": "マップ埋め込み", + "Empty": "内容なし", + "Enable editing": "編集を有効化", + "Error in the tilelayer URL": "タイルレイヤのURLに誤りがあります", + "Error while fetching {url}": "{url} の取得エラー", + "Exit Fullscreen": "フルスクリーン表示を解除", + "Extract shape to separate feature": "シェイプを複数の地物に変換", + "Fetch data each time map view changes.": "地図表示が変更されたらデータを再取得する", + "Filter keys": "フィルタに使うキー", + "Filter…": "フィルタ...", + "Format": "フォーマット", + "From zoom": "表示開始するズームレベル", + "Full map data": "Full map data", + "Go to «{feature}»": "«{feature}»を表示", + "Heatmap intensity property": "ヒートマップ強調設定", + "Heatmap radius": "ヒートマップ包括半径", + "Help": "ヘルプ", + "Hide controls": "操作パネルを非表示", + "Home": "ホーム", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "各ズームレベルでのポリゴン簡略化 (more = パフォーマンスと滑らかさ重視, less = 正確さ重視)", + "If false, the polygon will act as a part of the underlying map.": "無効にした場合、ポリゴンは背景地図の一部として動作します。", + "Iframe export options": "Iframeエクスポートオプション", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframeの縦幅を指定(ピクセル): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframeの縦幅および横幅を指定(ピクセル): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "画像の横幅カスタム値 (px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "画像: {{http://image.url.com}}", + "Import": "インポート", + "Import data": "データインポート", + "Import in a new layer": "新規レイヤをインポート", + "Imports all umap data, including layers and settings.": "umapのデータをすべてインポート(レイヤ、設定を含む)", + "Include full screen link?": "フルスクリーンのリンクを含める?", + "Interaction options": "ポップアップオプション", + "Invalid umap data": "不正なumapデータ", + "Invalid umap data in {filename}": "{filename} に不正なumapデータ", + "Keep current visible layers": "現在表示しているレイヤを保持", + "Latitude": "緯度", + "Layer": "レイヤ", + "Layer properties": "レイヤープロパティ", + "Licence": "ライセンス", + "Limit bounds": "表示範囲の制限", + "Link to…": "リンク", + "Link with text: [[http://example.com|text of the link]]": "テキストとリンク: [[http://example.com|リンクのテキスト]]", + "Long credits": "正式なクレジット", + "Longitude": "経度", + "Make main shape": "メインシェイプを作成", + "Manage layers": "レイヤ管理", + "Map background credits": "背景地図クレジット", + "Map has been attached to your account": "あなたのアカウントにマップが関連付けられました", + "Map has been saved!": "地図の保存完了", + "Map user content has been published under licence": "マップユーザコンテンツのライセンス", + "Map's editors": "マップの編集者", + "Map's owner": "マップの所有者", + "Merge lines": "ラインを結合", + "More controls": "詳細操作パネル", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "CSSで有効な値を指定してください (例: DarkBlue, #123456など)", + "No licence has been set": "ライセンス指定がありません", + "No results": "検索結果なし", + "Only visible features will be downloaded.": "表示中の地物のみがダウンロードされます。", + "Open download panel": "ダウンロードパネルを開く", + "Open link in…": "リンクの開き方", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "現在表示中の領域をエディタで編集し、より正確なデータをOpenStreetMapへ書き込む", + "Optional intensity property for heatmap": "ヒートマップ強調表示オプション", + "Optional. Same as color if not set.": "オプション。設定がない場合、色指定と同様", + "Override clustering radius (default 80)": "クラスタ包括半径を上書き (基本値 80)", + "Override heatmap radius (default 25)": "ヒートマップ包括半径を上書き (基本値 25)", + "Please be sure the licence is compliant with your use.": "利用目的に沿ったライセンスを選択するようにしてください", + "Please choose a format": "フォーマットを指定してください", + "Please enter the name of the property": "プロパティの名称を入力してください", + "Please enter the new name of this property": "このプロパティに新しい名称を付与してください", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "レスポンスに問題があります", + "Problem in the response format": "レスポンス形式に問題があります", + "Properties imported:": "インポートされたプロパティ:", + "Property to use for sorting features": "地物並び替え時のプロパティ", + "Provide an URL here": "URLを入力してください", + "Proxy request": "プロキシリクエスト", + "Remote data": "サイト外のデータ", + "Remove shape from the multi": "マルチからシェイプを削除", + "Rename this property on all the features": "すべての地物に対してこのプロパティ名を変更", + "Replace layer content": "レイヤ内容を差し替える", + "Restore this version": "このバージョンを復元する", + "Save": "保存", + "Save anyway": "保存を再実行", + "Save current edits": "編集内容を保存", + "Save this center and zoom": "地図中心点とズームレベルを保存", + "Save this location as new feature": "この場所を新しい地物として保存", + "Search a place name": "場所の名前を検索", + "Search location": "地名で検索", + "Secret edit link is:
    {link}": "非公開の編集用リンク:
    {link}", + "See all": "すべて表示", + "See data layers": "データレイヤを見る", + "See full screen": "フルスクリーン表示", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "シェイプ表示プロパティ", + "Short URL": "短縮URL", + "Short credits": "短縮表示板クレジット", + "Show/hide layer": "レイヤ表示/非表示", + "Simple link: [[http://example.com]]": "シンプルリンク: [[http://example.com]]", + "Slideshow": "スライドショー", + "Smart transitions": "Smart transitions", + "Sort key": "並び替えに使うキー", + "Split line": "ラインを分割", + "Start a hole here": "この部分に穴を作成", + "Start editing": "編集開始", + "Start slideshow": "スライドショーを開始", + "Stop editing": "編集中断", + "Stop slideshow": "スライドショーを停止", + "Supported scheme": "対応スキーマ", + "Supported variables that will be dynamically replaced": "対応する動的な変数", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "シンボルにはユニコード文字やURLを使えます。地物のプロパティを変数として使うこともできます。例: \"http://myserver.org/images/{name}.png\" であれば、{name}の部分はそれぞれのマーカーの\"name\"の値で置き換えられます。", + "TMS format": "TMSフォーマット", + "Text color for the cluster label": "クラスタラベルのテキスト色", + "Text formatting": "テキスト形式", + "The name of the property to use as feature label (ex.: \"nom\")": "地物のラベルとして用いるプロパティ名を入力する", + "The zoom and center have been setted.": "ズームと地図中心点の設定完了", + "To use if remote server doesn't allow cross domain (slower)": "外部サーバがクロスドメインを許可していない場合に使用します (処理速度低下)", + "To zoom": "非表示にするズームレベル", + "Toggle edit mode (Shift+Click)": "編集モードを切り替える(シフトキーを押しながらクリック)", + "Transfer shape to edited feature": "シェイプを編集済み地物へ変換", + "Transform to lines": "ラインへ変換", + "Transform to polygon": "ポリゴンへ変換", + "Type of layer": "レイヤタイプ", + "Unable to detect format of file {filename}": "ファイル形式を認識できません {filename}", + "Untitled layer": "名称未定レイヤ", + "Untitled map": "名称未定マップ", + "Update permissions": "権限設定を更新", + "Update permissions and editors": "権限設定とエディタを更新", + "Url": "URL", + "Use current bounds": "現在の表示範囲を利用", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "波括弧で地物プロパティをくくると(例: {name})、対応する値に動的に置き換えられます。", + "User content credits": "ユーザ作成データのクレジット", + "User interface options": "ユーザインターフェースオプション", + "Versions": "バージョン", + "View Fullscreen": "フルスクリーン表示", + "Where do we go from here?": "ここからどこへ向かいますか?", + "Whether to display or not polygons paths.": "ポリゴンの外周線を表示するかどうか", + "Whether to fill polygons with color.": "ポリゴンを塗りつぶすかどうか", + "Who can edit": "編集できる人", + "Who can view": "閲覧できる人", + "Will be displayed in the bottom right corner of the map": "地図の右下に表示されます", + "Will be visible in the caption of the map": "地図の脚注として表示されます", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "おおおっと! 他の誰かがデータを編集したようです。あなたの編集内容をもう一度保存することもできますが、その場合、他の誰かが行った編集は削除されます。", + "You have unsaved changes.": "編集が保存されていません", + "Zoom in": "ズームイン", + "Zoom level for automatic zooms": "自動ズーム時のズームレベル", + "Zoom out": "ズームアウト", + "Zoom to layer extent": "データがある位置を表示", + "Zoom to the next": "次にズーム", + "Zoom to the previous": "前にズーム", + "Zoom to this feature": "この地物にズーム", + "Zoom to this place": "この場所にズーム", + "attribution": "著作権表示", + "by": "by", + "display name": "表示名", + "height": "縦幅", + "licence": "ライセンス", + "max East": "東端", + "max North": "北端", + "max South": "南端", + "max West": "西端", + "max zoom": "最大ズーム", + "min zoom": "最小ズーム", + "next": "次へ", + "previous": "前へ", + "width": "横幅", + "{count} errors during import: {message}": "インポートで {count} 個のエラー: {message}", + "Measure distances": "距離を計測", + "NM": "NM", + "kilometers": "キロメートル", + "km": "km", + "mi": "マイル", + "miles": "マイル", + "nautical miles": "海里", + "{area} acres": "{area} エイカー", + "{area} ha": "{area} ヘクタール", + "{area} m²": "{area} m²", + "{area} mi²": "{area} 平方マイル", + "{area} yd²": "{area} 平方ヤード", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} マイル", + "{distance} yd": "{distance} ヤード", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ja", locale); +L.setLocale("ja"); \ No newline at end of file diff --git a/umap/static/umap/locale/ja.json b/umap/static/umap/locale/ja.json new file mode 100644 index 00000000..384084f7 --- /dev/null +++ b/umap/static/umap/locale/ja.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "シンボルを追加", + "Allow scroll wheel zoom?": "マウスホイールでのスクロールを許可?", + "Automatic": "自動", + "Ball": "まち針", + "Cancel": "キャンセル", + "Caption": "表題", + "Change symbol": "シンボル変更", + "Choose the data format": "データ形式選択", + "Choose the layer of the feature": "地物のレイヤを選択", + "Circle": "円形", + "Clustered": "クラスタ化", + "Data browser": "データブラウザ", + "Default": "デフォルト", + "Default zoom level": "標準ズームレベル", + "Default: name": "デフォルト: 名称", + "Display label": "ラベルを表示", + "Display the control to open OpenStreetMap editor": "OpenStreetMapエディタを起動するパネルを表示", + "Display the data layers control": "データレイヤ操作パネルを表示", + "Display the embed control": "サイトへのマップ埋め込みパネルを表示", + "Display the fullscreen control": "フルスクリーンパネルを表示", + "Display the locate control": "現在地パネルを表示", + "Display the measure control": "縮尺パネルを表示", + "Display the search control": "検索パネルを表示", + "Display the tile layers control": "タイルレイヤパネルを表示", + "Display the zoom control": "ズーム変更パネルを表示", + "Do you want to display a caption bar?": "表題を表示しますか?", + "Do you want to display a minimap?": "ミニマップを表示しますか?", + "Do you want to display a panel on load?": "読み込み時にパネルを表示しますか?", + "Do you want to display popup footer?": "フッタをポップアップしますか?", + "Do you want to display the scale control?": "縮尺を表示しますか?", + "Do you want to display the «more» control?": "«more»操作パネルを表示しますか?", + "Drop": "しずく型", + "GeoRSS (only link)": "GeoRSS (リンクのみ)", + "GeoRSS (title + image)": "GeoRSS (タイトル+画像)", + "Heatmap": "ヒートマップ", + "Icon shape": "アイコン形状", + "Icon symbol": "アイコンシンボル", + "Inherit": "属性継承", + "Label direction": "ラベルの位置", + "Label key": "ラベル表示するキー", + "Labels are clickable": "ラベルをクリックしてポップアップを表示", + "None": "なし", + "On the bottom": "下寄せ", + "On the left": "左寄せ", + "On the right": "右寄せ", + "On the top": "上寄せ", + "Popup content template": "ポップアップコンテンツのテンプレート", + "Set symbol": "シンボルを設定", + "Side panel": "サイドパネル", + "Simplify": "簡略化", + "Symbol or url": "シンボルまたはURL", + "Table": "テーブル", + "always": "常時", + "clear": "クリア", + "collapsed": "ボタン", + "color": "色", + "dash array": "破線表示", + "define": "指定", + "description": "概要", + "expanded": "リスト", + "fill": "塗りつぶし", + "fill color": "塗りつぶし色", + "fill opacity": "塗りつぶし透過度", + "hidden": "隠す", + "iframe": "iframe", + "inherit": "属性継承", + "name": "名称", + "never": "表示しない", + "new window": "新規ウィンドウ", + "no": "いいえ", + "on hover": "ホバー時", + "opacity": "透過度", + "parent window": "親ウィンドウ", + "stroke": "ストローク", + "weight": "線の太さ", + "yes": "はい", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# ハッシュ1つで主な見出し", + "## two hashes for second heading": "## ハッシュ2つで第二見出し", + "### three hashes for third heading": "### ハッシュ3つで第三見出し", + "**double star for bold**": "**アスタリスク2つで太字**", + "*simple star for italic*": "*アスタリスク1つでイタリック体*", + "--- for an horizontal rule": "--- 横方向の罫線", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "カンマで数字を区切り、ストロークの破線パターンを指定。 例: \"5, 10, 15\"", + "About": "概要", + "Action not allowed :(": "そのアクションは禁止されています :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "レイヤ追加", + "Add a line to the current multi": "現在のマルチにラインを追加", + "Add a new property": "プロパティ追加", + "Add a polygon to the current multi": "現在のマルチにポリゴンを追加", + "Advanced actions": "拡張アクション", + "Advanced properties": "拡張プロパティ", + "Advanced transition": "拡張トランジション", + "All properties are imported.": "すべてのプロパティがインポートされました。", + "Allow interactions": "インタラクションを許可", + "An error occured": "エラーが発生しました", + "Are you sure you want to cancel your changes?": "本当に編集内容を破棄しますか?", + "Are you sure you want to clone this map and all its datalayers?": "すべてのデータレイヤを含むマップ全体を複製してよいですか?", + "Are you sure you want to delete the feature?": "地物を削除してよいですか?", + "Are you sure you want to delete this layer?": "本当にこのレイヤを削除してよいですか?", + "Are you sure you want to delete this map?": "本当にこのマップを削除してよいですか?", + "Are you sure you want to delete this property on all the features?": "すべての地物からこのプロパティを削除します。よろしいですか?", + "Are you sure you want to restore this version?": "本当にこのバージョンを復元してよいですか?", + "Attach the map to my account": "マップを自分のアカウントに関連付ける", + "Auto": "自動", + "Autostart when map is loaded": "マップ読み込み時に自動で開始", + "Bring feature to center": "この地物を中心に表示", + "Browse data": "データ内容表示", + "Cancel edits": "編集を破棄", + "Center map on your location": "閲覧者の位置をマップの中心に設定", + "Change map background": "背景地図を変更", + "Change tilelayers": "タイルレイヤの変更", + "Choose a preset": "プリセット選択", + "Choose the format of the data to import": "インポートデータ形式を選択", + "Choose the layer to import in": "インポート対象レイヤ選択", + "Click last point to finish shape": "クリックでシェイプの作成を終了", + "Click to add a marker": "クリックでマーカー追加", + "Click to continue drawing": "クリックで描画を継続", + "Click to edit": "クリックで編集", + "Click to start drawing a line": "クリックでラインの描画開始", + "Click to start drawing a polygon": "クリックでポリゴンの描画開始", + "Clone": "複製", + "Clone of {name}": "{name}の複製", + "Clone this feature": "この地物を複製", + "Clone this map": "マップを複製", + "Close": "閉じる", + "Clustering radius": "クラスタ包括半径", + "Comma separated list of properties to use when filtering features": "地物をフィルタする際に利用する、カンマで区切ったプロパティのリスト", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "カンマ、タブ、セミコロンなどで区切られた値。SRSはWGS84が適用されます。ポイントのジオメトリのみがインポート対象です。インポートを行なう際は、カラムの先頭行を対象に «lat» と «lon» という文字列が検索されます。検索は行の最初から順に行われ、大文字と小文字は区別されません。その他のすべてのカラムは、プロパティとしてインポートされます。", + "Continue line": "ラインを延長", + "Continue line (Ctrl+Click)": "ラインを延長(Ctrl+クリック)", + "Coordinates": "位置情報", + "Credits": "制作", + "Current view instead of default map view?": "デフォルトのマップ表示から現在の表示に切り替えますか?", + "Custom background": "独自背景", + "Data is browsable": "Data is browsable", + "Default interaction options": "標準のポップアップオプション", + "Default properties": "標準のプロパティ", + "Default shape properties": "標準のシェイプ表示プロパティ", + "Define link to open in a new window on polygon click.": "ポリゴンクリック時にリンクを新しいウィンドウで開く", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "削除", + "Delete all layers": "すべてのレイヤを削除", + "Delete layer": "レイヤを削除", + "Delete this feature": "地物を削除", + "Delete this property on all the features": "すべての地物からこのプロパティを削除", + "Delete this shape": "このシェイプを削除", + "Delete this vertex (Alt+Click)": "このポイントを削除(Altを押しながらクリック)", + "Directions from here": "ここからの距離", + "Disable editing": "編集を終了", + "Display measure": "Display measure", + "Display on load": "読み込み時に表示", + "Download": "ダンロード", + "Download data": "データダウンロード", + "Drag to reorder": "ドラッグして並べ替える", + "Draw a line": "ラインを描く", + "Draw a marker": "マーカーを配置", + "Draw a polygon": "ポリゴンを描く", + "Draw a polyline": "ポリゴンを描く", + "Dynamic": "ダイナミック", + "Dynamic properties": "動的なプロパティ", + "Edit": "編集", + "Edit feature's layer": "地物レイヤー編集", + "Edit map properties": "マッププロパティを編集", + "Edit map settings": "マップ設定を編集", + "Edit properties in a table": "表形式でプロパティを編集", + "Edit this feature": "地物を編集", + "Editing": "編集", + "Embed and share this map": "サイトへのマップ埋め込みと共有", + "Embed the map": "マップ埋め込み", + "Empty": "内容なし", + "Enable editing": "編集を有効化", + "Error in the tilelayer URL": "タイルレイヤのURLに誤りがあります", + "Error while fetching {url}": "{url} の取得エラー", + "Exit Fullscreen": "フルスクリーン表示を解除", + "Extract shape to separate feature": "シェイプを複数の地物に変換", + "Fetch data each time map view changes.": "地図表示が変更されたらデータを再取得する", + "Filter keys": "フィルタに使うキー", + "Filter…": "フィルタ...", + "Format": "フォーマット", + "From zoom": "表示開始するズームレベル", + "Full map data": "Full map data", + "Go to «{feature}»": "«{feature}»を表示", + "Heatmap intensity property": "ヒートマップ強調設定", + "Heatmap radius": "ヒートマップ包括半径", + "Help": "ヘルプ", + "Hide controls": "操作パネルを非表示", + "Home": "ホーム", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "各ズームレベルでのポリゴン簡略化 (more = パフォーマンスと滑らかさ重視, less = 正確さ重視)", + "If false, the polygon will act as a part of the underlying map.": "無効にした場合、ポリゴンは背景地図の一部として動作します。", + "Iframe export options": "Iframeエクスポートオプション", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframeの縦幅を指定(ピクセル): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframeの縦幅および横幅を指定(ピクセル): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "画像の横幅カスタム値 (px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "画像: {{http://image.url.com}}", + "Import": "インポート", + "Import data": "データインポート", + "Import in a new layer": "新規レイヤをインポート", + "Imports all umap data, including layers and settings.": "umapのデータをすべてインポート(レイヤ、設定を含む)", + "Include full screen link?": "フルスクリーンのリンクを含める?", + "Interaction options": "ポップアップオプション", + "Invalid umap data": "不正なumapデータ", + "Invalid umap data in {filename}": "{filename} に不正なumapデータ", + "Keep current visible layers": "現在表示しているレイヤを保持", + "Latitude": "緯度", + "Layer": "レイヤ", + "Layer properties": "レイヤープロパティ", + "Licence": "ライセンス", + "Limit bounds": "表示範囲の制限", + "Link to…": "リンク", + "Link with text: [[http://example.com|text of the link]]": "テキストとリンク: [[http://example.com|リンクのテキスト]]", + "Long credits": "正式なクレジット", + "Longitude": "経度", + "Make main shape": "メインシェイプを作成", + "Manage layers": "レイヤ管理", + "Map background credits": "背景地図クレジット", + "Map has been attached to your account": "あなたのアカウントにマップが関連付けられました", + "Map has been saved!": "地図の保存完了", + "Map user content has been published under licence": "マップユーザコンテンツのライセンス", + "Map's editors": "マップの編集者", + "Map's owner": "マップの所有者", + "Merge lines": "ラインを結合", + "More controls": "詳細操作パネル", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "CSSで有効な値を指定してください (例: DarkBlue, #123456など)", + "No licence has been set": "ライセンス指定がありません", + "No results": "検索結果なし", + "Only visible features will be downloaded.": "表示中の地物のみがダウンロードされます。", + "Open download panel": "ダウンロードパネルを開く", + "Open link in…": "リンクの開き方", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "現在表示中の領域をエディタで編集し、より正確なデータをOpenStreetMapへ書き込む", + "Optional intensity property for heatmap": "ヒートマップ強調表示オプション", + "Optional. Same as color if not set.": "オプション。設定がない場合、色指定と同様", + "Override clustering radius (default 80)": "クラスタ包括半径を上書き (基本値 80)", + "Override heatmap radius (default 25)": "ヒートマップ包括半径を上書き (基本値 25)", + "Please be sure the licence is compliant with your use.": "利用目的に沿ったライセンスを選択するようにしてください", + "Please choose a format": "フォーマットを指定してください", + "Please enter the name of the property": "プロパティの名称を入力してください", + "Please enter the new name of this property": "このプロパティに新しい名称を付与してください", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "レスポンスに問題があります", + "Problem in the response format": "レスポンス形式に問題があります", + "Properties imported:": "インポートされたプロパティ:", + "Property to use for sorting features": "地物並び替え時のプロパティ", + "Provide an URL here": "URLを入力してください", + "Proxy request": "プロキシリクエスト", + "Remote data": "サイト外のデータ", + "Remove shape from the multi": "マルチからシェイプを削除", + "Rename this property on all the features": "すべての地物に対してこのプロパティ名を変更", + "Replace layer content": "レイヤ内容を差し替える", + "Restore this version": "このバージョンを復元する", + "Save": "保存", + "Save anyway": "保存を再実行", + "Save current edits": "編集内容を保存", + "Save this center and zoom": "地図中心点とズームレベルを保存", + "Save this location as new feature": "この場所を新しい地物として保存", + "Search a place name": "場所の名前を検索", + "Search location": "地名で検索", + "Secret edit link is:
    {link}": "非公開の編集用リンク:
    {link}", + "See all": "すべて表示", + "See data layers": "データレイヤを見る", + "See full screen": "フルスクリーン表示", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "シェイプ表示プロパティ", + "Short URL": "短縮URL", + "Short credits": "短縮表示板クレジット", + "Show/hide layer": "レイヤ表示/非表示", + "Simple link: [[http://example.com]]": "シンプルリンク: [[http://example.com]]", + "Slideshow": "スライドショー", + "Smart transitions": "Smart transitions", + "Sort key": "並び替えに使うキー", + "Split line": "ラインを分割", + "Start a hole here": "この部分に穴を作成", + "Start editing": "編集開始", + "Start slideshow": "スライドショーを開始", + "Stop editing": "編集中断", + "Stop slideshow": "スライドショーを停止", + "Supported scheme": "対応スキーマ", + "Supported variables that will be dynamically replaced": "対応する動的な変数", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "シンボルにはユニコード文字やURLを使えます。地物のプロパティを変数として使うこともできます。例: \"http://myserver.org/images/{name}.png\" であれば、{name}の部分はそれぞれのマーカーの\"name\"の値で置き換えられます。", + "TMS format": "TMSフォーマット", + "Text color for the cluster label": "クラスタラベルのテキスト色", + "Text formatting": "テキスト形式", + "The name of the property to use as feature label (ex.: \"nom\")": "地物のラベルとして用いるプロパティ名を入力する", + "The zoom and center have been setted.": "ズームと地図中心点の設定完了", + "To use if remote server doesn't allow cross domain (slower)": "外部サーバがクロスドメインを許可していない場合に使用します (処理速度低下)", + "To zoom": "非表示にするズームレベル", + "Toggle edit mode (Shift+Click)": "編集モードを切り替える(シフトキーを押しながらクリック)", + "Transfer shape to edited feature": "シェイプを編集済み地物へ変換", + "Transform to lines": "ラインへ変換", + "Transform to polygon": "ポリゴンへ変換", + "Type of layer": "レイヤタイプ", + "Unable to detect format of file {filename}": "ファイル形式を認識できません {filename}", + "Untitled layer": "名称未定レイヤ", + "Untitled map": "名称未定マップ", + "Update permissions": "権限設定を更新", + "Update permissions and editors": "権限設定とエディタを更新", + "Url": "URL", + "Use current bounds": "現在の表示範囲を利用", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "波括弧で地物プロパティをくくると(例: {name})、対応する値に動的に置き換えられます。", + "User content credits": "ユーザ作成データのクレジット", + "User interface options": "ユーザインターフェースオプション", + "Versions": "バージョン", + "View Fullscreen": "フルスクリーン表示", + "Where do we go from here?": "ここからどこへ向かいますか?", + "Whether to display or not polygons paths.": "ポリゴンの外周線を表示するかどうか", + "Whether to fill polygons with color.": "ポリゴンを塗りつぶすかどうか", + "Who can edit": "編集できる人", + "Who can view": "閲覧できる人", + "Will be displayed in the bottom right corner of the map": "地図の右下に表示されます", + "Will be visible in the caption of the map": "地図の脚注として表示されます", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "おおおっと! 他の誰かがデータを編集したようです。あなたの編集内容をもう一度保存することもできますが、その場合、他の誰かが行った編集は削除されます。", + "You have unsaved changes.": "編集が保存されていません", + "Zoom in": "ズームイン", + "Zoom level for automatic zooms": "自動ズーム時のズームレベル", + "Zoom out": "ズームアウト", + "Zoom to layer extent": "データがある位置を表示", + "Zoom to the next": "次にズーム", + "Zoom to the previous": "前にズーム", + "Zoom to this feature": "この地物にズーム", + "Zoom to this place": "この場所にズーム", + "attribution": "著作権表示", + "by": "by", + "display name": "表示名", + "height": "縦幅", + "licence": "ライセンス", + "max East": "東端", + "max North": "北端", + "max South": "南端", + "max West": "西端", + "max zoom": "最大ズーム", + "min zoom": "最小ズーム", + "next": "次へ", + "previous": "前へ", + "width": "横幅", + "{count} errors during import: {message}": "インポートで {count} 個のエラー: {message}", + "Measure distances": "距離を計測", + "NM": "NM", + "kilometers": "キロメートル", + "km": "km", + "mi": "マイル", + "miles": "マイル", + "nautical miles": "海里", + "{area} acres": "{area} エイカー", + "{area} ha": "{area} ヘクタール", + "{area} m²": "{area} m²", + "{area} mi²": "{area} 平方マイル", + "{area} yd²": "{area} 平方ヤード", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} マイル", + "{distance} yd": "{distance} ヤード", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/ko.js b/umap/static/umap/locale/ko.js new file mode 100644 index 00000000..ffb0624f --- /dev/null +++ b/umap/static/umap/locale/ko.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "심볼 추가", + "Allow scroll wheel zoom?": "마우스 휠로 확대/축소할 수 있도록 하시겠습니까?", + "Automatic": "자동", + "Ball": "공", + "Cancel": "취소", + "Caption": "캡션", + "Change symbol": "심볼 변경", + "Choose the data format": "데이터 포맷 선택", + "Choose the layer of the feature": "지물이 속할 레이어 선택", + "Circle": "원", + "Clustered": "모여 있음", + "Data browser": "데이터 브라우저", + "Default": "기본값", + "Default zoom level": "기본 배율", + "Default: name": "기본값: 이름", + "Display label": "라벨 표시", + "Display the control to open OpenStreetMap editor": "OpenStreetMap 편집기 열기 버튼 표시", + "Display the data layers control": "데이터 레이어 버튼 표시", + "Display the embed control": "삽입 버튼 표시", + "Display the fullscreen control": "전체 화면 버튼 표시", + "Display the locate control": "위치 버튼 표시", + "Display the measure control": "측량 버튼 표시", + "Display the search control": "검색 버튼 표시", + "Display the tile layers control": "타일 레이어 버튼 표시", + "Display the zoom control": "배율 버튼 표시", + "Do you want to display a caption bar?": "캡션을 띄우시겠습니까?", + "Do you want to display a minimap?": "미니맵을 띄우시겠습니까?", + "Do you want to display a panel on load?": "불러오고 나서 무엇을 띄우시겠습니까?", + "Do you want to display popup footer?": "팝업을 아래쪽에 띄우시겠습니까?", + "Do you want to display the scale control?": "단위계를 왼쪽 아래에 띄우시겠습니까?", + "Do you want to display the «more» control?": "더 보기 버튼을 띄우시겠습니까?", + "Drop": "놓기", + "GeoRSS (only link)": "GeoRSS(링크만)", + "GeoRSS (title + image)": "GeoRSS(제목 + 이미지)", + "Heatmap": "히트맵", + "Icon shape": "아이콘 모양", + "Icon symbol": "아이콘 심볼", + "Inherit": "상속", + "Label direction": "라벨의 방향", + "Label key": "라벨의 키", + "Labels are clickable": "라벨을 클릭할 수 있음", + "None": "없음", + "On the bottom": "아래쪽", + "On the left": "왼쪽", + "On the right": "오른쪽", + "On the top": "위", + "Popup content template": "팝업 내용", + "Set symbol": "심볼 설정", + "Side panel": "가장자리 패널", + "Simplify": "단순화", + "Symbol or url": "심볼이나 URL", + "Table": "표", + "always": "항상", + "clear": "초기화", + "collapsed": "최소화", + "color": "색상", + "dash array": "줄표 나열", + "define": "정의", + "description": "설명", + "expanded": "최대화", + "fill": "채우기", + "fill color": "채울 색", + "fill opacity": "채울 불투명도", + "hidden": "숨기기", + "iframe": "iframe", + "inherit": "상속", + "name": "이름", + "never": "띄우지 않기", + "new window": "새 창", + "no": "아니오", + "on hover": "띄우기", + "opacity": "불투명도", + "parent window": "부모 화면", + "stroke": "획", + "weight": "높이", + "yes": "예", + "{delay} seconds": "{delay}초", + "# one hash for main heading": "# 주요 단락", + "## two hashes for second heading": "## 2차 단락", + "### three hashes for third heading": "### 3차 단락", + "**double star for bold**": "**굵게 표시**", + "*simple star for italic*": "*이탤릭체*", + "--- for an horizontal rule": "--- 수평선", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "줄표의 패턴을 정의하기 위한 숫자열. 쉼표로 구분합니다. 예시: \"5, 10, 15\".", + "About": "정보", + "Action not allowed :(": "허용되지 않은 동작입니다 :(", + "Activate slideshow mode": "슬라이드 쇼 모드 활성화", + "Add a layer": "레이어 추가", + "Add a line to the current multi": "현재 무늬에 선 추가", + "Add a new property": "새로운 속성 추가", + "Add a polygon to the current multi": "현재 무늬에 도형 추가", + "Advanced actions": "고급 동작", + "Advanced properties": "고급 속성", + "Advanced transition": "고급 전환", + "All properties are imported.": "모든 속성이 삽입되었습니다.", + "Allow interactions": "상호 작용 허용", + "An error occured": "오류가 발생했습니다", + "Are you sure you want to cancel your changes?": "정말 변경한 것들을 저장하지 않으시겠습니까?", + "Are you sure you want to clone this map and all its datalayers?": "정말 이 지도와 모든 데이터 레이어를 복제하시겠습니까?", + "Are you sure you want to delete the feature?": "정말 이 지물을 삭제하시겠습니까?", + "Are you sure you want to delete this layer?": "정말 이 레이어를 삭제하시겠습니까?", + "Are you sure you want to delete this map?": "정말 이 지도를 삭제하시겠습니까?", + "Are you sure you want to delete this property on all the features?": "정말 이 속성을 모든 지물에서 삭제하시겠습니까?", + "Are you sure you want to restore this version?": "정말 이 버전을 복원하시겠습니까?", + "Attach the map to my account": "지도를 계정에 첨부", + "Auto": "자동", + "Autostart when map is loaded": "지도를 불러올 때 자동으로 시작", + "Bring feature to center": "지물을 한가운데로 가져오기", + "Browse data": "데이터 검색", + "Cancel edits": "편집 내역 취소", + "Center map on your location": "지도에서 나의 위치를 가운데로 놓기", + "Change map background": "배경 지도 변경", + "Change tilelayers": "타일 레이어 변경", + "Choose a preset": "프리셋 선택", + "Choose the format of the data to import": "삽입할 데이터의 포맷 선택", + "Choose the layer to import in": "삽입할 레이어 선택", + "Click last point to finish shape": "도형을 그만 그리려면 마지막 점을 클릭", + "Click to add a marker": "마커를 추가하려면 클릭", + "Click to continue drawing": "계속 그리려면 클릭", + "Click to edit": "편집하려면 클릭", + "Click to start drawing a line": "선을 그리려면 클릭", + "Click to start drawing a polygon": "도형을 그리려면 클릭", + "Clone": "복제", + "Clone of {name}": "{name}의 복제본", + "Clone this feature": "이 지물 복제", + "Clone this map": "이 지도 복제", + "Close": "닫기", + "Clustering radius": "분포 반경", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ko", locale); +L.setLocale("ko"); \ No newline at end of file diff --git a/umap/static/umap/locale/ko.json b/umap/static/umap/locale/ko.json new file mode 100644 index 00000000..2e9a021d --- /dev/null +++ b/umap/static/umap/locale/ko.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "심볼 추가", + "Allow scroll wheel zoom?": "마우스 휠로 확대/축소할 수 있도록 하시겠습니까?", + "Automatic": "자동", + "Ball": "공", + "Cancel": "취소", + "Caption": "캡션", + "Change symbol": "심볼 변경", + "Choose the data format": "데이터 포맷 선택", + "Choose the layer of the feature": "지물이 속할 레이어 선택", + "Circle": "원", + "Clustered": "모여 있음", + "Data browser": "데이터 브라우저", + "Default": "기본값", + "Default zoom level": "기본 배율", + "Default: name": "기본값: 이름", + "Display label": "라벨 표시", + "Display the control to open OpenStreetMap editor": "OpenStreetMap 편집기 열기 버튼 표시", + "Display the data layers control": "데이터 레이어 버튼 표시", + "Display the embed control": "삽입 버튼 표시", + "Display the fullscreen control": "전체 화면 버튼 표시", + "Display the locate control": "위치 버튼 표시", + "Display the measure control": "측량 버튼 표시", + "Display the search control": "검색 버튼 표시", + "Display the tile layers control": "타일 레이어 버튼 표시", + "Display the zoom control": "배율 버튼 표시", + "Do you want to display a caption bar?": "캡션을 띄우시겠습니까?", + "Do you want to display a minimap?": "미니맵을 띄우시겠습니까?", + "Do you want to display a panel on load?": "불러오고 나서 무엇을 띄우시겠습니까?", + "Do you want to display popup footer?": "팝업을 아래쪽에 띄우시겠습니까?", + "Do you want to display the scale control?": "단위계를 왼쪽 아래에 띄우시겠습니까?", + "Do you want to display the «more» control?": "더 보기 버튼을 띄우시겠습니까?", + "Drop": "놓기", + "GeoRSS (only link)": "GeoRSS(링크만)", + "GeoRSS (title + image)": "GeoRSS(제목 + 이미지)", + "Heatmap": "히트맵", + "Icon shape": "아이콘 모양", + "Icon symbol": "아이콘 심볼", + "Inherit": "상속", + "Label direction": "라벨의 방향", + "Label key": "라벨의 키", + "Labels are clickable": "라벨을 클릭할 수 있음", + "None": "없음", + "On the bottom": "아래쪽", + "On the left": "왼쪽", + "On the right": "오른쪽", + "On the top": "위", + "Popup content template": "팝업 내용", + "Set symbol": "심볼 설정", + "Side panel": "가장자리 패널", + "Simplify": "단순화", + "Symbol or url": "심볼이나 URL", + "Table": "표", + "always": "항상", + "clear": "초기화", + "collapsed": "최소화", + "color": "색상", + "dash array": "줄표 나열", + "define": "정의", + "description": "설명", + "expanded": "최대화", + "fill": "채우기", + "fill color": "채울 색", + "fill opacity": "채울 불투명도", + "hidden": "숨기기", + "iframe": "iframe", + "inherit": "상속", + "name": "이름", + "never": "띄우지 않기", + "new window": "새 창", + "no": "아니오", + "on hover": "띄우기", + "opacity": "불투명도", + "parent window": "부모 화면", + "stroke": "획", + "weight": "높이", + "yes": "예", + "{delay} seconds": "{delay}초", + "# one hash for main heading": "# 주요 단락", + "## two hashes for second heading": "## 2차 단락", + "### three hashes for third heading": "### 3차 단락", + "**double star for bold**": "**굵게 표시**", + "*simple star for italic*": "*이탤릭체*", + "--- for an horizontal rule": "--- 수평선", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "줄표의 패턴을 정의하기 위한 숫자열. 쉼표로 구분합니다. 예시: \"5, 10, 15\".", + "About": "정보", + "Action not allowed :(": "허용되지 않은 동작입니다 :(", + "Activate slideshow mode": "슬라이드 쇼 모드 활성화", + "Add a layer": "레이어 추가", + "Add a line to the current multi": "현재 무늬에 선 추가", + "Add a new property": "새로운 속성 추가", + "Add a polygon to the current multi": "현재 무늬에 도형 추가", + "Advanced actions": "고급 동작", + "Advanced properties": "고급 속성", + "Advanced transition": "고급 전환", + "All properties are imported.": "모든 속성이 삽입되었습니다.", + "Allow interactions": "상호 작용 허용", + "An error occured": "오류가 발생했습니다", + "Are you sure you want to cancel your changes?": "정말 변경한 것들을 저장하지 않으시겠습니까?", + "Are you sure you want to clone this map and all its datalayers?": "정말 이 지도와 모든 데이터 레이어를 복제하시겠습니까?", + "Are you sure you want to delete the feature?": "정말 이 지물을 삭제하시겠습니까?", + "Are you sure you want to delete this layer?": "정말 이 레이어를 삭제하시겠습니까?", + "Are you sure you want to delete this map?": "정말 이 지도를 삭제하시겠습니까?", + "Are you sure you want to delete this property on all the features?": "정말 이 속성을 모든 지물에서 삭제하시겠습니까?", + "Are you sure you want to restore this version?": "정말 이 버전을 복원하시겠습니까?", + "Attach the map to my account": "지도를 계정에 첨부", + "Auto": "자동", + "Autostart when map is loaded": "지도를 불러올 때 자동으로 시작", + "Bring feature to center": "지물을 한가운데로 가져오기", + "Browse data": "데이터 검색", + "Cancel edits": "편집 내역 취소", + "Center map on your location": "지도에서 나의 위치를 가운데로 놓기", + "Change map background": "배경 지도 변경", + "Change tilelayers": "타일 레이어 변경", + "Choose a preset": "프리셋 선택", + "Choose the format of the data to import": "삽입할 데이터의 포맷 선택", + "Choose the layer to import in": "삽입할 레이어 선택", + "Click last point to finish shape": "도형을 그만 그리려면 마지막 점을 클릭", + "Click to add a marker": "마커를 추가하려면 클릭", + "Click to continue drawing": "계속 그리려면 클릭", + "Click to edit": "편집하려면 클릭", + "Click to start drawing a line": "선을 그리려면 클릭", + "Click to start drawing a polygon": "도형을 그리려면 클릭", + "Clone": "복제", + "Clone of {name}": "{name}의 복제본", + "Clone this feature": "이 지물 복제", + "Clone this map": "이 지도 복제", + "Close": "닫기", + "Clustering radius": "분포 반경", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/lt.js b/umap/static/umap/locale/lt.js new file mode 100644 index 00000000..1a10b7e2 --- /dev/null +++ b/umap/static/umap/locale/lt.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Pridėti simbolį", + "Allow scroll wheel zoom?": "Leisti pelės ratuko veiksmus?", + "Automatic": "Automatic", + "Ball": "Rutulys", + "Cancel": "Atšaukti", + "Caption": "Antraštė", + "Change symbol": "Pakeisti simbolį", + "Choose the data format": "Pasirinkite duomenų formatą", + "Choose the layer of the feature": "Pasirinkite objekto sluoksnį", + "Circle": "Apskritimas", + "Clustered": "Sugrupuota", + "Data browser": "Duomenų naršyklė", + "Default": "Pagal nutylėjimą", + "Default zoom level": "Default zoom level", + "Default: name": "Pagal nutylėjimą: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Ar norite rodyti antraštę?", + "Do you want to display a minimap?": "Ar norite rodyti mini žemėlapį?", + "Do you want to display a panel on load?": "Ar norite rodyti panelę kraunantis?", + "Do you want to display popup footer?": "Ar norite rodyti iškylančio lango paraštę?", + "Do you want to display the scale control?": "Ar norite rodyti žemėlapio skalės valdymą?", + "Do you want to display the «more» control?": "Ar norite rodyti nuorodą \"daugiau\"?", + "Drop": "Atmesti", + "GeoRSS (only link)": "GeoRSS (tik nuoroda)", + "GeoRSS (title + image)": "GeoRSS (pavadinimas + paveikslas)", + "Heatmap": "Tankio žemėlapis", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Paveldėti", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Nieko", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup'o turinio šablonas", + "Set symbol": "Set symbol", + "Side panel": "Šoninis skydelis", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Lentelė", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "spalva", + "dash array": "brūkšnių masyvas", + "define": "define", + "description": "aprašymas", + "expanded": "expanded", + "fill": "užpildyti", + "fill color": "ploto spalva", + "fill opacity": "ploto skaidrumas", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "paveldėti", + "name": "vardas", + "never": "never", + "new window": "new window", + "no": "ne", + "on hover": "on hover", + "opacity": "nepermatomumas", + "parent window": "parent window", + "stroke": "brūkšnys", + "weight": "svoris", + "yes": "taip", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# viena grotelė pagrindinei antraštei", + "## two hashes for second heading": "## dvi grotelės antraštei", + "### three hashes for third heading": "### trys grotelės trečio lygio pastraipai", + "**double star for bold**": "**dviguba žvaigždutė paryškintam tekstui**", + "*simple star for italic*": "*viena žvaigždutė pasvyriajam tekstui*", + "--- for an horizontal rule": "--- horizontaliai linijai", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Apie", + "Action not allowed :(": "Veiksmas nėra leidžiamas :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Pridėti sluoksnį", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Pridėti naują savybę", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Sudėtingesni veiksmai", + "Advanced properties": "Sudėtingesni nustatymai", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Visi objektai importuoti.", + "Allow interactions": "Allow interactions", + "An error occured": "Įvyko klaida", + "Are you sure you want to cancel your changes?": "Ar tikrai nori atšaukti savo pakeitimus?", + "Are you sure you want to clone this map and all its datalayers?": "Ar tikrai norite nukopijuoti šį žemėlapį ir visus jo duomenų sluoksnius?", + "Are you sure you want to delete the feature?": "Ar tikrai norite ištrinti šį objektą?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Ar Jūs tikrai norite ištrinti šį žemėlapį?", + "Are you sure you want to delete this property on all the features?": "Ar tikrai norite pašalinti šią savybę visiem objektams?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automatiškai", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Pastumti objektą į centrą", + "Browse data": "Peržiūrėti duomenis", + "Cancel edits": "Atšaukti pakeitimus", + "Center map on your location": "Centruoti pagal Jūsų vietovę", + "Change map background": "Keisti žemėlapio foną", + "Change tilelayers": "Pakeisti sluoksnius", + "Choose a preset": "Pasirinkite šabloną", + "Choose the format of the data to import": "Pasirinkite importuojamų uomenų formatą", + "Choose the layer to import in": "Pasirinkite sluoksnį importavimui", + "Click last point to finish shape": "Paspauskite ant paskutinio taško kad baigti piešimą", + "Click to add a marker": "Paspauskite kad pridėti žymeklį", + "Click to continue drawing": "Paspauskite kad tęsti piešimą", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Paspauskite ir pradėsite piešti liniją", + "Click to start drawing a polygon": "Paspauskite ir pradėsite priešti poligoną", + "Clone": "Kopijuoti", + "Clone of {name}": "{name} kopija", + "Clone this feature": "Clone this feature", + "Clone this map": "Klonuoti šį žemėlapį", + "Close": "Uždaryti", + "Clustering radius": "Grupavimo spindulys", + "Comma separated list of properties to use when filtering features": "Kableliu atskirtas savybių sąrašas naudojamas objektų filtrui", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Kableliu, tab'u arba kabliataškiu atskirtos reikšmės. SRS WGS84 yra palaikomas. Tik taškai yra importuoti. Importuojant bus patikrintos stulpelių antraštės ieškant pavadinimų \"lat\" ir \"lon\". Visi kiti stulpeliai bus įtraukti kaip papildomi atributai.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Tęsti liniją (Ctrl+Klavišas)", + "Coordinates": "Koordinatės", + "Credits": "Apie kūrėjus", + "Current view instead of default map view?": "Naudoti esamą vaizdą vietoje standartinio?", + "Custom background": "Pritaikytas fonas", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Nustatymai pagal nutylėjimą", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Trinti", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Ištrinti šį objektą", + "Delete this property on all the features": "Pašalinti šį parametrą visuose objektuose", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Nuorodos iš šio taško", + "Disable editing": "Uždrausti redagavimą", + "Display measure": "Display measure", + "Display on load": "Rodyti pasikrovus", + "Download": "Download", + "Download data": "Atsisiųsti duomenis", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Piešti liniją", + "Draw a marker": "Padėti žymeklį", + "Draw a polygon": "Piešti poligoną", + "Draw a polyline": "Piešti linijas", + "Dynamic": "Dinaminis", + "Dynamic properties": "Dinaminės savybės", + "Edit": "Redaguoti", + "Edit feature's layer": "Redaguoti objekto sluoksnį", + "Edit map properties": "Keisti žemėlapio nustatymus", + "Edit map settings": "Keisti žemėlapio nustatymus", + "Edit properties in a table": "Redaguoti savybes lentelėje", + "Edit this feature": "Redaguoti šį objektą", + "Editing": "Redaguojama", + "Embed and share this map": "Įkelti ir dalintis šiuo žemėlapiu", + "Embed the map": "Įsikelti šį žemėlapį", + "Empty": "Tuščias", + "Enable editing": "Leisti redaguoti", + "Error in the tilelayer URL": "Klaida tile-sluoksnio URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtruoti...", + "Format": "Formatas", + "From zoom": "Mažiausias mastelis", + "Full map data": "Full map data", + "Go to «{feature}»": "Eiti į «{feature}»", + "Heatmap intensity property": "Tankio žemėlpaio faktorius", + "Heatmap radius": "Tankio žemėlapio spindulys", + "Help": "Pagalba", + "Hide controls": "Slėpti mygtukus", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kaip stipriai supaprastinti linijas kiekviename mastelyje (daugiau - diesnis greitis ir lygesnis vaizdas, mažiau - tikslesnis atvaizdavimas)", + "If false, the polygon will act as a part of the underlying map.": "Jei false, poligonas bus pagrindinio žemėlapio dalis.", + "Iframe export options": "Iframe export nustatymai", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe su nurodytu aukščiu (pikseliais): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Paveikslo plotis (pikseliais): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Paveikslas: {{http://image.url.com/image.jpeg}}", + "Import": "Importuoti", + "Import data": "Importuoti duomenis", + "Import in a new layer": "Importuoti naują sluoksnį", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Įtraukti nuorodą į viso ekrano vaizdą?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Esamus sluoksnius palikti matomais", + "Latitude": "Platuma", + "Layer": "Sluoksnis", + "Layer properties": "Layer properties", + "Licence": "Licenzija", + "Limit bounds": "Nustatyti ribas", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Nuoroda tekstui:: [[http://example.com|nuorodos tekstas]]", + "Long credits": "Apie kūrėjus", + "Longitude": "Ilguma", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Žemėlapio fono naudojimo sąlygos", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Žemėlapis išsaugotas!", + "Map user content has been published under licence": "Vartotojo turinys buvo publikuotas pagal licenziją", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "Daugiau valdymo mygtukų", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Nenustatyta licenzija", + "No results": "No results", + "Only visible features will be downloaded.": "Tik matomi objektai bus atsiųsti.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Atidaryti šį plotą duomenų redagavimui per OpenStreetMap", + "Optional intensity property for heatmap": "Papildomas intensyvumo faktorius", + "Optional. Same as color if not set.": "Neprivalomas. Toks pats kaip ir spalva, jei nenustatyta.", + "Override clustering radius (default 80)": "Perrašyti grupavimo spindulį (pagal nutylėjimą 80)", + "Override heatmap radius (default 25)": "Perrašyti tankio žemėlapio spindulį (pagal nutylėjimą 25)", + "Please be sure the licence is compliant with your use.": "Prašom pasitikrinti ar licezija tikrai tinka Jūsų poreikiams.", + "Please choose a format": "Pasirinkite formatą", + "Please enter the name of the property": "Įveskite, prašom, savybės pavadinimą", + "Please enter the new name of this property": "Įveskite, prašom, naują savybės pavadinimą", + "Powered by Leaflet and Django, glued by uMap project.": "Pagaminta naudojant Leaflet ir Django, apjungta pagal uMap projektą.", + "Problem in the response": "Klaida atsakyme", + "Problem in the response format": "Klaida atsakymo formate", + "Properties imported:": "Importuoti objektai:", + "Property to use for sorting features": "Savybės pavadinimas rūšiavimui", + "Provide an URL here": "Įvęskite adresą", + "Proxy request": "Proxy užklausa", + "Remote data": "Išoriniai duomenys", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Pervadinti šią savybę visuose objektuose", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Išsaugoti", + "Save anyway": "Išsaugoti bet kuriuo atveju", + "Save current edits": "Išsaugoti pakeitimus", + "Save this center and zoom": "Išsaugoti šį centrą ar mastelį.", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Išsaugoti viską", + "See data layers": "See data layers", + "See full screen": "Peržiūrėti per visą ekraną", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Trumpas URL", + "Short credits": "Trumpai apie kūrėjus", + "Show/hide layer": "Rodyti/slėpti sluoksnį", + "Simple link: [[http://example.com]]": "Paprasta nuoroda: [[http://example.com]]", + "Slideshow": "Peržiūra", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Padalinti liniją", + "Start a hole here": "Piešti skylę čia", + "Start editing": "Pradėti redagavimą", + "Start slideshow": "Pradėti peržiūrą", + "Stop editing": "Baigti redagavimą", + "Stop slideshow": "Stabdyti peržiūrą", + "Supported scheme": "Palaikoma struktūra", + "Supported variables that will be dynamically replaced": "Palaikomi kintamieji bus automatiškai perrašyti", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS formatas", + "Text color for the cluster label": "Teksto spalva klasterio pavadinimui", + "Text formatting": "Teksto formatavimas", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Šis mastelis ir centras išsaugoti.", + "To use if remote server doesn't allow cross domain (slower)": "Naudoti jei serveris neleidžia cross domain užklausų (lėtesnis sprendimas)", + "To zoom": "Padidinti", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transformuoti į linijas", + "Transform to polygon": "Transformuoti į poligoną", + "Type of layer": "Sluoksnio tipas", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Bevardis sluoksnis", + "Untitled map": "Be pavadinimo", + "Update permissions": "Update permissions", + "Update permissions and editors": "Atnaujinti leidimus ir redaguotojus", + "Url": "Url", + "Use current bounds": "Naudoti dabartines ribas", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Objekto savybės tarp laužtinių skliaustų, pvz. {name}, bus automatiškai pakeisto atitinkamomis reikšmėmis.", + "User content credits": "Vartotojo duomenų sąlygos", + "User interface options": "Vartotojo sąsajos nustatymai", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Kur norite eiti iš čia?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Bus rodomas apatiniame dešiniame žemėlapio kampe", + "Will be visible in the caption of the map": "Bus matoma žemėlapio antraštėje", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Dėmesio! Kažkas kitas jau paredagavo šiuos duomenis. Jūs galite išsaugoti, bet tuomet bus prarasti kiti pakeitimai.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Padidinti mastelį", + "Zoom level for automatic zooms": "Priartinimo lygis automatiniui režimui", + "Zoom out": "Didinti", + "Zoom to layer extent": "Išdidinti iki sluoksnio ribų", + "Zoom to the next": "Priartinti sekantį", + "Zoom to the previous": "Priartinti ankstesnį", + "Zoom to this feature": "Išdidinti šį objektą", + "Zoom to this place": "Zoom to this place", + "attribution": "atributai", + "by": "pagal", + "display name": "rodyti pavadinimą", + "height": "aukštis", + "licence": "licenzija", + "max East": "max Rytų", + "max North": "max Šiaurės", + "max South": "max Pietų", + "max West": "max Vakarų", + "max zoom": "didžiausias mastelis", + "min zoom": "mažiausias mastelis", + "next": "next", + "previous": "previous", + "width": "plotis", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("lt", locale); +L.setLocale("lt"); \ No newline at end of file diff --git a/umap/static/umap/locale/lt.json b/umap/static/umap/locale/lt.json new file mode 100644 index 00000000..364da561 --- /dev/null +++ b/umap/static/umap/locale/lt.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Pridėti simbolį", + "Allow scroll wheel zoom?": "Leisti pelės ratuko veiksmus?", + "Automatic": "Automatic", + "Ball": "Rutulys", + "Cancel": "Atšaukti", + "Caption": "Antraštė", + "Change symbol": "Pakeisti simbolį", + "Choose the data format": "Pasirinkite duomenų formatą", + "Choose the layer of the feature": "Pasirinkite objekto sluoksnį", + "Circle": "Apskritimas", + "Clustered": "Sugrupuota", + "Data browser": "Duomenų naršyklė", + "Default": "Pagal nutylėjimą", + "Default zoom level": "Default zoom level", + "Default: name": "Pagal nutylėjimą: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Ar norite rodyti antraštę?", + "Do you want to display a minimap?": "Ar norite rodyti mini žemėlapį?", + "Do you want to display a panel on load?": "Ar norite rodyti panelę kraunantis?", + "Do you want to display popup footer?": "Ar norite rodyti iškylančio lango paraštę?", + "Do you want to display the scale control?": "Ar norite rodyti žemėlapio skalės valdymą?", + "Do you want to display the «more» control?": "Ar norite rodyti nuorodą \"daugiau\"?", + "Drop": "Atmesti", + "GeoRSS (only link)": "GeoRSS (tik nuoroda)", + "GeoRSS (title + image)": "GeoRSS (pavadinimas + paveikslas)", + "Heatmap": "Tankio žemėlapis", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Paveldėti", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Nieko", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup'o turinio šablonas", + "Set symbol": "Set symbol", + "Side panel": "Šoninis skydelis", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Lentelė", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "spalva", + "dash array": "brūkšnių masyvas", + "define": "define", + "description": "aprašymas", + "expanded": "expanded", + "fill": "užpildyti", + "fill color": "ploto spalva", + "fill opacity": "ploto skaidrumas", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "paveldėti", + "name": "vardas", + "never": "never", + "new window": "new window", + "no": "ne", + "on hover": "on hover", + "opacity": "nepermatomumas", + "parent window": "parent window", + "stroke": "brūkšnys", + "weight": "svoris", + "yes": "taip", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# viena grotelė pagrindinei antraštei", + "## two hashes for second heading": "## dvi grotelės antraštei", + "### three hashes for third heading": "### trys grotelės trečio lygio pastraipai", + "**double star for bold**": "**dviguba žvaigždutė paryškintam tekstui**", + "*simple star for italic*": "*viena žvaigždutė pasvyriajam tekstui*", + "--- for an horizontal rule": "--- horizontaliai linijai", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Apie", + "Action not allowed :(": "Veiksmas nėra leidžiamas :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Pridėti sluoksnį", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Pridėti naują savybę", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Sudėtingesni veiksmai", + "Advanced properties": "Sudėtingesni nustatymai", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Visi objektai importuoti.", + "Allow interactions": "Allow interactions", + "An error occured": "Įvyko klaida", + "Are you sure you want to cancel your changes?": "Ar tikrai nori atšaukti savo pakeitimus?", + "Are you sure you want to clone this map and all its datalayers?": "Ar tikrai norite nukopijuoti šį žemėlapį ir visus jo duomenų sluoksnius?", + "Are you sure you want to delete the feature?": "Ar tikrai norite ištrinti šį objektą?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Ar Jūs tikrai norite ištrinti šį žemėlapį?", + "Are you sure you want to delete this property on all the features?": "Ar tikrai norite pašalinti šią savybę visiem objektams?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automatiškai", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Pastumti objektą į centrą", + "Browse data": "Peržiūrėti duomenis", + "Cancel edits": "Atšaukti pakeitimus", + "Center map on your location": "Centruoti pagal Jūsų vietovę", + "Change map background": "Keisti žemėlapio foną", + "Change tilelayers": "Pakeisti sluoksnius", + "Choose a preset": "Pasirinkite šabloną", + "Choose the format of the data to import": "Pasirinkite importuojamų uomenų formatą", + "Choose the layer to import in": "Pasirinkite sluoksnį importavimui", + "Click last point to finish shape": "Paspauskite ant paskutinio taško kad baigti piešimą", + "Click to add a marker": "Paspauskite kad pridėti žymeklį", + "Click to continue drawing": "Paspauskite kad tęsti piešimą", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Paspauskite ir pradėsite piešti liniją", + "Click to start drawing a polygon": "Paspauskite ir pradėsite priešti poligoną", + "Clone": "Kopijuoti", + "Clone of {name}": "{name} kopija", + "Clone this feature": "Clone this feature", + "Clone this map": "Klonuoti šį žemėlapį", + "Close": "Uždaryti", + "Clustering radius": "Grupavimo spindulys", + "Comma separated list of properties to use when filtering features": "Kableliu atskirtas savybių sąrašas naudojamas objektų filtrui", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Kableliu, tab'u arba kabliataškiu atskirtos reikšmės. SRS WGS84 yra palaikomas. Tik taškai yra importuoti. Importuojant bus patikrintos stulpelių antraštės ieškant pavadinimų \"lat\" ir \"lon\". Visi kiti stulpeliai bus įtraukti kaip papildomi atributai.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Tęsti liniją (Ctrl+Klavišas)", + "Coordinates": "Koordinatės", + "Credits": "Apie kūrėjus", + "Current view instead of default map view?": "Naudoti esamą vaizdą vietoje standartinio?", + "Custom background": "Pritaikytas fonas", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Nustatymai pagal nutylėjimą", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Trinti", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Ištrinti šį objektą", + "Delete this property on all the features": "Pašalinti šį parametrą visuose objektuose", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Nuorodos iš šio taško", + "Disable editing": "Uždrausti redagavimą", + "Display measure": "Display measure", + "Display on load": "Rodyti pasikrovus", + "Download": "Download", + "Download data": "Atsisiųsti duomenis", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Piešti liniją", + "Draw a marker": "Padėti žymeklį", + "Draw a polygon": "Piešti poligoną", + "Draw a polyline": "Piešti linijas", + "Dynamic": "Dinaminis", + "Dynamic properties": "Dinaminės savybės", + "Edit": "Redaguoti", + "Edit feature's layer": "Redaguoti objekto sluoksnį", + "Edit map properties": "Keisti žemėlapio nustatymus", + "Edit map settings": "Keisti žemėlapio nustatymus", + "Edit properties in a table": "Redaguoti savybes lentelėje", + "Edit this feature": "Redaguoti šį objektą", + "Editing": "Redaguojama", + "Embed and share this map": "Įkelti ir dalintis šiuo žemėlapiu", + "Embed the map": "Įsikelti šį žemėlapį", + "Empty": "Tuščias", + "Enable editing": "Leisti redaguoti", + "Error in the tilelayer URL": "Klaida tile-sluoksnio URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filtruoti...", + "Format": "Formatas", + "From zoom": "Mažiausias mastelis", + "Full map data": "Full map data", + "Go to «{feature}»": "Eiti į «{feature}»", + "Heatmap intensity property": "Tankio žemėlpaio faktorius", + "Heatmap radius": "Tankio žemėlapio spindulys", + "Help": "Pagalba", + "Hide controls": "Slėpti mygtukus", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kaip stipriai supaprastinti linijas kiekviename mastelyje (daugiau - diesnis greitis ir lygesnis vaizdas, mažiau - tikslesnis atvaizdavimas)", + "If false, the polygon will act as a part of the underlying map.": "Jei false, poligonas bus pagrindinio žemėlapio dalis.", + "Iframe export options": "Iframe export nustatymai", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe su nurodytu aukščiu (pikseliais): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Paveikslo plotis (pikseliais): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Paveikslas: {{http://image.url.com/image.jpeg}}", + "Import": "Importuoti", + "Import data": "Importuoti duomenis", + "Import in a new layer": "Importuoti naują sluoksnį", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Įtraukti nuorodą į viso ekrano vaizdą?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Esamus sluoksnius palikti matomais", + "Latitude": "Platuma", + "Layer": "Sluoksnis", + "Layer properties": "Layer properties", + "Licence": "Licenzija", + "Limit bounds": "Nustatyti ribas", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Nuoroda tekstui:: [[http://example.com|nuorodos tekstas]]", + "Long credits": "Apie kūrėjus", + "Longitude": "Ilguma", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Žemėlapio fono naudojimo sąlygos", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Žemėlapis išsaugotas!", + "Map user content has been published under licence": "Vartotojo turinys buvo publikuotas pagal licenziją", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "Daugiau valdymo mygtukų", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Nenustatyta licenzija", + "No results": "No results", + "Only visible features will be downloaded.": "Tik matomi objektai bus atsiųsti.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Atidaryti šį plotą duomenų redagavimui per OpenStreetMap", + "Optional intensity property for heatmap": "Papildomas intensyvumo faktorius", + "Optional. Same as color if not set.": "Neprivalomas. Toks pats kaip ir spalva, jei nenustatyta.", + "Override clustering radius (default 80)": "Perrašyti grupavimo spindulį (pagal nutylėjimą 80)", + "Override heatmap radius (default 25)": "Perrašyti tankio žemėlapio spindulį (pagal nutylėjimą 25)", + "Please be sure the licence is compliant with your use.": "Prašom pasitikrinti ar licezija tikrai tinka Jūsų poreikiams.", + "Please choose a format": "Pasirinkite formatą", + "Please enter the name of the property": "Įveskite, prašom, savybės pavadinimą", + "Please enter the new name of this property": "Įveskite, prašom, naują savybės pavadinimą", + "Powered by Leaflet and Django, glued by uMap project.": "Pagaminta naudojant Leaflet ir Django, apjungta pagal uMap projektą.", + "Problem in the response": "Klaida atsakyme", + "Problem in the response format": "Klaida atsakymo formate", + "Properties imported:": "Importuoti objektai:", + "Property to use for sorting features": "Savybės pavadinimas rūšiavimui", + "Provide an URL here": "Įvęskite adresą", + "Proxy request": "Proxy užklausa", + "Remote data": "Išoriniai duomenys", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Pervadinti šią savybę visuose objektuose", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Išsaugoti", + "Save anyway": "Išsaugoti bet kuriuo atveju", + "Save current edits": "Išsaugoti pakeitimus", + "Save this center and zoom": "Išsaugoti šį centrą ar mastelį.", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Išsaugoti viską", + "See data layers": "See data layers", + "See full screen": "Peržiūrėti per visą ekraną", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Trumpas URL", + "Short credits": "Trumpai apie kūrėjus", + "Show/hide layer": "Rodyti/slėpti sluoksnį", + "Simple link: [[http://example.com]]": "Paprasta nuoroda: [[http://example.com]]", + "Slideshow": "Peržiūra", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Padalinti liniją", + "Start a hole here": "Piešti skylę čia", + "Start editing": "Pradėti redagavimą", + "Start slideshow": "Pradėti peržiūrą", + "Stop editing": "Baigti redagavimą", + "Stop slideshow": "Stabdyti peržiūrą", + "Supported scheme": "Palaikoma struktūra", + "Supported variables that will be dynamically replaced": "Palaikomi kintamieji bus automatiškai perrašyti", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS formatas", + "Text color for the cluster label": "Teksto spalva klasterio pavadinimui", + "Text formatting": "Teksto formatavimas", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Šis mastelis ir centras išsaugoti.", + "To use if remote server doesn't allow cross domain (slower)": "Naudoti jei serveris neleidžia cross domain užklausų (lėtesnis sprendimas)", + "To zoom": "Padidinti", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transformuoti į linijas", + "Transform to polygon": "Transformuoti į poligoną", + "Type of layer": "Sluoksnio tipas", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Bevardis sluoksnis", + "Untitled map": "Be pavadinimo", + "Update permissions": "Update permissions", + "Update permissions and editors": "Atnaujinti leidimus ir redaguotojus", + "Url": "Url", + "Use current bounds": "Naudoti dabartines ribas", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Objekto savybės tarp laužtinių skliaustų, pvz. {name}, bus automatiškai pakeisto atitinkamomis reikšmėmis.", + "User content credits": "Vartotojo duomenų sąlygos", + "User interface options": "Vartotojo sąsajos nustatymai", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Kur norite eiti iš čia?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Bus rodomas apatiniame dešiniame žemėlapio kampe", + "Will be visible in the caption of the map": "Bus matoma žemėlapio antraštėje", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Dėmesio! Kažkas kitas jau paredagavo šiuos duomenis. Jūs galite išsaugoti, bet tuomet bus prarasti kiti pakeitimai.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Padidinti mastelį", + "Zoom level for automatic zooms": "Priartinimo lygis automatiniui režimui", + "Zoom out": "Didinti", + "Zoom to layer extent": "Išdidinti iki sluoksnio ribų", + "Zoom to the next": "Priartinti sekantį", + "Zoom to the previous": "Priartinti ankstesnį", + "Zoom to this feature": "Išdidinti šį objektą", + "Zoom to this place": "Zoom to this place", + "attribution": "atributai", + "by": "pagal", + "display name": "rodyti pavadinimą", + "height": "aukštis", + "licence": "licenzija", + "max East": "max Rytų", + "max North": "max Šiaurės", + "max South": "max Pietų", + "max West": "max Vakarų", + "max zoom": "didžiausias mastelis", + "min zoom": "mažiausias mastelis", + "next": "next", + "previous": "previous", + "width": "plotis", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/ms.json b/umap/static/umap/locale/ms.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/ms.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/nl.js b/umap/static/umap/locale/nl.js new file mode 100644 index 00000000..3b6b41a5 --- /dev/null +++ b/umap/static/umap/locale/nl.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Symbool toevoegen", + "Allow scroll wheel zoom?": "Zoomen met scrollwieltje toestaan?", + "Automatic": "Automatisch", + "Ball": "Kopspeld", + "Cancel": "Annuleren", + "Caption": "Hoofding", + "Change symbol": "Symbool veranderen", + "Choose the data format": "Gegevensformaat selecteren", + "Choose the layer of the feature": "Kies de laag van het object", + "Circle": "Cirkel", + "Clustered": "Bij elkaar gevoegd", + "Data browser": "Data browser", + "Default": "Standaard", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Wil je een hoofding tonen?", + "Do you want to display a minimap?": "Wil je een minikaartje tonen?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Wil je een popup-footer tonen?", + "Do you want to display the scale control?": "Wil je het schaal-besturingselement tonen?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (enkel link)", + "GeoRSS (title + image)": "GeoRSS (titel + afbeelding)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Overerving", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Bepaal symbool", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbool of URL", + "Table": "Table", + "always": "altijd", + "clear": "clear", + "collapsed": "dichtgeklapt", + "color": "kleur", + "dash array": "soort stippellijn", + "define": "definieer", + "description": "beschrijving", + "expanded": "opengeklapt", + "fill": "opvullen", + "fill color": "opvulkleur", + "fill opacity": "(on)doorzichtigheid van inkleuring", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "overerven", + "name": "naam", + "never": "nooit", + "new window": "new window", + "no": "neen", + "on hover": "on hover", + "opacity": "ondoorzichtigheid", + "parent window": "parent window", + "stroke": "lijndikte", + "weight": "weight", + "yes": "ja", + "{delay} seconds": "{delay} seconden", + "# one hash for main heading": "# een hekje voor hoofding 1", + "## two hashes for second heading": "## twee hekjes voor hoofding 2", + "### three hashes for third heading": "### twee hekjes voor hoofding 3", + "**double star for bold**": "**Twee sterretjes voor vet**", + "*simple star for italic*": "*Enkel sterretje voor cursief*", + "--- for an horizontal rule": "--- voor een horizontale scheidingslijn", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Over", + "Action not allowed :(": "Handeling niet toegestaan :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Laag toevoegen", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Geavanceerde acties", + "Advanced properties": "Geavanceerde eigenschappen", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Alle eigenschappen zijn geïmporteerd", + "Allow interactions": "Allow interactions", + "An error occured": "Er is een fout opgetreden", + "Are you sure you want to cancel your changes?": "Ben je zeker dat je je wijzigingen wil annuleren?", + "Are you sure you want to clone this map and all its datalayers?": "Ben je zeker dat je deze kaart en alle gegevenslagen wil klonen?", + "Are you sure you want to delete the feature?": "Ben je zeker dat je het object wil verwijderen?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Ben je zeker dat je deze kaart wil verwijderen?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Voeg de kaart toe aan mijn account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Object in het midden zetten", + "Browse data": "Gegevens doorbladeren", + "Cancel edits": "Bewerkingen annuleren", + "Center map on your location": "Centreer kaart op je locatie", + "Change map background": "Verander kaartachtergrond", + "Change tilelayers": "Andere kaartachtergrond instellen", + "Choose a preset": "Kies een voorkeuzeinstelling", + "Choose the format of the data to import": "Kies het formaat van de te importeren gegevens", + "Choose the layer to import in": "Kies de laag om in te importeren", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Deze kaart klonen", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma-, tabulator- of puntkomma-gescheiden waardes, SRS WGS84 wordt verondersteld. Enkel puntgeometrieën wordne geímporteerd. Bij het importeren wordt gekeken naar kolomkoppen die met «lat» of «lon» beginnen. Alle andere kolommen worden als eigenschappen geïmporteerd", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Bronvermelding", + "Current view instead of default map view?": "Huidig zicht in plaats van standaard kaartaanzicht", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Standaardeigenschappen", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Verwijderen", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Dit object verwijderen", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Wegbeschrijving vanaf hier", + "Disable editing": "Bewerken uitschakelen", + "Display measure": "Display measure", + "Display on load": "Tonen bij laden", + "Download": "Downloaden", + "Download data": "Gegevens downloaden", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Teken een lijn", + "Draw a marker": "Teken een punt", + "Draw a polygon": "Teken een veelhoek", + "Draw a polyline": "Teken een lijn", + "Dynamic": "Dynamisch", + "Dynamic properties": "Dynamic properties", + "Edit": "Bewerken", + "Edit feature's layer": "Objectlaag bewerken", + "Edit map properties": "Kaarteigenschappen wijzigen", + "Edit map settings": "Kaartinstellingen aanpassen", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Dit object bewerken", + "Editing": "Bewerken", + "Embed and share this map": "Deze kaart insluiten en delen", + "Embed the map": "Kaart inbedden", + "Empty": "Empty", + "Enable editing": "Bewerken inschakelen", + "Error in the tilelayer URL": "Er is een fout opgetreden met de achtergrondtegels", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Formaat", + "From zoom": "Van zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Ga naar «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Verberg besturingselementen", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Graad van vereenvoudiging van een veelhoek, per zoomniveau. (Hogere waarde = betere prestaties, lagere waarde = getrouwere precisie)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe exporteeropties", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Beeld met standaardbreedte (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Importeer", + "Import data": "Gegevens importeren", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licentie", + "Limit bounds": "Gebied begrenzen", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Bronvermelding kaartachtergrond", + "Map has been attached to your account": "Kaart werd toegevoegd aan je account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Inhoud toegevoegd aan deze kaart wordt gepubliceerd onder deze licentievoorwaarden", + "Map's editors": "Bewerkers van de kaart", + "Map's owner": "Eigenaar van de kaart", + "Merge lines": "Merge lines", + "More controls": "Meer instelknoppen", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Enkel zichtbare objecten zullen worden geëxporteerd", + "Open download panel": "Open downloads", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open dit gedeelte van de kaart in een editor, zodat u de kaartgegeven in Openstreetmap zelf kan bijwerken.", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optioneel. Gelijk aan kleur indien niet ingesteld", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Zorg er aub voor dat je je aan de licentievoorwaarden houdt", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Probleem met het antwoord gekregen van de server", + "Problem in the response format": "Probleem met het formaat van het antwoord van de server", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Geef hier een URL-adres op", + "Proxy request": "Proxy request", + "Remote data": "Data van elders", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Opslaan", + "Save anyway": "Save anyway", + "Save current edits": "Huidige bewerkingen opslaan", + "Save this center and zoom": "Bewaar deze positie op de kaart en het zoomniveau", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Zoek plaatsnaam", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Geheime link om te bewerken is\n{link}", + "See all": "See all", + "See data layers": "Bekijk datalagen", + "See full screen": "Op volledig scherm weergeven", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Korte URL", + "Short credits": "Short credits", + "Show/hide layer": "Laat tonen/verbergen", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Starten met editeren", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop met editeren", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbool kan zowel een unicodekarakter of een URL zijn. Je kan eigenschappen gebruiken als variabelen, bijv: met \"http://myserver.org/images/{name}.png\", hierbij zal de {name} variable vervangen worden door de \"name\"-waarde.", + "TMS format": "TMS-formaat", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Het zoomniveau en de positie op de kaarten zijn ingesteld", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Tot zoomniveau", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Omzetten naar lijnen", + "Transform to polygon": "Omzetten naar veelhoed", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Laag zonder naam", + "Untitled map": "Kaart zonder naam", + "Update permissions": "Gebruiksrechten aanpassen", + "Update permissions and editors": "Bijwerken van permissies en bewerkers", + "Url": "URL", + "Use current bounds": "Begrensd gebied instellen op wat nu te zien is", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Gebruikersinhoud bronvermelding", + "User interface options": "Gebruikersinterfaceopties", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Waar gaan we nu heen?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Wie kan bewerken", + "Who can view": "Wie kan bekijken", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Inzoomen", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Uitzoomen", + "Zoom to layer extent": "Zodanig zoomen dat alle data in venster past", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Op dit object inzoomen", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "hoogte", + "licence": "licentie", + "max East": "maximale oostwaarde", + "max North": "maximale noordwaarde", + "max South": "maximale zuidwaarde", + "max West": "maximale westwaarde", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "breedte", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Afstanden meten", + "NM": "NM", + "kilometers": "kilometer", + "km": "km", + "mi": "mi", + "miles": "mijl", + "nautical miles": "zeemijl", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mijl", + "{distance} yd": "{distance} yd", + "1 day": "1 dag", + "1 hour": "1 uur", + "5 min": "5 minuten", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Graag eerst de kaart opslaan", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("nl", locale); +L.setLocale("nl"); \ No newline at end of file diff --git a/umap/static/umap/locale/nl.json b/umap/static/umap/locale/nl.json new file mode 100644 index 00000000..1783c626 --- /dev/null +++ b/umap/static/umap/locale/nl.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Symbool toevoegen", + "Allow scroll wheel zoom?": "Zoomen met scrollwieltje toestaan?", + "Automatic": "Automatisch", + "Ball": "Kopspeld", + "Cancel": "Annuleren", + "Caption": "Hoofding", + "Change symbol": "Symbool veranderen", + "Choose the data format": "Gegevensformaat selecteren", + "Choose the layer of the feature": "Kies de laag van het object", + "Circle": "Cirkel", + "Clustered": "Bij elkaar gevoegd", + "Data browser": "Data browser", + "Default": "Standaard", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Wil je een hoofding tonen?", + "Do you want to display a minimap?": "Wil je een minikaartje tonen?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Wil je een popup-footer tonen?", + "Do you want to display the scale control?": "Wil je het schaal-besturingselement tonen?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (enkel link)", + "GeoRSS (title + image)": "GeoRSS (titel + afbeelding)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Overerving", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Bepaal symbool", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbool of URL", + "Table": "Table", + "always": "altijd", + "clear": "clear", + "collapsed": "dichtgeklapt", + "color": "kleur", + "dash array": "soort stippellijn", + "define": "definieer", + "description": "beschrijving", + "expanded": "opengeklapt", + "fill": "opvullen", + "fill color": "opvulkleur", + "fill opacity": "(on)doorzichtigheid van inkleuring", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "overerven", + "name": "naam", + "never": "nooit", + "new window": "new window", + "no": "neen", + "on hover": "on hover", + "opacity": "ondoorzichtigheid", + "parent window": "parent window", + "stroke": "lijndikte", + "weight": "weight", + "yes": "ja", + "{delay} seconds": "{delay} seconden", + "# one hash for main heading": "# een hekje voor hoofding 1", + "## two hashes for second heading": "## twee hekjes voor hoofding 2", + "### three hashes for third heading": "### twee hekjes voor hoofding 3", + "**double star for bold**": "**Twee sterretjes voor vet**", + "*simple star for italic*": "*Enkel sterretje voor cursief*", + "--- for an horizontal rule": "--- voor een horizontale scheidingslijn", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Over", + "Action not allowed :(": "Handeling niet toegestaan :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Laag toevoegen", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Geavanceerde acties", + "Advanced properties": "Geavanceerde eigenschappen", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Alle eigenschappen zijn geïmporteerd", + "Allow interactions": "Allow interactions", + "An error occured": "Er is een fout opgetreden", + "Are you sure you want to cancel your changes?": "Ben je zeker dat je je wijzigingen wil annuleren?", + "Are you sure you want to clone this map and all its datalayers?": "Ben je zeker dat je deze kaart en alle gegevenslagen wil klonen?", + "Are you sure you want to delete the feature?": "Ben je zeker dat je het object wil verwijderen?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Ben je zeker dat je deze kaart wil verwijderen?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Voeg de kaart toe aan mijn account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Object in het midden zetten", + "Browse data": "Gegevens doorbladeren", + "Cancel edits": "Bewerkingen annuleren", + "Center map on your location": "Centreer kaart op je locatie", + "Change map background": "Verander kaartachtergrond", + "Change tilelayers": "Andere kaartachtergrond instellen", + "Choose a preset": "Kies een voorkeuzeinstelling", + "Choose the format of the data to import": "Kies het formaat van de te importeren gegevens", + "Choose the layer to import in": "Kies de laag om in te importeren", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Deze kaart klonen", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Komma-, tabulator- of puntkomma-gescheiden waardes, SRS WGS84 wordt verondersteld. Enkel puntgeometrieën wordne geímporteerd. Bij het importeren wordt gekeken naar kolomkoppen die met «lat» of «lon» beginnen. Alle andere kolommen worden als eigenschappen geïmporteerd", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Bronvermelding", + "Current view instead of default map view?": "Huidig zicht in plaats van standaard kaartaanzicht", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Standaardeigenschappen", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Verwijderen", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Dit object verwijderen", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Wegbeschrijving vanaf hier", + "Disable editing": "Bewerken uitschakelen", + "Display measure": "Display measure", + "Display on load": "Tonen bij laden", + "Download": "Downloaden", + "Download data": "Gegevens downloaden", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Teken een lijn", + "Draw a marker": "Teken een punt", + "Draw a polygon": "Teken een veelhoek", + "Draw a polyline": "Teken een lijn", + "Dynamic": "Dynamisch", + "Dynamic properties": "Dynamic properties", + "Edit": "Bewerken", + "Edit feature's layer": "Objectlaag bewerken", + "Edit map properties": "Kaarteigenschappen wijzigen", + "Edit map settings": "Kaartinstellingen aanpassen", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Dit object bewerken", + "Editing": "Bewerken", + "Embed and share this map": "Deze kaart insluiten en delen", + "Embed the map": "Kaart inbedden", + "Empty": "Empty", + "Enable editing": "Bewerken inschakelen", + "Error in the tilelayer URL": "Er is een fout opgetreden met de achtergrondtegels", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Formaat", + "From zoom": "Van zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Ga naar «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Verberg besturingselementen", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Graad van vereenvoudiging van een veelhoek, per zoomniveau. (Hogere waarde = betere prestaties, lagere waarde = getrouwere precisie)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe exporteeropties", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Beeld met standaardbreedte (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Importeer", + "Import data": "Gegevens importeren", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licentie", + "Limit bounds": "Gebied begrenzen", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Bronvermelding kaartachtergrond", + "Map has been attached to your account": "Kaart werd toegevoegd aan je account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Inhoud toegevoegd aan deze kaart wordt gepubliceerd onder deze licentievoorwaarden", + "Map's editors": "Bewerkers van de kaart", + "Map's owner": "Eigenaar van de kaart", + "Merge lines": "Merge lines", + "More controls": "Meer instelknoppen", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Enkel zichtbare objecten zullen worden geëxporteerd", + "Open download panel": "Open downloads", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open dit gedeelte van de kaart in een editor, zodat u de kaartgegeven in Openstreetmap zelf kan bijwerken.", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optioneel. Gelijk aan kleur indien niet ingesteld", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Zorg er aub voor dat je je aan de licentievoorwaarden houdt", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Probleem met het antwoord gekregen van de server", + "Problem in the response format": "Probleem met het formaat van het antwoord van de server", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Geef hier een URL-adres op", + "Proxy request": "Proxy request", + "Remote data": "Data van elders", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Opslaan", + "Save anyway": "Save anyway", + "Save current edits": "Huidige bewerkingen opslaan", + "Save this center and zoom": "Bewaar deze positie op de kaart en het zoomniveau", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Zoek plaatsnaam", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Geheime link om te bewerken is\n{link}", + "See all": "See all", + "See data layers": "Bekijk datalagen", + "See full screen": "Op volledig scherm weergeven", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Korte URL", + "Short credits": "Short credits", + "Show/hide layer": "Laat tonen/verbergen", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Starten met editeren", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop met editeren", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbool kan zowel een unicodekarakter of een URL zijn. Je kan eigenschappen gebruiken als variabelen, bijv: met \"http://myserver.org/images/{name}.png\", hierbij zal de {name} variable vervangen worden door de \"name\"-waarde.", + "TMS format": "TMS-formaat", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Het zoomniveau en de positie op de kaarten zijn ingesteld", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Tot zoomniveau", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Omzetten naar lijnen", + "Transform to polygon": "Omzetten naar veelhoed", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Laag zonder naam", + "Untitled map": "Kaart zonder naam", + "Update permissions": "Gebruiksrechten aanpassen", + "Update permissions and editors": "Bijwerken van permissies en bewerkers", + "Url": "URL", + "Use current bounds": "Begrensd gebied instellen op wat nu te zien is", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Gebruikersinhoud bronvermelding", + "User interface options": "Gebruikersinterfaceopties", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Waar gaan we nu heen?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Wie kan bewerken", + "Who can view": "Wie kan bekijken", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Inzoomen", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Uitzoomen", + "Zoom to layer extent": "Zodanig zoomen dat alle data in venster past", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Op dit object inzoomen", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "hoogte", + "licence": "licentie", + "max East": "maximale oostwaarde", + "max North": "maximale noordwaarde", + "max South": "maximale zuidwaarde", + "max West": "maximale westwaarde", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "breedte", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Afstanden meten", + "NM": "NM", + "kilometers": "kilometer", + "km": "km", + "mi": "mi", + "miles": "mijl", + "nautical miles": "zeemijl", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mijl", + "{distance} yd": "{distance} yd", + "1 day": "1 dag", + "1 hour": "1 uur", + "5 min": "5 minuten", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Graag eerst de kaart opslaan", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/no.js b/umap/static/umap/locale/no.js new file mode 100644 index 00000000..ca6bb181 --- /dev/null +++ b/umap/static/umap/locale/no.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Legg til symbol", + "Allow scroll wheel zoom?": "Tillat rulling med zoom-hjulet?", + "Automatic": "Automatisk", + "Ball": "Ball", + "Cancel": "Avbryt", + "Caption": "Caption", + "Change symbol": "Endre symbol", + "Choose the data format": "Velg dataformatet", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Sirkel", + "Clustered": "Clustered", + "Data browser": "Dataleser", + "Default": "Standard", + "Default zoom level": "Standard zoom-nivå", + "Default: name": "Standard: navn", + "Display label": "Vis merkelapp", + "Display the control to open OpenStreetMap editor": "Vis grensesnitt for å åpne OpenStreetMap-redigerer", + "Display the data layers control": "Vis grensesnitt for datalag", + "Display the embed control": "Vis grensesnitt for innbygging", + "Display the fullscreen control": "Vis grensesnitt for fullskjermvisning", + "Display the locate control": "Vis grensesnitt for lokalisering", + "Display the measure control": "Vis grensesnitt for oppmåling", + "Display the search control": "Vis grensesnitt for søk", + "Display the tile layers control": "Vis grensesnitt for flis-lag", + "Display the zoom control": "Vis grensesnitt for zoom-styring", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Vil du vise et oversiktskart?", + "Do you want to display a panel on load?": "Vil du vise et panel etter innlasting?", + "Do you want to display popup footer?": "Vil du vise en popup-bunntekst?", + "Do you want to display the scale control?": "Vil du vise grensesnitt for skalering?", + "Do you want to display the «more» control?": "Vil du vise grensesnitt for \"mer\"?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (bare link)", + "GeoRSS (title + image)": "GeoRSS (tittel og bilde)", + "Heatmap": "Varmekart", + "Icon shape": "Ikonform", + "Icon symbol": "Ikonsymbol", + "Inherit": "Arve", + "Label direction": "Merkelapp-retning", + "Label key": "Merkelapp-nøkkel", + "Labels are clickable": "Merkelapper er klikkbare", + "None": "Ingen", + "On the bottom": "På bunnen", + "On the left": "Til venstre", + "On the right": "Til høyre", + "On the top": "På toppen", + "Popup content template": "Popup content template", + "Set symbol": "Angi symbol", + "Side panel": "Sidepanel", + "Simplify": "Simplifisere", + "Symbol or url": "Symbol eller URL", + "Table": "Tabell", + "always": "alltid", + "clear": "tøm", + "collapsed": "collapsed", + "color": "farge", + "dash array": "dash array", + "define": "definer", + "description": "beskrivelse", + "expanded": "expanded", + "fill": "fyll", + "fill color": "fyllfarge", + "fill opacity": "fyllsynlighet", + "hidden": "skjult", + "iframe": "iframe", + "inherit": "arve", + "name": "navn", + "never": "aldri", + "new window": "nytt vindu", + "no": "nei", + "on hover": "når musa er over", + "opacity": "synlighet", + "parent window": "foreldrevindu", + "stroke": "strøk", + "weight": "vekt", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# en emneknagg for hovedtittel", + "## two hashes for second heading": "## to emneknagger for andre tittel", + "### three hashes for third heading": "### tre emneknagger for tredje tittel", + "**double star for bold**": "**dobbel stjerne for fet skrift**", + "*simple star for italic*": "*enkel stjerne for kursiv*", + "--- for an horizontal rule": "--- for et horisontalt skille", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En komma-separert liste over nummer som definerer den stiplede linja. Eks.: \"5, 10, 15\".", + "About": "Om", + "Action not allowed :(": "Handlingen er ikke tillatt :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Legg til et lag", + "Add a line to the current multi": "Legg en linje til gjeldende multi", + "Add a new property": "Legg til en ny egenskap", + "Add a polygon to the current multi": "Legg et polygon til gjeldende multi", + "Advanced actions": "Avanserte handlinger", + "Advanced properties": "Avanserte egenskaper", + "Advanced transition": "Avansert overgang", + "All properties are imported.": "Alle egenskaper er importert", + "Allow interactions": "Tillat interaksjoner", + "An error occured": "En feil oppsto", + "Are you sure you want to cancel your changes?": "Er du sikker på at du vil du forkaste endringene dine?", + "Are you sure you want to clone this map and all its datalayers?": "Er du sikker på at du vil klone dette kartet og alle tilhørende datalag?", + "Are you sure you want to delete the feature?": "Er du sikker på at du vil slette dette objektet?", + "Are you sure you want to delete this layer?": "Er du sikker på at du vil slette dette laget?", + "Are you sure you want to delete this map?": "Er du sikker på at du vil slette dette kartet?", + "Are you sure you want to delete this property on all the features?": "Er du sikker på at du vil slette denne egenskapen fra alle objektene?", + "Are you sure you want to restore this version?": "Er du sikker på at du vil gjenopprette denne versjonen?", + "Attach the map to my account": "Koble opp kartet til min konto", + "Auto": "Auto", + "Autostart when map is loaded": "Start automatisk når kartet er lastet", + "Bring feature to center": "Før objektet til midten", + "Browse data": "Se gjennom data", + "Cancel edits": "Avbryt endringer", + "Center map on your location": "Sentrer kartet på din posisjon", + "Change map background": "Endre bakgrunnskart", + "Change tilelayers": "Endre flislag", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Klikk for å legge til en markør", + "Click to continue drawing": "Klikk for å fortsette å tegne", + "Click to edit": "Klikk for å redigere", + "Click to start drawing a line": "Klikk for å starte å tegne en linje", + "Click to start drawing a polygon": "Klikk for å starte å tegne et polygon", + "Clone": "Dupliser", + "Clone of {name}": "Duplikat av {name}", + "Clone this feature": "Dupliser dette objektet", + "Clone this map": "Dupliser dette kartet", + "Close": "Lukk", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Fortsett linje", + "Continue line (Ctrl+Click)": "Fortsett linje (Ctrl+Klikk)", + "Coordinates": "Koordinater", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Egendefinert bakgrunn", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Slett", + "Delete all layers": "Slett alle lag", + "Delete layer": "Slett lag", + "Delete this feature": "Slett dette objektet", + "Delete this property on all the features": "Slett denne egenskapen fra alle objekter", + "Delete this shape": "Slett denne figuren", + "Delete this vertex (Alt+Click)": "Slett denne noden (Alt+Klikk)", + "Directions from here": "Navigasjon herfra", + "Disable editing": "Deaktiver redigering", + "Display measure": "Vis måling", + "Display on load": "Vis ved innlasting", + "Download": "Last ned", + "Download data": "Last ned data", + "Drag to reorder": "Dra for å endre rekkefølge", + "Draw a line": "Tegn en linje", + "Draw a marker": "Tegn en markør", + "Draw a polygon": "Tegn et polygon", + "Draw a polyline": "Tegn en polylinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiske egenskaper", + "Edit": "Rediger", + "Edit feature's layer": "Rediger objektets lag", + "Edit map properties": "Rediger kartegenskaper", + "Edit map settings": "Rediger kartinnstillinger", + "Edit properties in a table": "Rediger egenskaper i en tabell", + "Edit this feature": "Rediger dette objektet", + "Editing": "Redigering", + "Embed and share this map": "Bygg inn og del dette kartet", + "Embed the map": "Bygg inn kartet", + "Empty": "Tøm", + "Enable editing": "Aktiver redigering", + "Error in the tilelayer URL": "Feil i flislag-URLen", + "Error while fetching {url}": "Feil under henting av {url}", + "Exit Fullscreen": "Gå ut av fullskjerm", + "Extract shape to separate feature": "Hent ut form til eget objekt", + "Fetch data each time map view changes.": "Hent data hver gang kartvisningen endres.", + "Filter keys": "Filtrer nøkler", + "Filter…": "Filtrer...", + "Format": "Format", + "From zoom": "Fra zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Gå til \"{feature}\"", + "Heatmap intensity property": "Varmekart intensitet-egenskap", + "Heatmap radius": "Varmekart radius", + "Help": "Hjelp", + "Hide controls": "Skjul kontrollene", + "Home": "Hjem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hvor mye polylinjene skal simplifiseres på hvert zoom-nivå (mer = bedre ytelse og mer sømløst, mindre = mer nøyaktig)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("no", locale); +L.setLocale("no"); \ No newline at end of file diff --git a/umap/static/umap/locale/no.json b/umap/static/umap/locale/no.json new file mode 100644 index 00000000..7062ee34 --- /dev/null +++ b/umap/static/umap/locale/no.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Legg til symbol", + "Allow scroll wheel zoom?": "Tillat rulling med zoom-hjulet?", + "Automatic": "Automatisk", + "Ball": "Ball", + "Cancel": "Avbryt", + "Caption": "Caption", + "Change symbol": "Endre symbol", + "Choose the data format": "Velg dataformatet", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Sirkel", + "Clustered": "Clustered", + "Data browser": "Dataleser", + "Default": "Standard", + "Default zoom level": "Standard zoom-nivå", + "Default: name": "Standard: navn", + "Display label": "Vis merkelapp", + "Display the control to open OpenStreetMap editor": "Vis grensesnitt for å åpne OpenStreetMap-redigerer", + "Display the data layers control": "Vis grensesnitt for datalag", + "Display the embed control": "Vis grensesnitt for innbygging", + "Display the fullscreen control": "Vis grensesnitt for fullskjermvisning", + "Display the locate control": "Vis grensesnitt for lokalisering", + "Display the measure control": "Vis grensesnitt for oppmåling", + "Display the search control": "Vis grensesnitt for søk", + "Display the tile layers control": "Vis grensesnitt for flis-lag", + "Display the zoom control": "Vis grensesnitt for zoom-styring", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Vil du vise et oversiktskart?", + "Do you want to display a panel on load?": "Vil du vise et panel etter innlasting?", + "Do you want to display popup footer?": "Vil du vise en popup-bunntekst?", + "Do you want to display the scale control?": "Vil du vise grensesnitt for skalering?", + "Do you want to display the «more» control?": "Vil du vise grensesnitt for \"mer\"?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (bare link)", + "GeoRSS (title + image)": "GeoRSS (tittel og bilde)", + "Heatmap": "Varmekart", + "Icon shape": "Ikonform", + "Icon symbol": "Ikonsymbol", + "Inherit": "Arve", + "Label direction": "Merkelapp-retning", + "Label key": "Merkelapp-nøkkel", + "Labels are clickable": "Merkelapper er klikkbare", + "None": "Ingen", + "On the bottom": "På bunnen", + "On the left": "Til venstre", + "On the right": "Til høyre", + "On the top": "På toppen", + "Popup content template": "Popup content template", + "Set symbol": "Angi symbol", + "Side panel": "Sidepanel", + "Simplify": "Simplifisere", + "Symbol or url": "Symbol eller URL", + "Table": "Tabell", + "always": "alltid", + "clear": "tøm", + "collapsed": "collapsed", + "color": "farge", + "dash array": "dash array", + "define": "definer", + "description": "beskrivelse", + "expanded": "expanded", + "fill": "fyll", + "fill color": "fyllfarge", + "fill opacity": "fyllsynlighet", + "hidden": "skjult", + "iframe": "iframe", + "inherit": "arve", + "name": "navn", + "never": "aldri", + "new window": "nytt vindu", + "no": "nei", + "on hover": "når musa er over", + "opacity": "synlighet", + "parent window": "foreldrevindu", + "stroke": "strøk", + "weight": "vekt", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# en emneknagg for hovedtittel", + "## two hashes for second heading": "## to emneknagger for andre tittel", + "### three hashes for third heading": "### tre emneknagger for tredje tittel", + "**double star for bold**": "**dobbel stjerne for fet skrift**", + "*simple star for italic*": "*enkel stjerne for kursiv*", + "--- for an horizontal rule": "--- for et horisontalt skille", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En komma-separert liste over nummer som definerer den stiplede linja. Eks.: \"5, 10, 15\".", + "About": "Om", + "Action not allowed :(": "Handlingen er ikke tillatt :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Legg til et lag", + "Add a line to the current multi": "Legg en linje til gjeldende multi", + "Add a new property": "Legg til en ny egenskap", + "Add a polygon to the current multi": "Legg et polygon til gjeldende multi", + "Advanced actions": "Avanserte handlinger", + "Advanced properties": "Avanserte egenskaper", + "Advanced transition": "Avansert overgang", + "All properties are imported.": "Alle egenskaper er importert", + "Allow interactions": "Tillat interaksjoner", + "An error occured": "En feil oppsto", + "Are you sure you want to cancel your changes?": "Er du sikker på at du vil du forkaste endringene dine?", + "Are you sure you want to clone this map and all its datalayers?": "Er du sikker på at du vil klone dette kartet og alle tilhørende datalag?", + "Are you sure you want to delete the feature?": "Er du sikker på at du vil slette dette objektet?", + "Are you sure you want to delete this layer?": "Er du sikker på at du vil slette dette laget?", + "Are you sure you want to delete this map?": "Er du sikker på at du vil slette dette kartet?", + "Are you sure you want to delete this property on all the features?": "Er du sikker på at du vil slette denne egenskapen fra alle objektene?", + "Are you sure you want to restore this version?": "Er du sikker på at du vil gjenopprette denne versjonen?", + "Attach the map to my account": "Koble opp kartet til min konto", + "Auto": "Auto", + "Autostart when map is loaded": "Start automatisk når kartet er lastet", + "Bring feature to center": "Før objektet til midten", + "Browse data": "Se gjennom data", + "Cancel edits": "Avbryt endringer", + "Center map on your location": "Sentrer kartet på din posisjon", + "Change map background": "Endre bakgrunnskart", + "Change tilelayers": "Endre flislag", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Klikk for å legge til en markør", + "Click to continue drawing": "Klikk for å fortsette å tegne", + "Click to edit": "Klikk for å redigere", + "Click to start drawing a line": "Klikk for å starte å tegne en linje", + "Click to start drawing a polygon": "Klikk for å starte å tegne et polygon", + "Clone": "Dupliser", + "Clone of {name}": "Duplikat av {name}", + "Clone this feature": "Dupliser dette objektet", + "Clone this map": "Dupliser dette kartet", + "Close": "Lukk", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Fortsett linje", + "Continue line (Ctrl+Click)": "Fortsett linje (Ctrl+Klikk)", + "Coordinates": "Koordinater", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Egendefinert bakgrunn", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Slett", + "Delete all layers": "Slett alle lag", + "Delete layer": "Slett lag", + "Delete this feature": "Slett dette objektet", + "Delete this property on all the features": "Slett denne egenskapen fra alle objekter", + "Delete this shape": "Slett denne figuren", + "Delete this vertex (Alt+Click)": "Slett denne noden (Alt+Klikk)", + "Directions from here": "Navigasjon herfra", + "Disable editing": "Deaktiver redigering", + "Display measure": "Vis måling", + "Display on load": "Vis ved innlasting", + "Download": "Last ned", + "Download data": "Last ned data", + "Drag to reorder": "Dra for å endre rekkefølge", + "Draw a line": "Tegn en linje", + "Draw a marker": "Tegn en markør", + "Draw a polygon": "Tegn et polygon", + "Draw a polyline": "Tegn en polylinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiske egenskaper", + "Edit": "Rediger", + "Edit feature's layer": "Rediger objektets lag", + "Edit map properties": "Rediger kartegenskaper", + "Edit map settings": "Rediger kartinnstillinger", + "Edit properties in a table": "Rediger egenskaper i en tabell", + "Edit this feature": "Rediger dette objektet", + "Editing": "Redigering", + "Embed and share this map": "Bygg inn og del dette kartet", + "Embed the map": "Bygg inn kartet", + "Empty": "Tøm", + "Enable editing": "Aktiver redigering", + "Error in the tilelayer URL": "Feil i flislag-URLen", + "Error while fetching {url}": "Feil under henting av {url}", + "Exit Fullscreen": "Gå ut av fullskjerm", + "Extract shape to separate feature": "Hent ut form til eget objekt", + "Fetch data each time map view changes.": "Hent data hver gang kartvisningen endres.", + "Filter keys": "Filtrer nøkler", + "Filter…": "Filtrer...", + "Format": "Format", + "From zoom": "Fra zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Gå til \"{feature}\"", + "Heatmap intensity property": "Varmekart intensitet-egenskap", + "Heatmap radius": "Varmekart radius", + "Help": "Hjelp", + "Hide controls": "Skjul kontrollene", + "Home": "Hjem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Hvor mye polylinjene skal simplifiseres på hvert zoom-nivå (mer = bedre ytelse og mer sømløst, mindre = mer nøyaktig)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/pl.js b/umap/static/umap/locale/pl.js new file mode 100644 index 00000000..f557488c --- /dev/null +++ b/umap/static/umap/locale/pl.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Dodaj symbol", + "Allow scroll wheel zoom?": "Pozwalać na przybliżanie kółkiem?", + "Automatic": "Automatyczny", + "Ball": "Pinezka", + "Cancel": "Anuluj", + "Caption": "Podpis", + "Change symbol": "Zmień symbol", + "Choose the data format": "Wybierz format danych", + "Choose the layer of the feature": "Wybierz warstwę obiektu", + "Circle": "Kółko", + "Clustered": "Zgrupowane", + "Data browser": "Przeglądanie danych", + "Default": "Domyślne", + "Default zoom level": "Domyślne przybliżenie", + "Default: name": "Domyślnie: name", + "Display label": "Wyświetl etykietę", + "Display the control to open OpenStreetMap editor": "Wyświetlaj panel otwierający edytor OSM", + "Display the data layers control": "Wyświetlaj panel warstw z danymi", + "Display the embed control": "Wyświetlaj panel sterujący osadzaniem", + "Display the fullscreen control": "Wyświetlaj panel widoku pełnoekranowego", + "Display the locate control": "Wyświetlaj panel lokalizacji", + "Display the measure control": "Wyświetlaj panel miarek", + "Display the search control": "Wyświetlaj panel wyszukiwania", + "Display the tile layers control": "Wyświetlaj panel warstw kafelków", + "Display the zoom control": "Wyświetlaj panel sterujący powiększeniem", + "Do you want to display a caption bar?": "Wyświetlać pasek z nagłówkiem?", + "Do you want to display a minimap?": "Wyświetlać minimapę?", + "Do you want to display a panel on load?": "Wyświetlać panel po załadowaniu?", + "Do you want to display popup footer?": "Wyświetlać stopkę dymku?", + "Do you want to display the scale control?": "Wyświetlać kontrolkę ze skalą?", + "Do you want to display the «more» control?": "Wyświetlać „więcej kontrolek”?", + "Drop": "Kropla", + "GeoRSS (only link)": "GeoRSS (tylko link)", + "GeoRSS (title + image)": "GeoRSS (tytuł i obrazek)", + "Heatmap": "Mapa cieplna", + "Icon shape": "Kształt ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "Dziedziczne", + "Label direction": "Kierunek etykiety", + "Label key": "Klucz etykiety", + "Labels are clickable": "Etykiety są klikalne", + "None": "Brak", + "On the bottom": "Na dole", + "On the left": "Po lewej", + "On the right": "Po prawej", + "On the top": "Na górze", + "Popup content template": "Szablon treści dymku", + "Set symbol": "Ustaw symbol", + "Side panel": "Panel boczny", + "Simplify": "Uprość", + "Symbol or url": "Symbol lub adres URL", + "Table": "Tabela", + "always": "zawsze", + "clear": "wyczyść", + "collapsed": "zwinięty", + "color": "kolor", + "dash array": "przerywana linia", + "define": "określ", + "description": "opis", + "expanded": "rozwinięty", + "fill": "wypełnienie", + "fill color": "kolor wypełnienia", + "fill opacity": "stopień wypełnienia", + "hidden": "ukryte", + "iframe": "iframe", + "inherit": "dziedziczny", + "name": "nazwa", + "never": "nigdy", + "new window": "nowe okno", + "no": "nie", + "on hover": "po najechaniu", + "opacity": "przeźroczystość", + "parent window": "to samo okno", + "stroke": "obramowanie", + "weight": "waga", + "yes": "tak", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# jeden krzyżyk – nagłówek pierwszego poziomu", + "## two hashes for second heading": "## dwa krzyżyki – nagłówek drugiego poziomu", + "### three hashes for third heading": "### trzy krzyżyki – nagłówek trzeciego poziomu", + "**double star for bold**": "**podwójna gwiazdka do pogrubienia**", + "*simple star for italic*": "*pojedyncza gwiazdka do pochylenia*", + "--- for an horizontal rule": "--- dla poziomej linii", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Rozdzielona przecinkami lista liczb, która definiuje wzór kreski linii, np. „5, 10, 15”.", + "About": "Informacje", + "Action not allowed :(": "Operacja niedozwolona :(", + "Activate slideshow mode": "Aktywuj pokaz slajdów", + "Add a layer": "Dodaj warstwę", + "Add a line to the current multi": "Dodaj linię do wybranego obszaru", + "Add a new property": "Dodaj nową właściwość", + "Add a polygon to the current multi": "Dodaj wielobok do wybranego obszaru", + "Advanced actions": "Zaawansowane operacje", + "Advanced properties": "Zaawansowane właściwości", + "Advanced transition": "Zaawansowane przejście", + "All properties are imported.": "Importowane są wszystkie właściwości.", + "Allow interactions": "Zezwalaj na interakcję", + "An error occured": "Wystąpił błąd", + "Are you sure you want to cancel your changes?": "Na pewno chcesz porzucić swoje zmiany?", + "Are you sure you want to clone this map and all its datalayers?": "Na pewno chcesz sklonować tę mapę razem z jej warstwami?", + "Are you sure you want to delete the feature?": "Na pewno chcesz usunąć ten obiekt?", + "Are you sure you want to delete this layer?": "Na pewno chcesz usunąć tę warstwę?", + "Are you sure you want to delete this map?": "Na pewno chcesz usunąć tą mapę?", + "Are you sure you want to delete this property on all the features?": "Na pewno chcesz usunąć tę właściwość we wszystkich obiektach?", + "Are you sure you want to restore this version?": "Na pewno chcesz przywrócić tę wersję?", + "Attach the map to my account": "Dołącz mapę do mojego konta", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart po załadowaniu mapy", + "Bring feature to center": "Przenieś obiekt do środka", + "Browse data": "Przeglądaj dane", + "Cancel edits": "Anuluj edycje", + "Center map on your location": "Wyśrodkuj mapę na twojej lokalizacji", + "Change map background": "Zmień podkład mapy", + "Change tilelayers": "Zmień podkład", + "Choose a preset": "Wybierz szablon", + "Choose the format of the data to import": "Wybierz format importowanych danych", + "Choose the layer to import in": "Wybierz warstwę docelową", + "Click last point to finish shape": "Kliknij ostatni punkt, aby zakończyć rysowanie", + "Click to add a marker": "Kliknij, aby dodać znacznik", + "Click to continue drawing": "Kliknij, aby kontynuować rysowanie", + "Click to edit": "Kliknij, aby edytować", + "Click to start drawing a line": "Kliknij, aby zacząć rysować linię", + "Click to start drawing a polygon": "Kliknij, aby zacząć rysować obszar", + "Clone": "Klonuj", + "Clone of {name}": "Sklonowane z {name}", + "Clone this feature": "Sklonuj ten obiekt", + "Clone this map": "Sklonuj mapę", + "Close": "Zamknij", + "Clustering radius": "Promień grupowania", + "Comma separated list of properties to use when filtering features": "Lista właściwości oddzielona przecinkiem do używania przy sortowaniu obiektów", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Wartości powinny być oddzielone przecinkiem, średnikiem lub znakiem tabulacji. Układ współrzędnych WGS84 jest wymagany. Tylko geometrie typu Punkt zostaną zaimportowane. Import sprawdzi nagłówki kolumn czy zawierają \"lat\" i \"lon\" na początku nagłówka, wielkość liter nie ma znaczenia. Wszystkie inne kolumny zostaną zaimportowane jako właściwości tych punktów.", + "Continue line": "Kontynuuj linię", + "Continue line (Ctrl+Click)": "Kontynuuj linię (Ctrl+Klik)", + "Coordinates": "Współrzędne", + "Credits": "Źródło", + "Current view instead of default map view?": "Obecny widok mapy zamiast domyślnego?", + "Custom background": "Własne tło", + "Data is browsable": "Dane można przeglądać", + "Default interaction options": "Domyślne ustawienia interakcji", + "Default properties": "Domyślne właściwości", + "Default shape properties": "Domyślne właściwości kształtu", + "Define link to open in a new window on polygon click.": "Ustaw odnośnik, który otworzy się w nowym oknie po kliknięciu wielokąta.", + "Delay between two transitions when in play mode": "Opóźnienie pomiędzy dwoma przejściami w trybie odtwarzania", + "Delete": "Usuń", + "Delete all layers": "Usuń wszystkie warstwy", + "Delete layer": "Usuń warstwę", + "Delete this feature": "Usuń ten obiekt", + "Delete this property on all the features": "Usuń tę właściwość ze wszystkich obiektów", + "Delete this shape": "Usuń tę figurę", + "Delete this vertex (Alt+Click)": "Usuń ten wierzchołek (Alt+Klik)", + "Directions from here": "Kierunki stąd", + "Disable editing": "Wyłącz edytor", + "Display measure": "Wyświetl pomiar", + "Display on load": "Wyświetl przy ładowaniu", + "Download": "Pobieranie", + "Download data": "Pobierz dane", + "Drag to reorder": "Przeciągnij, by zmienić kolejność", + "Draw a line": "Rysuj linię", + "Draw a marker": "Dodaj znacznik", + "Draw a polygon": "Rysuj obszar", + "Draw a polyline": "Rysuj linię", + "Dynamic": "Dynamiczne", + "Dynamic properties": "Właściwości dynamiczne", + "Edit": "Edytuj", + "Edit feature's layer": "Edytuj warstwę z obiektami", + "Edit map properties": "Edytuj właściwości mapy", + "Edit map settings": "Edytuj ustawienia mapy", + "Edit properties in a table": "Edytuj właściwości w tabeli", + "Edit this feature": "Edytuj ten obiekt", + "Editing": "Edycja", + "Embed and share this map": "Osadź i udostępnij tę mapę", + "Embed the map": "Osadź mapę na stronie", + "Empty": "Wyczyść", + "Enable editing": "Włącz edytor", + "Error in the tilelayer URL": "Błąd w adresie URL podkładu", + "Error while fetching {url}": "Błąd wczytywania {url}", + "Exit Fullscreen": "Zamknij pełny ekran", + "Extract shape to separate feature": "Wydziel figurę jako odrębny obiekt", + "Fetch data each time map view changes.": "Załaduj dane za każdym razem, gdy zmienia się widok mapy.", + "Filter keys": "Klucze filtrów", + "Filter…": "Filtr...", + "Format": "Format", + "From zoom": "Od przybliżenia", + "Full map data": "Pełne dane mapy", + "Go to «{feature}»": "Idź do „{feature}”", + "Heatmap intensity property": "Intensywność mapy cieplnej", + "Heatmap radius": "Promień mapy cieplnej", + "Help": "Pomoc", + "Hide controls": "Ukryj przyciski", + "Home": "Strona główna", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Jak bardzo uprościć obszar na każdym poziomie przybliżenia (więcej = większa wydajność i gładki wygląd, mniej = większa dokładność)", + "If false, the polygon will act as a part of the underlying map.": "Jeżeli fałsz, wielokąt będzie zachowywał się jak część mapy zasadniczej.", + "Iframe export options": "Opcje eksportu Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Ramka z podaną wysokością (w pikselach) {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Ramka z podaną wysokością i szerokością (w pikselach): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Ramka: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obrazek z własną szerokością (w pikselach) {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Obrazek: {{http://image.url.com}}", + "Import": "Importuj", + "Import data": "Importuj dane", + "Import in a new layer": "Importuj do nowej warstwy", + "Imports all umap data, including layers and settings.": "Import wszystkich danych umap, razem z warstwami i ustawieniami.", + "Include full screen link?": "Dołączyć link do pełnego ekranu?", + "Interaction options": "Opcje interakcji", + "Invalid umap data": "Niepoprawne dane umap", + "Invalid umap data in {filename}": "Niepoprawne dane umap w {filename}", + "Keep current visible layers": "Zachowaj obecnie widoczne warstwy", + "Latitude": "Szerokość geograficzna", + "Layer": "Warstwa", + "Layer properties": "Ustawienia warstwy", + "Licence": "Licencja", + "Limit bounds": "Limit granic", + "Link to…": "Łącze do...", + "Link with text: [[http://example.com|text of the link]]": "Link z tekstem: [[http://example.com|tekst]]", + "Long credits": "Długie źródło", + "Longitude": "Długość geograficzna", + "Make main shape": "Narysuj główny kształt", + "Manage layers": "Zarządzaj warstwami", + "Map background credits": "Źródło tła mapy", + "Map has been attached to your account": "Mapa została dołączona do twojego konta", + "Map has been saved!": "Mapa została zapisana!", + "Map user content has been published under licence": "Zawartość mapy użytkownika została opublikowana pod licencją", + "Map's editors": "Edytorzy mapy", + "Map's owner": "Właściciel mapy", + "Merge lines": "Połącz linie", + "More controls": "Więcej przycisków", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Musi być prawidłową wartością CSS (np. DarkBlue lub #123456)", + "No licence has been set": "Nie wybrano licencji", + "No results": "Brak wyników", + "Only visible features will be downloaded.": "Tylko widoczne obiekty zostaną pobrane.", + "Open download panel": "Otwórz panel pobierania", + "Open link in…": "Otwieraj odnośnik w...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otwórz ten zakres mapy w edytorze, by wprowadzić do OpenStreetMap dokładniejsze dane", + "Optional intensity property for heatmap": "Opcjonalna intensywność mapy cieplnej", + "Optional. Same as color if not set.": "Opcjonalne. Taki sam jak kolor, jeśli nie podano.", + "Override clustering radius (default 80)": "Nadpisz promień grupowania (domyślnie 80)", + "Override heatmap radius (default 25)": "Nadpisz promień mapy cieplnej (domyślnie 25)", + "Please be sure the licence is compliant with your use.": "Upewnij się, że korzystanie z tych danych jest zgodne z licencją.", + "Please choose a format": "Wybierz format", + "Please enter the name of the property": "Podaj nazwę właściwości", + "Please enter the new name of this property": "Podaj nową nazwę tej właściwości", + "Powered by Leaflet and Django, glued by uMap project.": "Zasilany przez Leaflet i Django, sklejony przez projekt uMap.", + "Problem in the response": "Problem z odpowiedzią", + "Problem in the response format": "Problem z formatem odpowiedzi", + "Properties imported:": "Importowane właściwości: ", + "Property to use for sorting features": "Właściwość do sortowania elementów", + "Provide an URL here": "Wprowadź tutaj adres URL", + "Proxy request": "Żądanie proxy", + "Remote data": "Zdalne dane", + "Remove shape from the multi": "Usuń figurę z wybranego obszaru", + "Rename this property on all the features": "Zmień nazwę tej właściwości we wszystkich obiektach", + "Replace layer content": "Zamień zawartość warstwy", + "Restore this version": "Przywróć tę wersję", + "Save": "Zapisz", + "Save anyway": "Zapisz mimo wszystko", + "Save current edits": "Zapisz obecne edycje", + "Save this center and zoom": "Zapisz obecną pozycję i przybliżenie", + "Save this location as new feature": "Zapisz to miejsce jako nowy obiekt", + "Search a place name": "Szukaj nazwy miejsca", + "Search location": "Znajdź miejsce", + "Secret edit link is:
    {link}": "Sekretny link do edytowania to:
    {link}", + "See all": "Pokaż wszystko", + "See data layers": "Zobacz wszystkie warstwy danych", + "See full screen": "Pełny ekran", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Ustaw \"OFF\", żeby ukryć tę warstwę z pokazu slajdów, przeglądarki danych i okienek nawigacji.", + "Shape properties": "Właściwości kształtu", + "Short URL": "Krótki adres URL", + "Short credits": "Krótkie źródło", + "Show/hide layer": "Pokaż/ukryj warstwę", + "Simple link: [[http://example.com]]": "Prosty link: [[http://example.com]]", + "Slideshow": "Pokaz slajdów", + "Smart transitions": "Sprytne przejścia", + "Sort key": "Klucz sortowania", + "Split line": "Podziel linię", + "Start a hole here": "Zacznij dziurę tutaj", + "Start editing": "Rozpocznij edycję", + "Start slideshow": "Rozpocznij pokaz", + "Stop editing": "Zakończ edycję", + "Stop slideshow": "Zakończ pokaz", + "Supported scheme": "Obsługiwany schemat", + "Supported variables that will be dynamically replaced": "Obsługiwane zmienne zostaną dynamicznie zamienione", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol może być znakiem Unicode lub adresem URL. Możesz użyć także właściwości obiektów jako zmiennych np. w \"http://myserver.org/images/{name}.png\" zmienna {name} zostanie zastąpiona przez wartość \"name\" każdego znacznika.", + "TMS format": "Format TMS", + "Text color for the cluster label": "Kolor tekstu dla etykiety grupy", + "Text formatting": "Formatowanie tekstu", + "The name of the property to use as feature label (ex.: \"nom\")": "Nazwa właściwości, która ma być używana jako etykieta obiektu (np. \"name\")", + "The zoom and center have been setted.": "Przybliżenie i środek zostały ustawione.", + "To use if remote server doesn't allow cross domain (slower)": "Używaj, jeśli zdalny serwer nie zezwala na cross domain (wolne)", + "To zoom": "Przybliżać", + "Toggle edit mode (Shift+Click)": "Przełącz tryb edycji (Shift+Klik)", + "Transfer shape to edited feature": "Dołącz figurę do edytowanego obiektu", + "Transform to lines": "Przekształć na linie", + "Transform to polygon": "Przekształć w wielokąt", + "Type of layer": "Typ warstwy", + "Unable to detect format of file {filename}": "Nie można wykryć formatu pliku {filename}", + "Untitled layer": "Warstwa bez nazwy", + "Untitled map": "Mapa bez nazwy", + "Update permissions": "Zaktualizuj uprawnienia", + "Update permissions and editors": "Aktualizuj uprawnienia i edytorów", + "Url": "Adres URL", + "Use current bounds": "Użyj bieżących granic", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Użyj nazw pól z właściwości obiektu w klamrach, np. {name}. Zostaną automatycznie zastąpione przez odpowiadające im wartości.", + "User content credits": "Źródło treści użytkownika", + "User interface options": "Opcje interfejsu", + "Versions": "Wersje", + "View Fullscreen": "Włącz tryb pełnoekranowy", + "Where do we go from here?": "Gdzie można stąd pojechać?", + "Whether to display or not polygons paths.": "Czy wyświetlać obrysy obszarów.", + "Whether to fill polygons with color.": "Czy wypełniać obszary kolorem.", + "Who can edit": "Kto może edytować", + "Who can view": "Kto może zobaczyć", + "Will be displayed in the bottom right corner of the map": "Będzie wyświetlone w prawym dolnym rogu mapy", + "Will be visible in the caption of the map": "Będzie widoczne w nagłówku mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ups! Ktoś jeszcze edytował dane. Możesz mimo wszystko zapisać, ale to usunie zmiany dokonane przez innych.", + "You have unsaved changes.": "Masz niezapisane zmiany.", + "Zoom in": "Przybliż", + "Zoom level for automatic zooms": "Poziom automatycznych przybliżeń", + "Zoom out": "Oddal", + "Zoom to layer extent": "Przybliż do warstwy", + "Zoom to the next": "Przybliż do następnego", + "Zoom to the previous": "Przybliż do poprzedniego", + "Zoom to this feature": "Przybliż do tego obiektu", + "Zoom to this place": "Przybliż do tego miejsca", + "attribution": "oznaczenie autorstwa", + "by": " ", + "display name": "wyświetl nazwę", + "height": "wysokość", + "licence": "licencja", + "max East": "granica wschodnia", + "max North": "granica północna", + "max South": "granica południowa", + "max West": "granica zachodnia", + "max zoom": "maksymalne powiększenie", + "min zoom": "minimalne powiększenie", + "next": "następne", + "previous": "poprzednie", + "width": "szerokość", + "{count} errors during import: {message}": "{count} błędów podczas importu: {message}", + "Measure distances": "Pomiar odległości", + "NM": "NM", + "kilometers": "kilometry", + "km": "km", + "mi": "mi", + "miles": "mile", + "nautical miles": "mile morskie", + "{area} acres": "{area} akrów", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mi", + "{distance} yd": "{distance} yd", + "1 day": "1 dzień", + "1 hour": "1 godzina", + "5 min": "5 minut", + "Cache proxied request": "Zapytanie pośredniczące pamięci podręcznej", + "No cache": "Brak pamięci podręcznej", + "Popup": "Wyskakujące okienko", + "Popup (large)": "Wyskakujące okienko (duże)", + "Popup content style": "Styl zawartości wyskakującego okienka", + "Popup shape": "Kształt wyskakującego okienka", + "Skipping unknown geometry.type: {type}": "Pomijanie nieznanego rodzaju geometrii: {type}", + "Optional.": "Opcjonalnie.", + "Paste your data here": "Wklej tutaj swoje dane", + "Please save the map first": "Prosimy najpierw zapisać mapę", + "Unable to locate you.": "Nie udało się ustalić twojego położenia.", + "Feature identifier key": "Klucz identyfikacyjny obiektu", + "Open current feature on load": "Otwórz bieżący obiekt po załadowaniu", + "Permalink": "Bezpośredni odnośnik.", + "The name of the property to use as feature unique identifier.": "Nazwa właściwości używana jako unikalny identyfikator obiektu." +}; +L.registerLocale("pl", locale); +L.setLocale("pl"); \ No newline at end of file diff --git a/umap/static/umap/locale/pl.json b/umap/static/umap/locale/pl.json new file mode 100644 index 00000000..404c7b7a --- /dev/null +++ b/umap/static/umap/locale/pl.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Dodaj symbol", + "Allow scroll wheel zoom?": "Pozwalać na przybliżanie kółkiem?", + "Automatic": "Automatyczny", + "Ball": "Pinezka", + "Cancel": "Anuluj", + "Caption": "Podpis", + "Change symbol": "Zmień symbol", + "Choose the data format": "Wybierz format danych", + "Choose the layer of the feature": "Wybierz warstwę obiektu", + "Circle": "Kółko", + "Clustered": "Zgrupowane", + "Data browser": "Przeglądanie danych", + "Default": "Domyślne", + "Default zoom level": "Domyślne przybliżenie", + "Default: name": "Domyślnie: name", + "Display label": "Wyświetl etykietę", + "Display the control to open OpenStreetMap editor": "Wyświetlaj panel otwierający edytor OSM", + "Display the data layers control": "Wyświetlaj panel warstw z danymi", + "Display the embed control": "Wyświetlaj panel sterujący osadzaniem", + "Display the fullscreen control": "Wyświetlaj panel widoku pełnoekranowego", + "Display the locate control": "Wyświetlaj panel lokalizacji", + "Display the measure control": "Wyświetlaj panel miarek", + "Display the search control": "Wyświetlaj panel wyszukiwania", + "Display the tile layers control": "Wyświetlaj panel warstw kafelków", + "Display the zoom control": "Wyświetlaj panel sterujący powiększeniem", + "Do you want to display a caption bar?": "Wyświetlać pasek z nagłówkiem?", + "Do you want to display a minimap?": "Wyświetlać minimapę?", + "Do you want to display a panel on load?": "Wyświetlać panel po załadowaniu?", + "Do you want to display popup footer?": "Wyświetlać stopkę dymku?", + "Do you want to display the scale control?": "Wyświetlać kontrolkę ze skalą?", + "Do you want to display the «more» control?": "Wyświetlać „więcej kontrolek”?", + "Drop": "Kropla", + "GeoRSS (only link)": "GeoRSS (tylko link)", + "GeoRSS (title + image)": "GeoRSS (tytuł i obrazek)", + "Heatmap": "Mapa cieplna", + "Icon shape": "Kształt ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "Dziedziczne", + "Label direction": "Kierunek etykiety", + "Label key": "Klucz etykiety", + "Labels are clickable": "Etykiety są klikalne", + "None": "Brak", + "On the bottom": "Na dole", + "On the left": "Po lewej", + "On the right": "Po prawej", + "On the top": "Na górze", + "Popup content template": "Szablon treści dymku", + "Set symbol": "Ustaw symbol", + "Side panel": "Panel boczny", + "Simplify": "Uprość", + "Symbol or url": "Symbol lub adres URL", + "Table": "Tabela", + "always": "zawsze", + "clear": "wyczyść", + "collapsed": "zwinięty", + "color": "kolor", + "dash array": "przerywana linia", + "define": "określ", + "description": "opis", + "expanded": "rozwinięty", + "fill": "wypełnienie", + "fill color": "kolor wypełnienia", + "fill opacity": "stopień wypełnienia", + "hidden": "ukryte", + "iframe": "iframe", + "inherit": "dziedziczny", + "name": "nazwa", + "never": "nigdy", + "new window": "nowe okno", + "no": "nie", + "on hover": "po najechaniu", + "opacity": "przeźroczystość", + "parent window": "to samo okno", + "stroke": "obramowanie", + "weight": "waga", + "yes": "tak", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# jeden krzyżyk – nagłówek pierwszego poziomu", + "## two hashes for second heading": "## dwa krzyżyki – nagłówek drugiego poziomu", + "### three hashes for third heading": "### trzy krzyżyki – nagłówek trzeciego poziomu", + "**double star for bold**": "**podwójna gwiazdka do pogrubienia**", + "*simple star for italic*": "*pojedyncza gwiazdka do pochylenia*", + "--- for an horizontal rule": "--- dla poziomej linii", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Rozdzielona przecinkami lista liczb, która definiuje wzór kreski linii, np. „5, 10, 15”.", + "About": "Informacje", + "Action not allowed :(": "Operacja niedozwolona :(", + "Activate slideshow mode": "Aktywuj pokaz slajdów", + "Add a layer": "Dodaj warstwę", + "Add a line to the current multi": "Dodaj linię do wybranego obszaru", + "Add a new property": "Dodaj nową właściwość", + "Add a polygon to the current multi": "Dodaj wielobok do wybranego obszaru", + "Advanced actions": "Zaawansowane operacje", + "Advanced properties": "Zaawansowane właściwości", + "Advanced transition": "Zaawansowane przejście", + "All properties are imported.": "Importowane są wszystkie właściwości.", + "Allow interactions": "Zezwalaj na interakcję", + "An error occured": "Wystąpił błąd", + "Are you sure you want to cancel your changes?": "Na pewno chcesz porzucić swoje zmiany?", + "Are you sure you want to clone this map and all its datalayers?": "Na pewno chcesz sklonować tę mapę razem z jej warstwami?", + "Are you sure you want to delete the feature?": "Na pewno chcesz usunąć ten obiekt?", + "Are you sure you want to delete this layer?": "Na pewno chcesz usunąć tę warstwę?", + "Are you sure you want to delete this map?": "Na pewno chcesz usunąć tą mapę?", + "Are you sure you want to delete this property on all the features?": "Na pewno chcesz usunąć tę właściwość we wszystkich obiektach?", + "Are you sure you want to restore this version?": "Na pewno chcesz przywrócić tę wersję?", + "Attach the map to my account": "Dołącz mapę do mojego konta", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart po załadowaniu mapy", + "Bring feature to center": "Przenieś obiekt do środka", + "Browse data": "Przeglądaj dane", + "Cancel edits": "Anuluj edycje", + "Center map on your location": "Wyśrodkuj mapę na twojej lokalizacji", + "Change map background": "Zmień podkład mapy", + "Change tilelayers": "Zmień podkład", + "Choose a preset": "Wybierz szablon", + "Choose the format of the data to import": "Wybierz format importowanych danych", + "Choose the layer to import in": "Wybierz warstwę docelową", + "Click last point to finish shape": "Kliknij ostatni punkt, aby zakończyć rysowanie", + "Click to add a marker": "Kliknij, aby dodać znacznik", + "Click to continue drawing": "Kliknij, aby kontynuować rysowanie", + "Click to edit": "Kliknij, aby edytować", + "Click to start drawing a line": "Kliknij, aby zacząć rysować linię", + "Click to start drawing a polygon": "Kliknij, aby zacząć rysować obszar", + "Clone": "Klonuj", + "Clone of {name}": "Sklonowane z {name}", + "Clone this feature": "Sklonuj ten obiekt", + "Clone this map": "Sklonuj mapę", + "Close": "Zamknij", + "Clustering radius": "Promień grupowania", + "Comma separated list of properties to use when filtering features": "Lista właściwości oddzielona przecinkiem do używania przy sortowaniu obiektów", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Wartości powinny być oddzielone przecinkiem, średnikiem lub znakiem tabulacji. Układ współrzędnych WGS84 jest wymagany. Tylko geometrie typu Punkt zostaną zaimportowane. Import sprawdzi nagłówki kolumn czy zawierają \"lat\" i \"lon\" na początku nagłówka, wielkość liter nie ma znaczenia. Wszystkie inne kolumny zostaną zaimportowane jako właściwości tych punktów.", + "Continue line": "Kontynuuj linię", + "Continue line (Ctrl+Click)": "Kontynuuj linię (Ctrl+Klik)", + "Coordinates": "Współrzędne", + "Credits": "Źródło", + "Current view instead of default map view?": "Obecny widok mapy zamiast domyślnego?", + "Custom background": "Własne tło", + "Data is browsable": "Dane można przeglądać", + "Default interaction options": "Domyślne ustawienia interakcji", + "Default properties": "Domyślne właściwości", + "Default shape properties": "Domyślne właściwości kształtu", + "Define link to open in a new window on polygon click.": "Ustaw odnośnik, który otworzy się w nowym oknie po kliknięciu wielokąta.", + "Delay between two transitions when in play mode": "Opóźnienie pomiędzy dwoma przejściami w trybie odtwarzania", + "Delete": "Usuń", + "Delete all layers": "Usuń wszystkie warstwy", + "Delete layer": "Usuń warstwę", + "Delete this feature": "Usuń ten obiekt", + "Delete this property on all the features": "Usuń tę właściwość ze wszystkich obiektów", + "Delete this shape": "Usuń tę figurę", + "Delete this vertex (Alt+Click)": "Usuń ten wierzchołek (Alt+Klik)", + "Directions from here": "Kierunki stąd", + "Disable editing": "Wyłącz edytor", + "Display measure": "Wyświetl pomiar", + "Display on load": "Wyświetl przy ładowaniu", + "Download": "Pobieranie", + "Download data": "Pobierz dane", + "Drag to reorder": "Przeciągnij, by zmienić kolejność", + "Draw a line": "Rysuj linię", + "Draw a marker": "Dodaj znacznik", + "Draw a polygon": "Rysuj obszar", + "Draw a polyline": "Rysuj linię", + "Dynamic": "Dynamiczne", + "Dynamic properties": "Właściwości dynamiczne", + "Edit": "Edytuj", + "Edit feature's layer": "Edytuj warstwę z obiektami", + "Edit map properties": "Edytuj właściwości mapy", + "Edit map settings": "Edytuj ustawienia mapy", + "Edit properties in a table": "Edytuj właściwości w tabeli", + "Edit this feature": "Edytuj ten obiekt", + "Editing": "Edycja", + "Embed and share this map": "Osadź i udostępnij tę mapę", + "Embed the map": "Osadź mapę na stronie", + "Empty": "Wyczyść", + "Enable editing": "Włącz edytor", + "Error in the tilelayer URL": "Błąd w adresie URL podkładu", + "Error while fetching {url}": "Błąd wczytywania {url}", + "Exit Fullscreen": "Zamknij pełny ekran", + "Extract shape to separate feature": "Wydziel figurę jako odrębny obiekt", + "Fetch data each time map view changes.": "Załaduj dane za każdym razem, gdy zmienia się widok mapy.", + "Filter keys": "Klucze filtrów", + "Filter…": "Filtr...", + "Format": "Format", + "From zoom": "Od przybliżenia", + "Full map data": "Pełne dane mapy", + "Go to «{feature}»": "Idź do „{feature}”", + "Heatmap intensity property": "Intensywność mapy cieplnej", + "Heatmap radius": "Promień mapy cieplnej", + "Help": "Pomoc", + "Hide controls": "Ukryj przyciski", + "Home": "Strona główna", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Jak bardzo uprościć obszar na każdym poziomie przybliżenia (więcej = większa wydajność i gładki wygląd, mniej = większa dokładność)", + "If false, the polygon will act as a part of the underlying map.": "Jeżeli fałsz, wielokąt będzie zachowywał się jak część mapy zasadniczej.", + "Iframe export options": "Opcje eksportu Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Ramka z podaną wysokością (w pikselach) {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Ramka z podaną wysokością i szerokością (w pikselach): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Ramka: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obrazek z własną szerokością (w pikselach) {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Obrazek: {{http://image.url.com}}", + "Import": "Importuj", + "Import data": "Importuj dane", + "Import in a new layer": "Importuj do nowej warstwy", + "Imports all umap data, including layers and settings.": "Import wszystkich danych umap, razem z warstwami i ustawieniami.", + "Include full screen link?": "Dołączyć link do pełnego ekranu?", + "Interaction options": "Opcje interakcji", + "Invalid umap data": "Niepoprawne dane umap", + "Invalid umap data in {filename}": "Niepoprawne dane umap w {filename}", + "Keep current visible layers": "Zachowaj obecnie widoczne warstwy", + "Latitude": "Szerokość geograficzna", + "Layer": "Warstwa", + "Layer properties": "Ustawienia warstwy", + "Licence": "Licencja", + "Limit bounds": "Limit granic", + "Link to…": "Łącze do...", + "Link with text: [[http://example.com|text of the link]]": "Link z tekstem: [[http://example.com|tekst]]", + "Long credits": "Długie źródło", + "Longitude": "Długość geograficzna", + "Make main shape": "Narysuj główny kształt", + "Manage layers": "Zarządzaj warstwami", + "Map background credits": "Źródło tła mapy", + "Map has been attached to your account": "Mapa została dołączona do twojego konta", + "Map has been saved!": "Mapa została zapisana!", + "Map user content has been published under licence": "Zawartość mapy użytkownika została opublikowana pod licencją", + "Map's editors": "Edytorzy mapy", + "Map's owner": "Właściciel mapy", + "Merge lines": "Połącz linie", + "More controls": "Więcej przycisków", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Musi być prawidłową wartością CSS (np. DarkBlue lub #123456)", + "No licence has been set": "Nie wybrano licencji", + "No results": "Brak wyników", + "Only visible features will be downloaded.": "Tylko widoczne obiekty zostaną pobrane.", + "Open download panel": "Otwórz panel pobierania", + "Open link in…": "Otwieraj odnośnik w...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otwórz ten zakres mapy w edytorze, by wprowadzić do OpenStreetMap dokładniejsze dane", + "Optional intensity property for heatmap": "Opcjonalna intensywność mapy cieplnej", + "Optional. Same as color if not set.": "Opcjonalne. Taki sam jak kolor, jeśli nie podano.", + "Override clustering radius (default 80)": "Nadpisz promień grupowania (domyślnie 80)", + "Override heatmap radius (default 25)": "Nadpisz promień mapy cieplnej (domyślnie 25)", + "Please be sure the licence is compliant with your use.": "Upewnij się, że korzystanie z tych danych jest zgodne z licencją.", + "Please choose a format": "Wybierz format", + "Please enter the name of the property": "Podaj nazwę właściwości", + "Please enter the new name of this property": "Podaj nową nazwę tej właściwości", + "Powered by Leaflet and Django, glued by uMap project.": "Zasilany przez Leaflet i Django, sklejony przez projekt uMap.", + "Problem in the response": "Problem z odpowiedzią", + "Problem in the response format": "Problem z formatem odpowiedzi", + "Properties imported:": "Importowane właściwości: ", + "Property to use for sorting features": "Właściwość do sortowania elementów", + "Provide an URL here": "Wprowadź tutaj adres URL", + "Proxy request": "Żądanie proxy", + "Remote data": "Zdalne dane", + "Remove shape from the multi": "Usuń figurę z wybranego obszaru", + "Rename this property on all the features": "Zmień nazwę tej właściwości we wszystkich obiektach", + "Replace layer content": "Zamień zawartość warstwy", + "Restore this version": "Przywróć tę wersję", + "Save": "Zapisz", + "Save anyway": "Zapisz mimo wszystko", + "Save current edits": "Zapisz obecne edycje", + "Save this center and zoom": "Zapisz obecną pozycję i przybliżenie", + "Save this location as new feature": "Zapisz to miejsce jako nowy obiekt", + "Search a place name": "Szukaj nazwy miejsca", + "Search location": "Znajdź miejsce", + "Secret edit link is:
    {link}": "Sekretny link do edytowania to:
    {link}", + "See all": "Pokaż wszystko", + "See data layers": "Zobacz wszystkie warstwy danych", + "See full screen": "Pełny ekran", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Ustaw \"OFF\", żeby ukryć tę warstwę z pokazu slajdów, przeglądarki danych i okienek nawigacji.", + "Shape properties": "Właściwości kształtu", + "Short URL": "Krótki adres URL", + "Short credits": "Krótkie źródło", + "Show/hide layer": "Pokaż/ukryj warstwę", + "Simple link: [[http://example.com]]": "Prosty link: [[http://example.com]]", + "Slideshow": "Pokaz slajdów", + "Smart transitions": "Sprytne przejścia", + "Sort key": "Klucz sortowania", + "Split line": "Podziel linię", + "Start a hole here": "Zacznij dziurę tutaj", + "Start editing": "Rozpocznij edycję", + "Start slideshow": "Rozpocznij pokaz", + "Stop editing": "Zakończ edycję", + "Stop slideshow": "Zakończ pokaz", + "Supported scheme": "Obsługiwany schemat", + "Supported variables that will be dynamically replaced": "Obsługiwane zmienne zostaną dynamicznie zamienione", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol może być znakiem Unicode lub adresem URL. Możesz użyć także właściwości obiektów jako zmiennych np. w \"http://myserver.org/images/{name}.png\" zmienna {name} zostanie zastąpiona przez wartość \"name\" każdego znacznika.", + "TMS format": "Format TMS", + "Text color for the cluster label": "Kolor tekstu dla etykiety grupy", + "Text formatting": "Formatowanie tekstu", + "The name of the property to use as feature label (ex.: \"nom\")": "Nazwa właściwości, która ma być używana jako etykieta obiektu (np. \"name\")", + "The zoom and center have been setted.": "Przybliżenie i środek zostały ustawione.", + "To use if remote server doesn't allow cross domain (slower)": "Używaj, jeśli zdalny serwer nie zezwala na cross domain (wolne)", + "To zoom": "Przybliżać", + "Toggle edit mode (Shift+Click)": "Przełącz tryb edycji (Shift+Klik)", + "Transfer shape to edited feature": "Dołącz figurę do edytowanego obiektu", + "Transform to lines": "Przekształć na linie", + "Transform to polygon": "Przekształć w wielokąt", + "Type of layer": "Typ warstwy", + "Unable to detect format of file {filename}": "Nie można wykryć formatu pliku {filename}", + "Untitled layer": "Warstwa bez nazwy", + "Untitled map": "Mapa bez nazwy", + "Update permissions": "Zaktualizuj uprawnienia", + "Update permissions and editors": "Aktualizuj uprawnienia i edytorów", + "Url": "Adres URL", + "Use current bounds": "Użyj bieżących granic", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Użyj nazw pól z właściwości obiektu w klamrach, np. {name}. Zostaną automatycznie zastąpione przez odpowiadające im wartości.", + "User content credits": "Źródło treści użytkownika", + "User interface options": "Opcje interfejsu", + "Versions": "Wersje", + "View Fullscreen": "Włącz tryb pełnoekranowy", + "Where do we go from here?": "Gdzie można stąd pojechać?", + "Whether to display or not polygons paths.": "Czy wyświetlać obrysy obszarów.", + "Whether to fill polygons with color.": "Czy wypełniać obszary kolorem.", + "Who can edit": "Kto może edytować", + "Who can view": "Kto może zobaczyć", + "Will be displayed in the bottom right corner of the map": "Będzie wyświetlone w prawym dolnym rogu mapy", + "Will be visible in the caption of the map": "Będzie widoczne w nagłówku mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ups! Ktoś jeszcze edytował dane. Możesz mimo wszystko zapisać, ale to usunie zmiany dokonane przez innych.", + "You have unsaved changes.": "Masz niezapisane zmiany.", + "Zoom in": "Przybliż", + "Zoom level for automatic zooms": "Poziom automatycznych przybliżeń", + "Zoom out": "Oddal", + "Zoom to layer extent": "Przybliż do warstwy", + "Zoom to the next": "Przybliż do następnego", + "Zoom to the previous": "Przybliż do poprzedniego", + "Zoom to this feature": "Przybliż do tego obiektu", + "Zoom to this place": "Przybliż do tego miejsca", + "attribution": "oznaczenie autorstwa", + "by": " ", + "display name": "wyświetl nazwę", + "height": "wysokość", + "licence": "licencja", + "max East": "granica wschodnia", + "max North": "granica północna", + "max South": "granica południowa", + "max West": "granica zachodnia", + "max zoom": "maksymalne powiększenie", + "min zoom": "minimalne powiększenie", + "next": "następne", + "previous": "poprzednie", + "width": "szerokość", + "{count} errors during import: {message}": "{count} błędów podczas importu: {message}", + "Measure distances": "Pomiar odległości", + "NM": "NM", + "kilometers": "kilometry", + "km": "km", + "mi": "mi", + "miles": "mile", + "nautical miles": "mile morskie", + "{area} acres": "{area} akrów", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mi", + "{distance} yd": "{distance} yd", + "1 day": "1 dzień", + "1 hour": "1 godzina", + "5 min": "5 minut", + "Cache proxied request": "Zapytanie pośredniczące pamięci podręcznej", + "No cache": "Brak pamięci podręcznej", + "Popup": "Wyskakujące okienko", + "Popup (large)": "Wyskakujące okienko (duże)", + "Popup content style": "Styl zawartości wyskakującego okienka", + "Popup shape": "Kształt wyskakującego okienka", + "Skipping unknown geometry.type: {type}": "Pomijanie nieznanego rodzaju geometrii: {type}", + "Optional.": "Opcjonalnie.", + "Paste your data here": "Wklej tutaj swoje dane", + "Please save the map first": "Prosimy najpierw zapisać mapę", + "Unable to locate you.": "Nie udało się ustalić twojego położenia.", + "Feature identifier key": "Klucz identyfikacyjny obiektu", + "Open current feature on load": "Otwórz bieżący obiekt po załadowaniu", + "Permalink": "Bezpośredni odnośnik.", + "The name of the property to use as feature unique identifier.": "Nazwa właściwości używana jako unikalny identyfikator obiektu." +} diff --git a/umap/static/umap/locale/pl_PL.json b/umap/static/umap/locale/pl_PL.json new file mode 100644 index 00000000..f394c5ab --- /dev/null +++ b/umap/static/umap/locale/pl_PL.json @@ -0,0 +1,369 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first" +} \ No newline at end of file diff --git a/umap/static/umap/locale/pt.js b/umap/static/umap/locale/pt.js new file mode 100644 index 00000000..d693b227 --- /dev/null +++ b/umap/static/umap/locale/pt.js @@ -0,0 +1,371 @@ +var locale = { + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do rato?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controlo para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controlo das camadas de dados", + "Display the embed control": "Mostrar o controlo de embeber", + "Display the fullscreen control": "Mostrar o controlo de ecrã total", + "Display the locate control": "Mostrar o controlo de localizar", + "Display the measure control": "Mostrar o controlo de medição", + "Display the search control": "Mostrar o controlo de pesquisa", + "Display the tile layers control": "Mostrar o controlo de camadas de telas", + "Display the zoom control": "Mostrar o controlo de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controlo de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito\n o sistema de referência espacial WGS84. Apenas são importadas as \ngeometrias de ponto. A importação irá ver se aparece no cabeçalho das \ncolunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. \nTodas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controlos", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controlos", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "A ligação secreta de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propriedade a usar como etiqueta do elemento (ex.: \"nome\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do utilizador", + "User interface options": "Opções da interface de utilizador", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "A ignorar tipo de geometria desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole aqui os seus dados", + "Please save the map first": "Por favor primeiro grave o mapa" +}; +L.registerLocale("pt", locale); +L.setLocale("pt"); \ No newline at end of file diff --git a/umap/static/umap/locale/pt.json b/umap/static/umap/locale/pt.json new file mode 100644 index 00000000..1f9bcdb9 --- /dev/null +++ b/umap/static/umap/locale/pt.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do rato?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controlo para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controlo das camadas de dados", + "Display the embed control": "Mostrar o controlo de embeber", + "Display the fullscreen control": "Mostrar o controlo de ecrã total", + "Display the locate control": "Mostrar o controlo de localizar", + "Display the measure control": "Mostrar o controlo de medição", + "Display the search control": "Mostrar o controlo de pesquisa", + "Display the tile layers control": "Mostrar o controlo de camadas de telas", + "Display the zoom control": "Mostrar o controlo de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controlo de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito\n o sistema de referência espacial WGS84. Apenas são importadas as \ngeometrias de ponto. A importação irá ver se aparece no cabeçalho das \ncolunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. \nTodas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controlos", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controlos", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "A ligação secreta de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propriedade a usar como etiqueta do elemento (ex.: \"nome\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do utilizador", + "User interface options": "Opções da interface de utilizador", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "A ignorar tipo de geometria desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole aqui os seus dados", + "Please save the map first": "Por favor primeiro grave o mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/pt_BR.js b/umap/static/umap/locale/pt_BR.js new file mode 100644 index 00000000..eeebabf8 --- /dev/null +++ b/umap/static/umap/locale/pt_BR.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do mause?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controle para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controle das camadas de dados", + "Display the embed control": "Mostrar o controle de embeber", + "Display the fullscreen control": "Mostrar o controle de ecrã total", + "Display the locate control": "Mostrar o controle de localizar", + "Display the measure control": "Mostrar o controle de medição", + "Display the search control": "Mostrar o controle de procura", + "Display the tile layers control": "Mostrar o controle de camadas de telas", + "Display the zoom control": "Mostrar o controle de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controle de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "Iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito o sistema de referência espacial WGS84. Apenas são importadas as geometrias de ponto. A importação irá ver se aparece no cabeçalho das colunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. Todas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controles", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controles", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "O link secreto de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propriedade a usar como etiqueta do elemento (ex.: \"nome\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do usuário", + "User interface options": "Opções da interface de usuário", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Você pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "Ignorando geometry.type desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole seus dados aqui", + "Please save the map first": "Por favor, primeiro salve o mapa ", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("pt_BR", locale); +L.setLocale("pt_BR"); \ No newline at end of file diff --git a/umap/static/umap/locale/pt_BR.json b/umap/static/umap/locale/pt_BR.json new file mode 100644 index 00000000..9bee861c --- /dev/null +++ b/umap/static/umap/locale/pt_BR.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do mause?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controle para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controle das camadas de dados", + "Display the embed control": "Mostrar o controle de embeber", + "Display the fullscreen control": "Mostrar o controle de ecrã total", + "Display the locate control": "Mostrar o controle de localizar", + "Display the measure control": "Mostrar o controle de medição", + "Display the search control": "Mostrar o controle de procura", + "Display the tile layers control": "Mostrar o controle de camadas de telas", + "Display the zoom control": "Mostrar o controle de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controle de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "Iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito o sistema de referência espacial WGS84. Apenas são importadas as geometrias de ponto. A importação irá ver se aparece no cabeçalho das colunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. Todas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controles", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controles", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "O link secreto de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "O nome da propriedade a usar como etiqueta do elemento (ex.: \"nome\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do usuário", + "User interface options": "Opções da interface de usuário", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Você pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "Ignorando geometry.type desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole seus dados aqui", + "Please save the map first": "Por favor, primeiro salve o mapa ", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/pt_PT.js b/umap/static/umap/locale/pt_PT.js new file mode 100644 index 00000000..ec4c4aa1 --- /dev/null +++ b/umap/static/umap/locale/pt_PT.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do rato?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controlo para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controlo das camadas de dados", + "Display the embed control": "Mostrar o controlo de embeber", + "Display the fullscreen control": "Mostrar o controlo de ecrã total", + "Display the locate control": "Mostrar o controlo de localizar", + "Display the measure control": "Mostrar o controlo de medição", + "Display the search control": "Mostrar o controlo de pesquisa", + "Display the tile layers control": "Mostrar o controlo de camadas de telas", + "Display the zoom control": "Mostrar o controlo de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controlo de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "Iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito\n o sistema de referência espacial WGS84. Apenas são importadas as \ngeometrias de ponto. A importação irá ver se aparece no cabeçalho das \ncolunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. \nTodas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controlos", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controlos", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "A ligação secreta de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do utilizador", + "User interface options": "Opções da interface de utilizador", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "A ignorar tipo de geometria desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole aqui os seus dados", + "Please save the map first": "Por favor primeiro grave o mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("pt_PT", locale); +L.setLocale("pt_PT"); \ No newline at end of file diff --git a/umap/static/umap/locale/pt_PT.json b/umap/static/umap/locale/pt_PT.json new file mode 100644 index 00000000..fc8cd879 --- /dev/null +++ b/umap/static/umap/locale/pt_PT.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Adicionar símbolo", + "Allow scroll wheel zoom?": "Permitir zoom com roda do rato?", + "Automatic": "Automático", + "Ball": "Bola", + "Cancel": "Cancelar", + "Caption": "Cabeçalho", + "Change symbol": "Alterar símbolo", + "Choose the data format": "Escolha o formato dos dados", + "Choose the layer of the feature": "Escolha a camada do elemento", + "Circle": "Círculo", + "Clustered": "Agregado", + "Data browser": "Navegador de dados", + "Default": "Padrão", + "Default zoom level": "Nível de aproximação padrão", + "Default: name": "Padrão: nome", + "Display label": "Mostrar etiqueta", + "Display the control to open OpenStreetMap editor": "Mostrar o controlo para abrir o editor OpenStreetMap", + "Display the data layers control": "Mostrar o controlo das camadas de dados", + "Display the embed control": "Mostrar o controlo de embeber", + "Display the fullscreen control": "Mostrar o controlo de ecrã total", + "Display the locate control": "Mostrar o controlo de localizar", + "Display the measure control": "Mostrar o controlo de medição", + "Display the search control": "Mostrar o controlo de pesquisa", + "Display the tile layers control": "Mostrar o controlo de camadas de telas", + "Display the zoom control": "Mostrar o controlo de aproximar e afastar (zoom)", + "Do you want to display a caption bar?": "Mostrar uma barra de cabeçalho?", + "Do you want to display a minimap?": "Pretende mostrar um mini-mapa?", + "Do you want to display a panel on load?": "Mostrar um painel ao carregar?", + "Do you want to display popup footer?": "Pretende mostrar um popup no rodapé?", + "Do you want to display the scale control?": "Pretende mostrar o controlo de escala?", + "Do you want to display the «more» control?": "Mostrar o botão «mostrar mais botões»?", + "Drop": "Comum", + "GeoRSS (only link)": "GeoRSS (apenas o link)", + "GeoRSS (title + image)": "GeoRSS (título + imagem)", + "Heatmap": "Mapa térmico", + "Icon shape": "Forma do ícone", + "Icon symbol": "Símbolo do ícone", + "Inherit": "Herdado", + "Label direction": "Direção da etiqueta", + "Label key": "Chave da etiqueta", + "Labels are clickable": "Etiquetas são clicáveis", + "None": "Nenhum", + "On the bottom": "No fundo", + "On the left": "Na esquerda", + "On the right": "Na direita", + "On the top": "No topo", + "Popup content template": "Modelo de conteúdo do popup", + "Set symbol": "Definir símbolo", + "Side panel": "Painel lateral", + "Simplify": "Simplificar", + "Symbol or url": "Símbolo ou URL", + "Table": "Tabela", + "always": "sempre", + "clear": "limpar", + "collapsed": "colapsado", + "color": "cor", + "dash array": "série de traços", + "define": "definir", + "description": "descrição", + "expanded": "expandido", + "fill": "preenchimento", + "fill color": "cor do preenchimento", + "fill opacity": "opacidade do preenchimento", + "hidden": "oculto", + "iframe": "iframe", + "inherit": "herdado", + "name": "nome", + "never": "nunca", + "new window": "nova janela", + "no": "não", + "on hover": "cursor por cima", + "opacity": "opacidade", + "parent window": "janela pai", + "stroke": "traço", + "weight": "espessura", + "yes": "sim", + "{delay} seconds": "{delay} segundos", + "# one hash for main heading": "# um cardinal para o cabeçalho principal", + "## two hashes for second heading": "## dois cardinais para o segundo cabeçalho", + "### three hashes for third heading": "### três cardinais para o terceiro cabeçalho", + "**double star for bold**": "**dois asteriscos duplos para negrito**", + "*simple star for italic*": "**um asterisco duplos para itálico**", + "--- for an horizontal rule": "--- para uma régua horizontal", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Lista de números separada por vírgulas que define o padrão do traço. Por exemplo \"5, 10, 15\".", + "About": "Sobre", + "Action not allowed :(": "Ação não permitida :(", + "Activate slideshow mode": "Ativar modo de apresentação", + "Add a layer": "Adicionar camada", + "Add a line to the current multi": "Adicionar uma linha para o multi atual", + "Add a new property": "Adicionar uma nova propriedade", + "Add a polygon to the current multi": "Adicionar um polígono para o multi atual", + "Advanced actions": "Ações avançadas", + "Advanced properties": "Propriedades avançadas", + "Advanced transition": "Transição avançada", + "All properties are imported.": "Foram importadas todas as propriedades.", + "Allow interactions": "Permitir interações", + "An error occured": "Ocorreu um erro", + "Are you sure you want to cancel your changes?": "Tem a certeza que quer cancelar as suas alterações?", + "Are you sure you want to clone this map and all its datalayers?": "Tem a certeza que quer clonar este mapa, incluindo todas as camadas de dados?", + "Are you sure you want to delete the feature?": "Tem a certeza que quer eliminar o elemento?", + "Are you sure you want to delete this layer?": "Tem a certeza que quer eliminar esta camada?", + "Are you sure you want to delete this map?": "Tem a certeza que quer eliminar este mapa?", + "Are you sure you want to delete this property on all the features?": "Tem a certeza que quer eliminar esta propriedade em todos os elementos?", + "Are you sure you want to restore this version?": "Tem a certeza que quer restaurar esta versão?", + "Attach the map to my account": "Anexar o mapa à minha conta", + "Auto": "Auto", + "Autostart when map is loaded": "Iniciar ao abrir o mapa", + "Bring feature to center": "Centrar elemento", + "Browse data": "Explorar dados", + "Cancel edits": "Cancelar edições", + "Center map on your location": "Centrar mapa na sua localização", + "Change map background": "Mudar fundo do mapa", + "Change tilelayers": "Alterar camadas de telas", + "Choose a preset": "Escolha um modelo", + "Choose the format of the data to import": "Escolha o formato dos dados para importação", + "Choose the layer to import in": "Escolha a camada para destino da importação", + "Click last point to finish shape": "Clique no último ponto para terminar a forma geométrica", + "Click to add a marker": "Clique para adicionar um marcador", + "Click to continue drawing": "Clique para continuar a desenhar", + "Click to edit": "Clique para editar", + "Click to start drawing a line": "Clique para começar a desenhar uma linha", + "Click to start drawing a polygon": "Clique para começar a desenhar um polígono", + "Clone": "Clonar", + "Clone of {name}": "Clone de {name}", + "Clone this feature": "Clonar este elemento", + "Clone this map": "Clonar este mapa", + "Close": "Fechar", + "Clustering radius": "Raio do aglomerado", + "Comma separated list of properties to use when filtering features": "Lista separada por vírgulas de propriedades a usar ao filtrar elementos", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Valores separados por vírgula, tabulação ou ponto-e-vírgula. É implícito\n o sistema de referência espacial WGS84. Apenas são importadas as \ngeometrias de ponto. A importação irá ver se aparece no cabeçalho das \ncolunas «lat» e «lon», ignorando diferença de maiúsculas e minúsculas. \nTodas a outras colunas são importadas como propriedades.", + "Continue line": "Continuar linha", + "Continue line (Ctrl+Click)": "Continuar linnha (Ctrl+Clique)", + "Coordinates": "Coordenadas", + "Credits": "Créditos", + "Current view instead of default map view?": "Vista atual e não a vista padrão do mapa?", + "Custom background": "Fundo personalizado", + "Data is browsable": "Os dados são navegáveis", + "Default interaction options": "Opções padrão de interação", + "Default properties": "Propriedades padrão", + "Default shape properties": "Propriedades padrão de formas geométricas", + "Define link to open in a new window on polygon click.": "Definir link para abrir numa nova janela ao clicar no polígono.", + "Delay between two transitions when in play mode": "Atraso entre 2 transições ao reproduzir a apresentação", + "Delete": "Eliminar", + "Delete all layers": "Eliminar todas as camadas", + "Delete layer": "Eliminar camada", + "Delete this feature": "Eliminar este elemento", + "Delete this property on all the features": "Eliminar esta propriedade em todos os elementos", + "Delete this shape": "Eliminar esta forma geométrica", + "Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clique)", + "Directions from here": "Direções a partir daqui", + "Disable editing": "Desativar edição", + "Display measure": "Mostrar medição", + "Display on load": "Mostrar ao carregar", + "Download": "Descarregar", + "Download data": "Descarregar dados", + "Drag to reorder": "Arrastar para reordenar", + "Draw a line": "Desenhar uma linha", + "Draw a marker": "Desenhar um marco", + "Draw a polygon": "Desenhar um polígono", + "Draw a polyline": "Desenhar uma polilinha", + "Dynamic": "Dinâmico", + "Dynamic properties": "Propriedades dinâmicas", + "Edit": "Editar", + "Edit feature's layer": "Editar camada do elemento", + "Edit map properties": "Editar propriedades do mapa", + "Edit map settings": "Editar definições do mapa", + "Edit properties in a table": "Editar propriedades numa tabela", + "Edit this feature": "Editar este elemento", + "Editing": "A editar", + "Embed and share this map": "Exportar e partilhar este mapa", + "Embed the map": "Embeber o mapa", + "Empty": "Vazio", + "Enable editing": "Ativar edição", + "Error in the tilelayer URL": "Erro no URL de telas", + "Error while fetching {url}": "Erro ao processar {url}", + "Exit Fullscreen": "Sair de Ecrã Total", + "Extract shape to separate feature": "Extrair forma geométrica para separar o elemento", + "Fetch data each time map view changes.": "Processar dados cada vez que o mapa é alterado.", + "Filter keys": "Filtrar chaves", + "Filter…": "Filtrar...", + "Format": "Formato", + "From zoom": "Do zoom", + "Full map data": "Todos os dados do mapa", + "Go to «{feature}»": "Ir a «{feature}»", + "Heatmap intensity property": "Propriedade da intensidade do mapa térmico", + "Heatmap radius": "Raio do mapa térmico", + "Help": "Ajuda", + "Hide controls": "Ocultar controlos", + "Home": "Início", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Por quanto simplificar a polilinha em cada nível de aproximação (mais = melhor desempenho e aspeto mais suave, menos = mais preciso)", + "If false, the polygon will act as a part of the underlying map.": "Se desativado, o polígono agirá como parte do mapa de baixo.", + "Iframe export options": "Opções de exportação Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe com altura personalizada (em px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe com altura e largura personalizados (em px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Imagem com largura personalizada (em px): {{http://imagem.url.com|largura}}", + "Image: {{http://image.url.com}}": "Imagem: {{http://image.url.com}}", + "Import": "Importar", + "Import data": "Importar dados", + "Import in a new layer": "Importar uma nova camada", + "Imports all umap data, including layers and settings.": "Importa todos os dados uMap, incluindo camadas e definições.", + "Include full screen link?": "Incluir link de encrã total?", + "Interaction options": "Opções de interação", + "Invalid umap data": "Dados uMap inválidos", + "Invalid umap data in {filename}": "Dados uMap inválidos em {filename}", + "Keep current visible layers": "Manter camadas atualmente visíveis", + "Latitude": "Latitude", + "Layer": "Camada", + "Layer properties": "Propriedades da camada", + "Licence": "Licença", + "Limit bounds": "Extremos dos limites", + "Link to…": "Link para...", + "Link with text: [[http://example.com|text of the link]]": "Link com texto: [[http://example.com|texto do link]]", + "Long credits": "Créditos por extenso", + "Longitude": "Longitude", + "Make main shape": "Fazer forma geométrica principal", + "Manage layers": "Gerir camadas", + "Map background credits": "Créditos do fundo do mapa", + "Map has been attached to your account": "O mapa foi anexado à sua conta", + "Map has been saved!": "O mapa foi gravado!", + "Map user content has been published under licence": "O conteúdo do mapa foi publicado sob a licença", + "Map's editors": "Editores do mapa", + "Map's owner": "Proprietário do mapa", + "Merge lines": "Fundir linhas", + "More controls": "Mais controlos", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Tem de ser um valor CSS válido (p.ex.: DarkBlue ou #123456)", + "No licence has been set": "Não foi definida nenhuma licença", + "No results": "Sem resultados", + "Only visible features will be downloaded.": "Apenas os elementos visíveis serão descarregados.", + "Open download panel": "Abrir painel de descarregar", + "Open link in…": "Abrir link numa...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Abrir esta região do mapa num editor de mapas para fornecer dados mais precisos ao OpenStreetMap", + "Optional intensity property for heatmap": "Propriedade opcional da intensidade do mapa térmico", + "Optional. Same as color if not set.": "Opcional. Igual à cor se não for definido.", + "Override clustering radius (default 80)": "Sobrepor raio do aglomerado (padrão 80)", + "Override heatmap radius (default 25)": "Sobrepor raio do mapa térmico (padrão 80)", + "Please be sure the licence is compliant with your use.": "Por favor tenha a certeza que a utilização está conforme a licença.", + "Please choose a format": "Por favor escolha um formato", + "Please enter the name of the property": "Por favor introduza o nome da propriedade", + "Please enter the new name of this property": "Por favor introduza um novo nome desta propriedade", + "Powered by Leaflet and Django, glued by uMap project.": "Criado com Leaflet e Django pelo projeto uMap.", + "Problem in the response": "Problema na resposta do servidor", + "Problem in the response format": "Problema no formato da resposta", + "Properties imported:": "Propriedades importadas:", + "Property to use for sorting features": "Propriedade a usar para ordenar elementos", + "Provide an URL here": "Forneça um URL aqui", + "Proxy request": "Pedido proxy", + "Remote data": "Dados remotos", + "Remove shape from the multi": "Remover forma do multi", + "Rename this property on all the features": "Alterar nome desta propriedade em todos os elementos", + "Replace layer content": "Substituir o conteúdo da camada", + "Restore this version": "Restaurar esta versão", + "Save": "Gravar", + "Save anyway": "Gravar mesmo assim", + "Save current edits": "Gravar edições atuais", + "Save this center and zoom": "Gravar este centro e aproximar", + "Save this location as new feature": "Gravar esta localização como novo elemento", + "Search a place name": "Procurar por um local", + "Search location": "Procurar localização", + "Secret edit link is:
    {link}": "A ligação secreta de editar é:
    {link}", + "See all": "Ver tudo", + "See data layers": "Ver camadas de dados", + "See full screen": "Ver em ecrã total", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Defina como falso para ocultar esta camada da apresentação de slides, o navegador de dados e da navegação do popup…", + "Shape properties": "Propriedades de formas geométricas", + "Short URL": "URL curto", + "Short credits": "Créditos resumidos", + "Show/hide layer": "Mostrar/ocultar camada", + "Simple link: [[http://example.com]]": "Link simples: [[http://example.com]]", + "Slideshow": "Apresentação", + "Smart transitions": "Transições inteligentes", + "Sort key": "Chave de ordenação", + "Split line": "Linha de separação", + "Start a hole here": "Começar um buraco aqui", + "Start editing": "Começar a editar", + "Start slideshow": "Iniciar apresentação", + "Stop editing": "Parar edição", + "Stop slideshow": "Parar apresentação", + "Supported scheme": "Esquema suportado", + "Supported variables that will be dynamically replaced": "Variáveis suportadas que serão substituídas de forma dinâmica", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "O símbolo pode ser um caractere unicode ou um URL. Pode usar as propriedades de elementos como variáveis: por exemplo.: com \"http://meuservidor.org/imagens/{nome}.png\", a variável {nome} será substituída pelo valor \"nome\" em cada marco.", + "TMS format": "Formato TMS", + "Text color for the cluster label": "Cor do texto para a etiqueta do aglomerado", + "Text formatting": "Formatação do texto", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "O centro e a aproximação foram definidos.", + "To use if remote server doesn't allow cross domain (slower)": "Para usar caso o servidor remoto não permitir domínios cruzados (mais lento)", + "To zoom": "Ao zoom", + "Toggle edit mode (Shift+Click)": "Alternar modo de editar (Shift+Clique)", + "Transfer shape to edited feature": "Transferir a forma geométrica para o elemento editado", + "Transform to lines": "Transformar em linha", + "Transform to polygon": "Transformar em polígono", + "Type of layer": "Tipo de camada", + "Unable to detect format of file {filename}": "Não foi possível detetar o formato do ficheiro {filename}", + "Untitled layer": "Camada sem nome", + "Untitled map": "Mapa sem nome", + "Update permissions": "Permissões de atualização", + "Update permissions and editors": "Alterar permisões e editores", + "Url": "URL", + "Use current bounds": "Usar extremos atuais", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use espaços reservados como propriedades de elementos entre parêntesis. Por ex. {nome} e serão substituídos pelos valores correspondentes.", + "User content credits": "Créditos do conteúdo do utilizador", + "User interface options": "Opções da interface de utilizador", + "Versions": "Versões", + "View Fullscreen": "Ver em Ecrã Total", + "Where do we go from here?": "Para onde vamos a partir daqui?", + "Whether to display or not polygons paths.": "Se mostrar ou não os caminhos dos polígonos.", + "Whether to fill polygons with color.": "Se mostrar ou não os polígonos preenchidos a cor.", + "Who can edit": "Quem pode editar", + "Who can view": "Quem pode ver", + "Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa", + "Will be visible in the caption of the map": "Será visível no cabeçalho do mapa", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ops! Parece que alguém editou os dados. Pode gravar mesmo assim, mas isso irá eliminar as alterações feitas por outros.", + "You have unsaved changes.": "Tem alterações por gravar", + "Zoom in": "Aproximar", + "Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas", + "Zoom out": "Afastar", + "Zoom to layer extent": "Aproximar ao tamanho da camada", + "Zoom to the next": "Aproximar para o seguinte", + "Zoom to the previous": "Aproximar para o anterior", + "Zoom to this feature": "Aproximar a este elemento", + "Zoom to this place": "Aproximar para este local", + "attribution": "atribuição", + "by": "por", + "display name": "mostrar nome", + "height": "altura", + "licence": "licença", + "max East": "Este máx.", + "max North": "Norte máx.", + "max South": "Sul máx.", + "max West": "Oeste máx.", + "max zoom": "aproximação máxima", + "min zoom": "aproximação mínima", + "next": "seguinte", + "previous": "anterior", + "width": "largura", + "{count} errors during import: {message}": "{count} erros ao importar: {message}", + "Measure distances": "Medir distâncias", + "NM": "NM", + "kilometers": "quilómetros", + "km": "km", + "mi": "mi", + "miles": "milhas", + "nautical miles": "milhas náuticas", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} milhas", + "{distance} yd": "{distance} yd", + "1 day": "1 dia", + "1 hour": "1 hora", + "5 min": "5 min", + "Cache proxied request": "Pedido cache com proxy", + "No cache": "Sem cache", + "Popup": "Popup", + "Popup (large)": "Popup (largo)", + "Popup content style": "Estilo do conteúdo do popup", + "Popup shape": "Forma do popup", + "Skipping unknown geometry.type: {type}": "A ignorar tipo de geometria desconhecido: {type}", + "Optional.": "Opcional.", + "Paste your data here": "Cole aqui os seus dados", + "Please save the map first": "Por favor primeiro grave o mapa", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/ro.js b/umap/static/umap/locale/ro.js new file mode 100644 index 00000000..cc4e1369 --- /dev/null +++ b/umap/static/umap/locale/ro.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Adaugă simbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Renunță", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Cerc", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Nimic", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Tabel", + "always": "mereu", + "clear": "clear", + "collapsed": "collapsed", + "color": "culoare", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "ascunde", + "iframe": "iframe", + "inherit": "inherit", + "name": "nume", + "never": "never", + "new window": "new window", + "no": "nu", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "da", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Despre", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Închide", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Linie continuă", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordonate", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Șterge", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Dezactivează editarea", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Descarcă", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Trage o linie", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Ajutor", + "Hide controls": "Hide controls", + "Home": "Acasă", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitudine", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licență", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitudine", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Harta a fost salvată!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Salvează", + "Save anyway": "Salvează oricum", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Căutați un nume al locației", + "Search location": "Căutați locația", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versiuni", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "arată nume", + "height": "height", + "licence": "licență", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("ro", locale); +L.setLocale("ro"); \ No newline at end of file diff --git a/umap/static/umap/locale/ro.json b/umap/static/umap/locale/ro.json new file mode 100644 index 00000000..a6388897 --- /dev/null +++ b/umap/static/umap/locale/ro.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Adaugă simbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Renunță", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Cerc", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Nimic", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Tabel", + "always": "mereu", + "clear": "clear", + "collapsed": "collapsed", + "color": "culoare", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "ascunde", + "iframe": "iframe", + "inherit": "inherit", + "name": "nume", + "never": "never", + "new window": "new window", + "no": "nu", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "da", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Despre", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Închide", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Linie continuă", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordonate", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Șterge", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Dezactivează editarea", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Descarcă", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Trage o linie", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Ajutor", + "Hide controls": "Hide controls", + "Home": "Acasă", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitudine", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licență", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitudine", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Harta a fost salvată!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Salvează", + "Save anyway": "Salvează oricum", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Căutați un nume al locației", + "Search location": "Căutați locația", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versiuni", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "arată nume", + "height": "height", + "licence": "licență", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/ru.js b/umap/static/umap/locale/ru.js new file mode 100644 index 00000000..cad4e55a --- /dev/null +++ b/umap/static/umap/locale/ru.js @@ -0,0 +1,377 @@ +var locale = { + "Add symbol": "Добавить значок", + "Allow scroll wheel zoom?": "Разрешить изменение масштаба колесом мыши?", + "Automatic": "Автоматически", + "Ball": "Булавка", + "Cancel": "Отменить", + "Caption": "Заголовок", + "Change symbol": "Изменить значок", + "Choose the data format": "Выберите формат данных", + "Choose the layer of the feature": "Выберите слой для объекта", + "Circle": "Кружок", + "Clustered": "Кластеризованный", + "Data browser": "Просмотр данных", + "Default": "По умолчанию", + "Default zoom level": "Масштаб по умолчанию", + "Default: name": "По умолчанию: название", + "Display label": "Показывать надпись", + "Display the control to open OpenStreetMap editor": "Отображать кнопку редактора OpenStreetMap", + "Display the data layers control": "Отображать кнопку управления слоями данных", + "Display the embed control": "Отображать кнопку встраивания", + "Display the fullscreen control": "Отображать кнопку полноэкранного режима", + "Display the locate control": "Отображать кнопку определения местоположения", + "Display the measure control": "Отображать линейку", + "Display the search control": "Отображать строку поиска", + "Display the tile layers control": "Отображать кнопку управления слоями подложки", + "Display the zoom control": "Отображать кнопку масштабирования", + "Do you want to display a caption bar?": "Показывать строку заголовка?", + "Do you want to display a minimap?": "Показывать миникарту?", + "Do you want to display a panel on load?": "Показывать панель управления при загрузке?", + "Do you want to display popup footer?": "Хотите использовать всплывающую подсказку снизу?", + "Do you want to display the scale control?": "Показывать шкалу расстояний?", + "Do you want to display the «more» control?": "Показывать кнопку «Ещё»?", + "Drop": "Капля", + "GeoRSS (only link)": "GeoRSS (только ссылка)", + "GeoRSS (title + image)": "GeoRSS (заголовок и изображение)", + "Heatmap": "Тепловая карта", + "Icon shape": "Форма иконки", + "Icon symbol": "Иконка значка", + "Inherit": "Наследовать", + "Label direction": "Направление метки", + "Label key": "Кнопка метки", + "Labels are clickable": "Метки можно нажимать", + "None": "Нет", + "On the bottom": "Внизу", + "On the left": "Слева", + "On the right": "Справа", + "On the top": "Вверху", + "Popup content template": "Шаблон всплывающей подсказки", + "Set symbol": "Выбрать значок", + "Side panel": "Боковая панель", + "Simplify": "Упростить", + "Symbol or url": "Значок или URL", + "Table": "Таблица", + "always": "всегда", + "clear": "очистить", + "collapsed": "Свёрнуто", + "color": "цвет", + "dash array": "штрихи", + "define": "Задать", + "description": "описание", + "expanded": "Развёрнуто", + "fill": "заливка", + "fill color": "цвет заливки", + "fill opacity": "Непрозрачность заливки", + "hidden": "скрыт", + "iframe": "Iframe", + "inherit": "наследовать", + "name": "название", + "never": "никогда", + "new window": "Новое окно", + "no": "нет", + "on hover": "при наведении", + "opacity": "непрозрачность", + "parent window": "Родительское окно", + "stroke": "штрихи", + "weight": "толщина", + "yes": "да", + "{delay} seconds": "{delay} секунд", + "# one hash for main heading": "# один шарп — заголовок", + "## two hashes for second heading": "## два шарпа — подзаголовок", + "### three hashes for third heading": "### три шарпа — подзаголовок 3-го уровня", + "**double star for bold**": "**двойные звёздочки — полужирный**", + "*simple star for italic*": "*звёздочки — курсив*", + "--- for an horizontal rule": "--- — горизонтальная линия", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Список значений, определяющих штрихи линии. Напр. «5, 10, 15».", + "About": "Подробней", + "Action not allowed :(": "Действие недоступно :(", + "Activate slideshow mode": "Включить режим слайдшоу", + "Add a layer": "Добавить слой", + "Add a line to the current multi": "Добавить линию к текущему мультиполигону", + "Add a new property": "Добавить новое свойство", + "Add a polygon to the current multi": "Добавить полигон к текущему мультиполигону", + "Advanced actions": "Дополнительные действия", + "Advanced properties": "Дополнительные свойства", + "Advanced transition": "Дополнительные преобразования", + "All properties are imported.": "Все свойства импортированы.", + "Allow interactions": "Разрешить взаимодействие", + "An error occured": "Произошла ошибка", + "Are you sure you want to cancel your changes?": "Вы уверены, что хотите отменить сделанные изменения?", + "Are you sure you want to clone this map and all its datalayers?": "Вы уверены, что хотите скопировать эту карту и все её слои данных?", + "Are you sure you want to delete the feature?": "Вы уверены, что хотите удалить объект?", + "Are you sure you want to delete this layer?": "Вы уверены что хотите удалить этот слой?", + "Are you sure you want to delete this map?": "Вы уверены, что хотите удалить карту?", + "Are you sure you want to delete this property on all the features?": "Вы уверены, что хотите удалить это свойство у всех объектов?", + "Are you sure you want to restore this version?": "Вы уверены, что хотите восстановить эту версию?", + "Attach the map to my account": "Прикрепить карту к моей учётной записи", + "Auto": "Автоматически", + "Autostart when map is loaded": "Автозапуск при открытии карты", + "Bring feature to center": "Поместить объект в центр", + "Browse data": "Просмотр данных", + "Cancel edits": "Отменить правки", + "Center map on your location": "Переместить карту в ваше местоположение", + "Change map background": "Изменить подложку карты", + "Change tilelayers": "Выбрать подложку", + "Choose a preset": "Выберите шаблон", + "Choose the format of the data to import": "Выберите формат данных для импорта", + "Choose the layer to import in": "Выбрать слой для импорта в него", + "Click last point to finish shape": "Щёлкните на последней точке, чтобы завершить", + "Click to add a marker": "Щёлкните, чтобы добавить метку", + "Click to continue drawing": "Щёлкайте, чтобы продолжить рисование", + "Click to edit": "Щёлкните, чтобы изменить", + "Click to start drawing a line": "Щёлкните, чтобы начать рисование линии", + "Click to start drawing a polygon": "Щёлкните, чтобы начать рисование полигона", + "Clone": "Создать копию", + "Clone of {name}": "Копия {name}", + "Clone this feature": "Скопировать фигуру", + "Clone this map": "Создать копию карты", + "Close": "Закрыть", + "Clustering radius": "Радиус кластеризации", + "Comma separated list of properties to use when filtering features": "Список свойств, разделённых запятыми, для использования при фильтрации", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "В качестве разделителя используются запятые, табуляции и точки с запятой. Применяется датум WGS84. Импорт просматривает заголовок на наличие полей «lat» и «lon», регистр не имеет значения. Все остальные поля импортируются как свойства.", + "Continue line": "Продолжить линию", + "Continue line (Ctrl+Click)": "Продолжить линию (Ctrl+Click)", + "Coordinates": "Координаты", + "Credits": "Авторские права", + "Current view instead of default map view?": "Использовать текущий вид вместо карты по умолчанию?", + "Custom background": "Пользовательская подложка карты", + "Data is browsable": "Данные можно просматривать", + "Default interaction options": "Параметры интерактивности по умолчанию", + "Default properties": "Свойства по умолчанию", + "Default shape properties": "Параметры фигуры по умолчанию", + "Define link to open in a new window on polygon click.": "Задайте адрес для открытия его в новом окне по клику на полигон.", + "Delay between two transitions when in play mode": "Задержка между двумя переходами в режиме проигрывания", + "Delete": "Удалить", + "Delete all layers": "Удалить все слои", + "Delete layer": "Удалить слой", + "Delete this feature": "Удалить объект", + "Delete this property on all the features": "Удалить это свойство у всех объектов", + "Delete this shape": "Удалить эту фигуру", + "Delete this vertex (Alt+Click)": "Удалить эту точку (Alt+клик)", + "Directions from here": "Навигация отсюда", + "Disable editing": "Отключить редактирование", + "Display measure": "Display measure", + "Display on load": "Показывать при загрузке", + "Download": "Скачать", + "Download data": "Скачать данные", + "Drag to reorder": "Перетащите для изменения порядка", + "Draw a line": "Нарисовать линию", + "Draw a marker": "Добавить метку", + "Draw a polygon": "Нарисовать полигон", + "Draw a polyline": "Нарисовать линию", + "Dynamic": "Динамический", + "Dynamic properties": "Динамические свойства", + "Edit": "Редактировать", + "Edit feature's layer": "Изменить слой объекта", + "Edit map properties": "Редактировать свойства карты", + "Edit map settings": "Изменить свойства карты", + "Edit properties in a table": "Редактировать свойства в таблице", + "Edit this feature": "Редактировать объект", + "Editing": "Редактируем", + "Embed and share this map": "Встроить карту или поделиться ей", + "Embed the map": "Встроить карту", + "Empty": "Очистить", + "Enable editing": "Разрешить редактирование", + "Error in the tilelayer URL": "Ошибка в ссылке на слой карты", + "Error while fetching {url}": "Ошибка при обработке {url}", + "Exit Fullscreen": "Выйти из полноэкранного режима", + "Extract shape to separate feature": "Извлечь фигуру в отдельный объект", + "Fetch data each time map view changes.": "Запрашивать данные при каждом изменении отображения карты", + "Filter keys": "Кнопки фильтра", + "Filter…": "Фильтр...", + "Format": "Формат", + "From zoom": "С масштаба", + "Full map data": "Все данные карты", + "Go to «{feature}»": "Перейти к «{feature}»", + "Heatmap intensity property": "Свойство интенсивности тепловой карты", + "Heatmap radius": "Радиус для тепловой карты", + "Help": "Помощь", + "Hide controls": "Убрать элементы управления", + "Home": "Заглавная", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Насколько сильно упрощать линии на каждом масштабе (больше значение — больше скорость, но выглядит хуже; меньше значение — более гладкое отображение)", + "If false, the polygon will act as a part of the underlying map.": "Если нет, тогда полигон будет выглядеть как часть карты", + "Iframe export options": "Свойства экспорта для Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe с указанием высоты (в пикселях): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe с заданной высотой и шириной (в px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Изображение с указанием ширины (в пикселях): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Изображение: {{http://image.url.com}}", + "Import": "Импорт", + "Import data": "Импортировать данные", + "Import in a new layer": "Импортировать в новый слой", + "Imports all umap data, including layers and settings.": "Импортировать все данные uMap, включая слои и настройки.", + "Include full screen link?": "Включить ссылку на полноэкранный вид?", + "Interaction options": "Параметры взаимодействия", + "Invalid umap data": "Неверные данные uMap", + "Invalid umap data in {filename}": "Неверные данные uMap в файле {filename}", + "Keep current visible layers": "Оставить текущие видимые слои", + "Latitude": "Широта", + "Layer": "Слой", + "Layer properties": "Свойства слоя", + "Licence": "Лицензия", + "Limit bounds": "Установить границы", + "Link to…": "Связать с...", + "Link with text: [[http://example.com|text of the link]]": "Ссылка с текстом: [[http://example.com|текст для ссылки]]", + "Long credits": "Полное описание прав", + "Longitude": "Долгота", + "Make main shape": "Сделать главной фигурой", + "Manage layers": "Управление слоями", + "Map background credits": "Права на фоновый слой карты", + "Map has been attached to your account": "Карта была прикреплена к вашей учётной записи", + "Map has been saved!": "Карта сохранена!", + "Map user content has been published under licence": "Пользовательские данные опубликованы под лицензией", + "Map's editors": "Редакторы карты", + "Map's owner": "Владелец карты", + "Merge lines": "Соединить линии", + "More controls": "Другие элементы управления", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Должен быть в формате CSS (напр., DarkBlue или #123456)", + "No licence has been set": "Лицензия не была указана", + "No results": "Нет данных", + "Only visible features will be downloaded.": "Будут загружены только отображаемые объекты.", + "Open download panel": "Открыть панель скачивания", + "Open link in…": "Открыть ссылку в ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Откройте эту часть карты в редакторе OpenStreetMap, чтобы улучшить данные", + "Optional intensity property for heatmap": "Дополнительные свойства интенсивности тепловой карты", + "Optional. Same as color if not set.": "Дополнительно. Если не выбрано, то как цвет.", + "Override clustering radius (default 80)": "Переопределить радиус кластеризации (по умолчанию 80)", + "Override heatmap radius (default 25)": "Переопределить радиус для тепловой карты (по умолчанию 25)", + "Please be sure the licence is compliant with your use.": "Убедитесь, что лицензия соответствует правилам использования.", + "Please choose a format": "Пожалуйста, выберите формат", + "Please enter the name of the property": "Введите название свойства", + "Please enter the new name of this property": "Введите новое название свойства", + "Powered by Leaflet and Django, glued by uMap project.": "Работает на Leaflet и Django, объединённые проектом uMap.", + "Problem in the response": "Проблема с ответом", + "Problem in the response format": "Формат ответа не распознан", + "Properties imported:": "Импортированы свойства:", + "Property to use for sorting features": "Свойство для сортировки объектов", + "Provide an URL here": "Укажите ссылку здесь", + "Proxy request": "Проксировать запрос", + "Remote data": "Данные с удаленного сервера", + "Remove shape from the multi": "Удалить фигуру из мультиполигона", + "Rename this property on all the features": "Переименовать это свойство у всех объектов", + "Replace layer content": "Заменить содержимое слоя", + "Restore this version": "Восстановить эту версию", + "Save": "Сохранить", + "Save anyway": "Сохранить в любом случае", + "Save current edits": "Сохранить текущие правки", + "Save this center and zoom": "Сохранить это положение и масштаб", + "Save this location as new feature": "Сохранить это местоположение как новый объект", + "Search a place name": "Искать название места", + "Search location": "Поиск местоположения", + "Secret edit link is:
    {link}": "Секретная ссылка для редактирования:
    {link}", + "See all": "Посмотреть все", + "See data layers": "Посмотреть слои данных", + "See full screen": "Смотреть в полноэкранном режиме", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Сбросьте, чтобы скрыть слой из слайдшоу, просмотра данных и всплывающей навигации...", + "Shape properties": "Свойства фигуры", + "Short URL": "Короткая ссылка", + "Short credits": "Краткое описание прав", + "Show/hide layer": "Показать/скрыть слой", + "Simple link: [[http://example.com]]": "Простая ссылка: [[http://example.com]]", + "Slideshow": "Слайдшоу", + "Smart transitions": "Интеллектуальные преобразования", + "Sort key": "Кнопка сортировки", + "Split line": "Разделить линию", + "Start a hole here": "Начать отверстие отсюда", + "Start editing": "Начать редактирование", + "Start slideshow": "Начать слайдшоу", + "Stop editing": "Завершить редактирование", + "Stop slideshow": "Остановить слайдшоу", + "Supported scheme": "Поддерживаемая схема", + "Supported variables that will be dynamically replaced": "Поддерживаемые переменные для автоматической замены", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Значок может быть как юникод-символом так и URL. Вы можете использовать свойства объектов как переменные. Например, в \"http://myserver.org/images/{name}.png\", переменная {name} будет заменена значением поля \"названия\" каждой метки на карте.", + "TMS format": "Формат TMS", + "Text color for the cluster label": "Цвет текста для меток кластера", + "Text formatting": "Форматирование текста", + "The name of the property to use as feature label (ex.: \"nom\")": "Название свойства в качестве метки объекта (напр., «Номер»)", + "The zoom and center have been setted.": "Масштаб и положение установлены", + "To use if remote server doesn't allow cross domain (slower)": "Если удалённый сервер не позволяет кросс-домен (медленно)", + "To zoom": "Масштабировать", + "Toggle edit mode (Shift+Click)": "Переключиться в режим редактирования (Shift+Click)", + "Transfer shape to edited feature": "Перенести фигуру на редактируемый объект", + "Transform to lines": "Преобразовать в линию", + "Transform to polygon": "Преобразовать в полигон", + "Type of layer": "Тип слоя", + "Unable to detect format of file {filename}": "Невозможно определить формат файла {filename}", + "Untitled layer": "Слой без названия", + "Untitled map": "Безымянная карта", + "Update permissions": "Обновить разрешения", + "Update permissions and editors": "Настроить права редактирования", + "Url": "Ссылка", + "Use current bounds": "Использовать текущие границы", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Используйте переменные в скобках со свойствами объектов, например, {name}, они будут автоматически заменены соответствующими значениями.", + "User content credits": "Права на пользовательские данные", + "User interface options": "Настройка интерфейса", + "Versions": "Версии", + "View Fullscreen": "Полноэкранный режим", + "Where do we go from here?": "Что можно сделать с картой?", + "Whether to display or not polygons paths.": "Показывать или нет контур полигона.", + "Whether to fill polygons with color.": "Заполнять или нет полигон заливкой цветом", + "Who can edit": "Кто может редактировать", + "Who can view": "Кто может просматривать", + "Will be displayed in the bottom right corner of the map": "Будет показано в правом нижнем углу карты", + "Will be visible in the caption of the map": "Будет показано в заголовке карты", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Упс! Похоже, кто-то другой тоже редактирует эти данные. Вы можете сохранить свои правки, но это уничтожит правки другого участника.", + "You have unsaved changes.": "У вас есть несохранённые изменения", + "Zoom in": "Увеличить масштаб", + "Zoom level for automatic zooms": "Масштабировать слой автоматически", + "Zoom out": "Уменьшить масштаб", + "Zoom to layer extent": "Масштабировать до границ слоя", + "Zoom to the next": "Приблизиться к следующему", + "Zoom to the previous": "Приблизиться к предыдущему", + "Zoom to this feature": "Приблизиться к этому объекту", + "Zoom to this place": "Приблизить объект", + "attribution": "назначенные свойства", + "by": "от", + "display name": "отображаемое название", + "height": "высота", + "licence": "лицензия", + "max East": "Восток", + "max North": "Север", + "max South": "Юг", + "max West": "Запад", + "max zoom": "максимальный масштаб", + "min zoom": "минимальный масштаб", + "next": "следующий", + "previous": "предыдущий", + "width": "ширина", + "{count} errors during import: {message}": "{count} ошибок во время импорта: {message}", + "Measure distances": "Измерить расстояния", + "NM": "ММ", + "kilometers": "километров", + "km": "км", + "mi": "миля", + "miles": "миль", + "nautical miles": "морских миль", + "{area} acres": "{area} акров", + "{area} ha": "{area} гектар", + "{area} m²": "{area} м²", + "{area} mi²": "{area} миль²", + "{area} yd²": "{area} ярд²", + "{distance} NM": "{distance} ММ", + "{distance} km": "{distance} км", + "{distance} m": "{distance} м", + "{distance} miles": "{distance} миль", + "{distance} yd": "{distance} ярдов", + "1 day": "1 день", + "1 hour": "1 час", + "5 min": "5 мин", + "Cache proxied request": "Кэшированный прокси-запрос", + "No cache": "Не кэшировать", + "Popup": "Всплывающее окно", + "Popup (large)": "Всплывающее окно (большое)", + "Popup content style": "Стиль содержимого всплывающего окна", + "Popup shape": "Форма всплывающего окна", + "Skipping unknown geometry.type: {type}": "Пропущено неизвестное свойство geometry.type: {type}", + "Optional.": "Необязательный.", + "Paste your data here": "Вставить ваши данные сюда", + "Please save the map first": "Пожалуйста, сначала сохраните карту", + "Unable to locate you.": "Не могу вас найти.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Постоянная ссылка", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} +; +L.registerLocale("ru", locale); +L.setLocale("ru"); \ No newline at end of file diff --git a/umap/static/umap/locale/ru.json b/umap/static/umap/locale/ru.json new file mode 100644 index 00000000..28dd795b --- /dev/null +++ b/umap/static/umap/locale/ru.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Добавить значок", + "Allow scroll wheel zoom?": "Разрешить изменение масштаба колесом мыши?", + "Automatic": "Автоматически", + "Ball": "Булавка", + "Cancel": "Отменить", + "Caption": "Заголовок", + "Change symbol": "Изменить значок", + "Choose the data format": "Выберите формат данных", + "Choose the layer of the feature": "Выберите слой для объекта", + "Circle": "Кружок", + "Clustered": "Кластеризованный", + "Data browser": "Просмотр данных", + "Default": "По умолчанию", + "Default zoom level": "Масштаб по умолчанию", + "Default: name": "По умолчанию: название", + "Display label": "Показывать надпись", + "Display the control to open OpenStreetMap editor": "Отображать кнопку редактора OpenStreetMap", + "Display the data layers control": "Отображать кнопку управления слоями данных", + "Display the embed control": "Отображать кнопку встраивания", + "Display the fullscreen control": "Отображать кнопку полноэкранного режима", + "Display the locate control": "Отображать кнопку определения местоположения", + "Display the measure control": "Отображать линейку", + "Display the search control": "Отображать строку поиска", + "Display the tile layers control": "Отображать кнопку управления слоями подложки", + "Display the zoom control": "Отображать кнопку масштабирования", + "Do you want to display a caption bar?": "Показывать строку заголовка?", + "Do you want to display a minimap?": "Показывать миникарту?", + "Do you want to display a panel on load?": "Показывать панель управления при загрузке?", + "Do you want to display popup footer?": "Хотите использовать всплывающую подсказку снизу?", + "Do you want to display the scale control?": "Показывать шкалу расстояний?", + "Do you want to display the «more» control?": "Показывать кнопку «Ещё»?", + "Drop": "Капля", + "GeoRSS (only link)": "GeoRSS (только ссылка)", + "GeoRSS (title + image)": "GeoRSS (заголовок и изображение)", + "Heatmap": "Тепловая карта", + "Icon shape": "Форма иконки", + "Icon symbol": "Иконка значка", + "Inherit": "Наследовать", + "Label direction": "Направление метки", + "Label key": "Кнопка метки", + "Labels are clickable": "Метки можно нажимать", + "None": "Нет", + "On the bottom": "Внизу", + "On the left": "Слева", + "On the right": "Справа", + "On the top": "Вверху", + "Popup content template": "Шаблон всплывающей подсказки", + "Set symbol": "Выбрать значок", + "Side panel": "Боковая панель", + "Simplify": "Упростить", + "Symbol or url": "Значок или URL", + "Table": "Таблица", + "always": "всегда", + "clear": "очистить", + "collapsed": "Свёрнуто", + "color": "цвет", + "dash array": "штрихи", + "define": "Задать", + "description": "описание", + "expanded": "Развёрнуто", + "fill": "заливка", + "fill color": "цвет заливки", + "fill opacity": "Непрозрачность заливки", + "hidden": "скрыт", + "iframe": "Iframe", + "inherit": "наследовать", + "name": "название", + "never": "никогда", + "new window": "Новое окно", + "no": "нет", + "on hover": "при наведении", + "opacity": "непрозрачность", + "parent window": "Родительское окно", + "stroke": "штрихи", + "weight": "толщина", + "yes": "да", + "{delay} seconds": "{delay} секунд", + "# one hash for main heading": "# один шарп — заголовок", + "## two hashes for second heading": "## два шарпа — подзаголовок", + "### three hashes for third heading": "### три шарпа — подзаголовок 3-го уровня", + "**double star for bold**": "**двойные звёздочки — полужирный**", + "*simple star for italic*": "*звёздочки — курсив*", + "--- for an horizontal rule": "--- — горизонтальная линия", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Список значений, определяющих штрихи линии. Напр. «5, 10, 15».", + "About": "Подробней", + "Action not allowed :(": "Действие недоступно :(", + "Activate slideshow mode": "Включить режим слайдшоу", + "Add a layer": "Добавить слой", + "Add a line to the current multi": "Добавить линию к текущему мультиполигону", + "Add a new property": "Добавить новое свойство", + "Add a polygon to the current multi": "Добавить полигон к текущему мультиполигону", + "Advanced actions": "Дополнительные действия", + "Advanced properties": "Дополнительные свойства", + "Advanced transition": "Дополнительные преобразования", + "All properties are imported.": "Все свойства импортированы.", + "Allow interactions": "Разрешить взаимодействие", + "An error occured": "Произошла ошибка", + "Are you sure you want to cancel your changes?": "Вы уверены, что хотите отменить сделанные изменения?", + "Are you sure you want to clone this map and all its datalayers?": "Вы уверены, что хотите скопировать эту карту и все её слои данных?", + "Are you sure you want to delete the feature?": "Вы уверены, что хотите удалить объект?", + "Are you sure you want to delete this layer?": "Вы уверены что хотите удалить этот слой?", + "Are you sure you want to delete this map?": "Вы уверены, что хотите удалить карту?", + "Are you sure you want to delete this property on all the features?": "Вы уверены, что хотите удалить это свойство у всех объектов?", + "Are you sure you want to restore this version?": "Вы уверены, что хотите восстановить эту версию?", + "Attach the map to my account": "Прикрепить карту к моей учётной записи", + "Auto": "Автоматически", + "Autostart when map is loaded": "Автозапуск при открытии карты", + "Bring feature to center": "Поместить объект в центр", + "Browse data": "Просмотр данных", + "Cancel edits": "Отменить правки", + "Center map on your location": "Переместить карту в ваше местоположение", + "Change map background": "Изменить подложку карты", + "Change tilelayers": "Выбрать подложку", + "Choose a preset": "Выберите шаблон", + "Choose the format of the data to import": "Выберите формат данных для импорта", + "Choose the layer to import in": "Выбрать слой для импорта в него", + "Click last point to finish shape": "Щёлкните на последней точке, чтобы завершить", + "Click to add a marker": "Щёлкните, чтобы добавить метку", + "Click to continue drawing": "Щёлкайте, чтобы продолжить рисование", + "Click to edit": "Щёлкните, чтобы изменить", + "Click to start drawing a line": "Щёлкните, чтобы начать рисование линии", + "Click to start drawing a polygon": "Щёлкните, чтобы начать рисование полигона", + "Clone": "Создать копию", + "Clone of {name}": "Копия {name}", + "Clone this feature": "Скопировать фигуру", + "Clone this map": "Создать копию карты", + "Close": "Закрыть", + "Clustering radius": "Радиус кластеризации", + "Comma separated list of properties to use when filtering features": "Список свойств, разделённых запятыми, для использования при фильтрации", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "В качестве разделителя используются запятые, табуляции и точки с запятой. Применяется датум WGS84. Импорт просматривает заголовок на наличие полей «lat» и «lon», регистр не имеет значения. Все остальные поля импортируются как свойства.", + "Continue line": "Продолжить линию", + "Continue line (Ctrl+Click)": "Продолжить линию (Ctrl+Click)", + "Coordinates": "Координаты", + "Credits": "Авторские права", + "Current view instead of default map view?": "Использовать текущий вид вместо карты по умолчанию?", + "Custom background": "Пользовательская подложка карты", + "Data is browsable": "Данные можно просматривать", + "Default interaction options": "Параметры интерактивности по умолчанию", + "Default properties": "Свойства по умолчанию", + "Default shape properties": "Параметры фигуры по умолчанию", + "Define link to open in a new window on polygon click.": "Задайте адрес для открытия его в новом окне по клику на полигон.", + "Delay between two transitions when in play mode": "Задержка между двумя переходами в режиме проигрывания", + "Delete": "Удалить", + "Delete all layers": "Удалить все слои", + "Delete layer": "Удалить слой", + "Delete this feature": "Удалить объект", + "Delete this property on all the features": "Удалить это свойство у всех объектов", + "Delete this shape": "Удалить эту фигуру", + "Delete this vertex (Alt+Click)": "Удалить эту точку (Alt+клик)", + "Directions from here": "Навигация отсюда", + "Disable editing": "Отключить редактирование", + "Display measure": "Display measure", + "Display on load": "Показывать при загрузке", + "Download": "Скачать", + "Download data": "Скачать данные", + "Drag to reorder": "Перетащите для изменения порядка", + "Draw a line": "Нарисовать линию", + "Draw a marker": "Добавить метку", + "Draw a polygon": "Нарисовать полигон", + "Draw a polyline": "Нарисовать линию", + "Dynamic": "Динамический", + "Dynamic properties": "Динамические свойства", + "Edit": "Редактировать", + "Edit feature's layer": "Изменить слой объекта", + "Edit map properties": "Редактировать свойства карты", + "Edit map settings": "Изменить свойства карты", + "Edit properties in a table": "Редактировать свойства в таблице", + "Edit this feature": "Редактировать объект", + "Editing": "Редактируем", + "Embed and share this map": "Встроить карту или поделиться ей", + "Embed the map": "Встроить карту", + "Empty": "Очистить", + "Enable editing": "Разрешить редактирование", + "Error in the tilelayer URL": "Ошибка в ссылке на слой карты", + "Error while fetching {url}": "Ошибка при обработке {url}", + "Exit Fullscreen": "Выйти из полноэкранного режима", + "Extract shape to separate feature": "Извлечь фигуру в отдельный объект", + "Fetch data each time map view changes.": "Запрашивать данные при каждом изменении отображения карты", + "Filter keys": "Кнопки фильтра", + "Filter…": "Фильтр...", + "Format": "Формат", + "From zoom": "С масштаба", + "Full map data": "Все данные карты", + "Go to «{feature}»": "Перейти к «{feature}»", + "Heatmap intensity property": "Свойство интенсивности тепловой карты", + "Heatmap radius": "Радиус для тепловой карты", + "Help": "Помощь", + "Hide controls": "Убрать элементы управления", + "Home": "Заглавная", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Насколько сильно упрощать линии на каждом масштабе (больше значение — больше скорость, но выглядит хуже; меньше значение — более гладкое отображение)", + "If false, the polygon will act as a part of the underlying map.": "Если нет, тогда полигон будет выглядеть как часть карты", + "Iframe export options": "Свойства экспорта для Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe с указанием высоты (в пикселях): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe с заданной высотой и шириной (в px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Изображение с указанием ширины (в пикселях): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Изображение: {{http://image.url.com}}", + "Import": "Импорт", + "Import data": "Импортировать данные", + "Import in a new layer": "Импортировать в новый слой", + "Imports all umap data, including layers and settings.": "Импортировать все данные uMap, включая слои и настройки.", + "Include full screen link?": "Включить ссылку на полноэкранный вид?", + "Interaction options": "Параметры взаимодействия", + "Invalid umap data": "Неверные данные uMap", + "Invalid umap data in {filename}": "Неверные данные uMap в файле {filename}", + "Keep current visible layers": "Оставить текущие видимые слои", + "Latitude": "Широта", + "Layer": "Слой", + "Layer properties": "Свойства слоя", + "Licence": "Лицензия", + "Limit bounds": "Установить границы", + "Link to…": "Связать с...", + "Link with text: [[http://example.com|text of the link]]": "Ссылка с текстом: [[http://example.com|текст для ссылки]]", + "Long credits": "Полное описание прав", + "Longitude": "Долгота", + "Make main shape": "Сделать главной фигурой", + "Manage layers": "Управление слоями", + "Map background credits": "Права на фоновый слой карты", + "Map has been attached to your account": "Карта была прикреплена к вашей учётной записи", + "Map has been saved!": "Карта сохранена!", + "Map user content has been published under licence": "Пользовательские данные опубликованы под лицензией", + "Map's editors": "Редакторы карты", + "Map's owner": "Владелец карты", + "Merge lines": "Соединить линии", + "More controls": "Другие элементы управления", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Должен быть в формате CSS (напр., DarkBlue или #123456)", + "No licence has been set": "Лицензия не была указана", + "No results": "Нет данных", + "Only visible features will be downloaded.": "Будут загружены только отображаемые объекты.", + "Open download panel": "Открыть панель скачивания", + "Open link in…": "Открыть ссылку в ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Откройте эту часть карты в редакторе OpenStreetMap, чтобы улучшить данные", + "Optional intensity property for heatmap": "Дополнительные свойства интенсивности тепловой карты", + "Optional. Same as color if not set.": "Дополнительно. Если не выбрано, то как цвет.", + "Override clustering radius (default 80)": "Переопределить радиус кластеризации (по умолчанию 80)", + "Override heatmap radius (default 25)": "Переопределить радиус для тепловой карты (по умолчанию 25)", + "Please be sure the licence is compliant with your use.": "Убедитесь, что лицензия соответствует правилам использования.", + "Please choose a format": "Пожалуйста, выберите формат", + "Please enter the name of the property": "Введите название свойства", + "Please enter the new name of this property": "Введите новое название свойства", + "Powered by Leaflet and Django, glued by uMap project.": "Работает на Leaflet и Django, объединённые проектом uMap.", + "Problem in the response": "Проблема с ответом", + "Problem in the response format": "Формат ответа не распознан", + "Properties imported:": "Импортированы свойства:", + "Property to use for sorting features": "Свойство для сортировки объектов", + "Provide an URL here": "Укажите ссылку здесь", + "Proxy request": "Проксировать запрос", + "Remote data": "Данные с удаленного сервера", + "Remove shape from the multi": "Удалить фигуру из мультиполигона", + "Rename this property on all the features": "Переименовать это свойство у всех объектов", + "Replace layer content": "Заменить содержимое слоя", + "Restore this version": "Восстановить эту версию", + "Save": "Сохранить", + "Save anyway": "Сохранить в любом случае", + "Save current edits": "Сохранить текущие правки", + "Save this center and zoom": "Сохранить это положение и масштаб", + "Save this location as new feature": "Сохранить это местоположение как новый объект", + "Search a place name": "Искать название места", + "Search location": "Поиск местоположения", + "Secret edit link is:
    {link}": "Секретная ссылка для редактирования:
    {link}", + "See all": "Посмотреть все", + "See data layers": "Посмотреть слои данных", + "See full screen": "Смотреть в полноэкранном режиме", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Сбросьте, чтобы скрыть слой из слайдшоу, просмотра данных и всплывающей навигации...", + "Shape properties": "Свойства фигуры", + "Short URL": "Короткая ссылка", + "Short credits": "Краткое описание прав", + "Show/hide layer": "Показать/скрыть слой", + "Simple link: [[http://example.com]]": "Простая ссылка: [[http://example.com]]", + "Slideshow": "Слайдшоу", + "Smart transitions": "Интеллектуальные преобразования", + "Sort key": "Кнопка сортировки", + "Split line": "Разделить линию", + "Start a hole here": "Начать отверстие отсюда", + "Start editing": "Начать редактирование", + "Start slideshow": "Начать слайдшоу", + "Stop editing": "Завершить редактирование", + "Stop slideshow": "Остановить слайдшоу", + "Supported scheme": "Поддерживаемая схема", + "Supported variables that will be dynamically replaced": "Поддерживаемые переменные для автоматической замены", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Значок может быть как юникод-символом так и URL. Вы можете использовать свойства объектов как переменные. Например, в \"http://myserver.org/images/{name}.png\", переменная {name} будет заменена значением поля \"названия\" каждой метки на карте.", + "TMS format": "Формат TMS", + "Text color for the cluster label": "Цвет текста для меток кластера", + "Text formatting": "Форматирование текста", + "The name of the property to use as feature label (ex.: \"nom\")": "Название свойства в качестве метки объекта (напр., «Номер»)", + "The zoom and center have been setted.": "Масштаб и положение установлены", + "To use if remote server doesn't allow cross domain (slower)": "Если удалённый сервер не позволяет кросс-домен (медленно)", + "To zoom": "Масштабировать", + "Toggle edit mode (Shift+Click)": "Переключиться в режим редактирования (Shift+Click)", + "Transfer shape to edited feature": "Перенести фигуру на редактируемый объект", + "Transform to lines": "Преобразовать в линию", + "Transform to polygon": "Преобразовать в полигон", + "Type of layer": "Тип слоя", + "Unable to detect format of file {filename}": "Невозможно определить формат файла {filename}", + "Untitled layer": "Слой без названия", + "Untitled map": "Безымянная карта", + "Update permissions": "Обновить разрешения", + "Update permissions and editors": "Настроить права редактирования", + "Url": "Ссылка", + "Use current bounds": "Использовать текущие границы", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Используйте переменные в скобках со свойствами объектов, например, {name}, они будут автоматически заменены соответствующими значениями.", + "User content credits": "Права на пользовательские данные", + "User interface options": "Настройка интерфейса", + "Versions": "Версии", + "View Fullscreen": "Полноэкранный режим", + "Where do we go from here?": "Что можно сделать с картой?", + "Whether to display or not polygons paths.": "Показывать или нет контур полигона.", + "Whether to fill polygons with color.": "Заполнять или нет полигон заливкой цветом", + "Who can edit": "Кто может редактировать", + "Who can view": "Кто может просматривать", + "Will be displayed in the bottom right corner of the map": "Будет показано в правом нижнем углу карты", + "Will be visible in the caption of the map": "Будет показано в заголовке карты", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Упс! Похоже, кто-то другой тоже редактирует эти данные. Вы можете сохранить свои правки, но это уничтожит правки другого участника.", + "You have unsaved changes.": "У вас есть несохранённые изменения", + "Zoom in": "Увеличить масштаб", + "Zoom level for automatic zooms": "Масштабировать слой автоматически", + "Zoom out": "Уменьшить масштаб", + "Zoom to layer extent": "Масштабировать до границ слоя", + "Zoom to the next": "Приблизиться к следующему", + "Zoom to the previous": "Приблизиться к предыдущему", + "Zoom to this feature": "Приблизиться к этому объекту", + "Zoom to this place": "Приблизить объект", + "attribution": "назначенные свойства", + "by": "от", + "display name": "отображаемое название", + "height": "высота", + "licence": "лицензия", + "max East": "Восток", + "max North": "Север", + "max South": "Юг", + "max West": "Запад", + "max zoom": "максимальный масштаб", + "min zoom": "минимальный масштаб", + "next": "следующий", + "previous": "предыдущий", + "width": "ширина", + "{count} errors during import: {message}": "{count} ошибок во время импорта: {message}", + "Measure distances": "Измерить расстояния", + "NM": "ММ", + "kilometers": "километров", + "km": "км", + "mi": "миля", + "miles": "миль", + "nautical miles": "морских миль", + "{area} acres": "{area} акров", + "{area} ha": "{area} гектар", + "{area} m²": "{area} м²", + "{area} mi²": "{area} миль²", + "{area} yd²": "{area} ярд²", + "{distance} NM": "{distance} ММ", + "{distance} km": "{distance} км", + "{distance} m": "{distance} м", + "{distance} miles": "{distance} миль", + "{distance} yd": "{distance} ярдов", + "1 day": "1 день", + "1 hour": "1 час", + "5 min": "5 мин", + "Cache proxied request": "Кэшированный прокси-запрос", + "No cache": "Не кэшировать", + "Popup": "Всплывающее окно", + "Popup (large)": "Всплывающее окно (большое)", + "Popup content style": "Стиль содержимого всплывающего окна", + "Popup shape": "Форма всплывающего окна", + "Skipping unknown geometry.type: {type}": "Пропущено неизвестное свойство geometry.type: {type}", + "Optional.": "Необязательный.", + "Paste your data here": "Вставить ваши данные сюда", + "Please save the map first": "Пожалуйста, сначала сохраните карту", + "Unable to locate you.": "Не могу вас найти.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Постоянная ссылка", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/si_LK.js b/umap/static/umap/locale/si_LK.js new file mode 100644 index 00000000..f8eeb90c --- /dev/null +++ b/umap/static/umap/locale/si_LK.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("si_LK", locale); +L.setLocale("si_LK"); \ No newline at end of file diff --git a/umap/static/umap/locale/si_LK.json b/umap/static/umap/locale/si_LK.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/si_LK.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/sk_SK.js b/umap/static/umap/locale/sk_SK.js new file mode 100644 index 00000000..31165aa9 --- /dev/null +++ b/umap/static/umap/locale/sk_SK.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Pridať symbol", + "Allow scroll wheel zoom?": "Povoliť približovanie kolieskom myši?", + "Automatic": "Automaticky", + "Ball": "Špendlík", + "Cancel": "Zrušiť", + "Caption": "Nadpis", + "Change symbol": "Zmeniť symbol", + "Choose the data format": "Zvoľte formát údajov", + "Choose the layer of the feature": "Zvoľte vrstvu do ktorej objekt patrí", + "Circle": "Kruh", + "Clustered": "Zhluková", + "Data browser": "Prehliadač", + "Default": "Predvolené", + "Default zoom level": "Predvolené priblíženie", + "Default: name": "Štandardná hodnota: názov", + "Display label": "Zobraziť popis", + "Display the control to open OpenStreetMap editor": "Zobraziť ovládanie na otvorenie editora OpenStreetMap", + "Display the data layers control": "Zobraziť ovládanie údajov vrstiev", + "Display the embed control": "Zobraziť ovládanie vkladania", + "Display the fullscreen control": "Zobraziť ovládanie celej obrazovky", + "Display the locate control": "Zobraziť ovládanie polohy", + "Display the measure control": "Zobraziť ovládanie merania", + "Display the search control": "Zobraziť ovládanie vyhľadávania", + "Display the tile layers control": "Zobraziť ovládanie dlaždíc vrstiev", + "Display the zoom control": "Zobraziť ovládanie priblíženia", + "Do you want to display a caption bar?": "Chcete zobraziť lištu s nadpismi?", + "Do you want to display a minimap?": "Chcete zobraziť minimapu?", + "Do you want to display a panel on load?": "Prajete si zobraziť panel pri štarte?", + "Do you want to display popup footer?": "Chcete zobraziť v bubline navigačný panel?", + "Do you want to display the scale control?": "Chcete zobraziť mierku mapy?", + "Do you want to display the «more» control?": "Prajete si zobrazit «viac» nastavení?", + "Drop": "Pustiť", + "GeoRSS (only link)": "GeoRSS (iba odkaz)", + "GeoRSS (title + image)": "GeoRSS (názov + obrázok)", + "Heatmap": "Teplotná mapa", + "Icon shape": "Tvar ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "Predvolené", + "Label direction": "Orientácia popisu", + "Label key": "Kľúč popisu", + "Labels are clickable": "Popis je klikateľný", + "None": "Žiadny", + "On the bottom": "V spodnej časti", + "On the left": "Naľavo", + "On the right": "Napravo", + "On the top": "V hornej časti", + "Popup content template": "Šablóna obsahu bubliny", + "Set symbol": "Set symbol", + "Side panel": "Bočný panel", + "Simplify": "Zjednodušiť", + "Symbol or url": "Symbol or url", + "Table": "Tabuľka", + "always": "vždy", + "clear": "vyčistiť", + "collapsed": "zbalené", + "color": "farba", + "dash array": "štýl prerušovanej čiary", + "define": "definovať", + "description": "popis", + "expanded": "rozbalené", + "fill": "výplň", + "fill color": "farba výplne", + "fill opacity": "priehľadnosť výplne", + "hidden": "skryté", + "iframe": "iframe", + "inherit": "predvolené", + "name": "názov", + "never": "nikdy", + "new window": "nové okno", + "no": "nie", + "on hover": "on hover", + "opacity": "priehľadnosť", + "parent window": "nadradené okno", + "stroke": "linka", + "weight": "šírka linky", + "yes": "áno", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# jedna mriežka pre hlavný nadpis", + "## two hashes for second heading": "## dve mriežky pre nadpis druhej úrovne", + "### three hashes for third heading": "## tri mriežky pre nadpis tretej úrovne", + "**double star for bold**": "**všetko medzi dvoma hviezdičkami je tučně**", + "*simple star for italic*": "*všetko medzi hviezdičkami bude kurzívou*", + "--- for an horizontal rule": "--- vytvorí vodorovnú linku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Čiarkami oddelený zoznam čísel, ktorý popisuje vzor prerušovanej čiary. Napr. \"5, 10, 15\".", + "About": "O uMap", + "Action not allowed :(": "Akcia nie je povolená :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Pridať vrstvu", + "Add a line to the current multi": "Pridať čiaru k aktuálnemu multi", + "Add a new property": "Pridať novú vlastnosť", + "Add a polygon to the current multi": "Pridať polygón k aktuálnemu multi", + "Advanced actions": "Pokročilé akcie", + "Advanced properties": "Pokročilé vlastnosti", + "Advanced transition": "Pokročilý prechod", + "All properties are imported.": "Všetky vlastnosti sú naimportované.", + "Allow interactions": "Povoliť interakcie", + "An error occured": "Nastala chyba", + "Are you sure you want to cancel your changes?": "Ste si istí že chcete zrušiť vaše úpravy?", + "Are you sure you want to clone this map and all its datalayers?": "Určite chcete vytvoriť kópiu celej tejto mapy a všetkých jej vrstiev?", + "Are you sure you want to delete the feature?": "Určite chcete vymazať tento objekt?", + "Are you sure you want to delete this layer?": "Určite chcete vymazať túto vrstvu?", + "Are you sure you want to delete this map?": "Ste si istí, že chcete vymazať túto mapu?", + "Are you sure you want to delete this property on all the features?": "Ste si istí že chcete vymazať túto vlastnosť na všetkých objektoch?", + "Are you sure you want to restore this version?": "Určite chcete obnoviť túto verziu?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automatická", + "Autostart when map is loaded": "Aut. spustenie pri načítaní mapy", + "Bring feature to center": "Vycentruj mapu na objekt", + "Browse data": "Prezerať údaje", + "Cancel edits": "Zrušiť zmeny", + "Center map on your location": "Vycentrovať mapu na vašu polohu", + "Change map background": "Zmeniť pozadie mapy", + "Change tilelayers": "Zmeniť pozadie mapy", + "Choose a preset": "Vyberte predvoľbu", + "Choose the format of the data to import": "Zvoľte v akom formáte sú importované údaje", + "Choose the layer to import in": "Zvoľte vrstvu, do ktorej sa bude importovať", + "Click last point to finish shape": "Kliknite na posledný bod pre dokončenie tvaru", + "Click to add a marker": "Kliknutím pridáte značku", + "Click to continue drawing": "Kliknutím môžete pokračovať v kreslení", + "Click to edit": "Kliknutím upravte", + "Click to start drawing a line": "Kliknutím začnete kresliť čiaru", + "Click to start drawing a polygon": "Kliknutím začnete kresliť polygón", + "Clone": "Vytvoriť kópiu", + "Clone of {name}": "Kópia {name}", + "Clone this feature": "Vytvoriť kópiu objektu", + "Clone this map": "Vytvoriť kópiu tejto mapy", + "Close": "Zatvoriť", + "Clustering radius": "Polomer zhlukovania", + "Comma separated list of properties to use when filtering features": "Čiarkami oddelený zoznam vlastností pre filtrovanie objektov", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Hodnoty oddelené čiarkou, tabulátorom, alebo bodkočiarkou. Predpokladá sa SRS WGS84 a sú importované iba polohy bodov. Import hľadá záhlavie stĺpcov začínajúcich na \"lat\" a \"lon\" a tie považuje za súradnice (na veľkosti písmien nezáleži). Ostatné stĺpce sú importované ako vlastnosti.", + "Continue line": "Pokračovať v čiare", + "Continue line (Ctrl+Click)": "Pokračovať v čiare (Ctrl+Klik)", + "Coordinates": "Súradnice", + "Credits": "Poďakovania", + "Current view instead of default map view?": "Aktuálne zobrazenie namiesto štandardného zobrazenia mapy?", + "Custom background": "Vlastné pozadie", + "Data is browsable": "Data is browsable", + "Default interaction options": "Predvolené možnosti interakcie", + "Default properties": "Predvolené vlastnosti", + "Default shape properties": "Predvolené vlastnosti tvaru", + "Define link to open in a new window on polygon click.": "Definujte odkaz na otvorenie, ktorý otvorí nové okno po kliknutí na polygón.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Vymazať", + "Delete all layers": "Vymazať všetky vrstvy", + "Delete layer": "Vymazať vrstvu", + "Delete this feature": "Vymazať tento objekt", + "Delete this property on all the features": "Vymazať túto vlastnosť na všetkých objektoch", + "Delete this shape": "Vymazať tento tvar", + "Delete this vertex (Alt+Click)": "Vymazať tento bod (Alt+Klik)", + "Directions from here": "Navigovať odtiaľto", + "Disable editing": "Zakázať úpravy", + "Display measure": "Display measure", + "Display on load": "Zobraziť pri štarte", + "Download": "Download", + "Download data": "Stiahnuť údaje", + "Drag to reorder": "Presunutím zmeníte poradie", + "Draw a line": "Nakresliť jednoduchú čiaru", + "Draw a marker": "Nakresliť značku miesta", + "Draw a polygon": "Nakresliť polygon", + "Draw a polyline": "Nakresliť krivku", + "Dynamic": "Dynamicky", + "Dynamic properties": "Dynamické vlastnosti", + "Edit": "Upraviť", + "Edit feature's layer": "Upraviť vrstvu objektu", + "Edit map properties": "Upraviť vlastnosti mapy", + "Edit map settings": "Upraviť nastavenia mapy", + "Edit properties in a table": "Upraviť vlastnosti v tabuľke", + "Edit this feature": "Upraviť tento objekt", + "Editing": "Upravujete", + "Embed and share this map": "Zdieľaj alebo vlož mapu do iného webu", + "Embed the map": "Vložiť mapu na iný web", + "Empty": "Vyprázdniť", + "Enable editing": "Povoliť úpravy", + "Error in the tilelayer URL": "Chyba URL dlaždicovej vrstvy", + "Error while fetching {url}": "Vyskytla sa chyba počas načítania {url}", + "Exit Fullscreen": "Ukončiť režim celej obrazovky", + "Extract shape to separate feature": "Vyňať tvar do samostatného objektu", + "Fetch data each time map view changes.": "Načítanie údajov pri každej zmene zobrazenia mapy.", + "Filter keys": "Kľúče filtra", + "Filter…": "Filter…", + "Format": "Formát", + "From zoom": "Max. oddialenie", + "Full map data": "Údaje celej mapy", + "Go to «{feature}»": "Prejsť na «{feature}»", + "Heatmap intensity property": "Vlastnosti intenzity heatmapy", + "Heatmap radius": "Polomer teplotnej mapy", + "Help": "Nápoveda", + "Hide controls": "Skryť ovládacie prvky", + "Home": "Domov", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Ako veľmi vyhladzovať a zjednodušovať pri oddialeni (väčšie = rýchlejša odozva a plynulejší vzhľad, menšie = presnejšie)", + "If false, the polygon will act as a part of the underlying map.": "Ak je vypnuté, polygón sa bude správať ako súčasť mapového podkladu.", + "Iframe export options": "Možnosti Iframe exportu", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe s vlastnou výškou (v px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe s vlastnou výškou a šírkou (v px): {{{http://iframe.url.com|height*widht}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obraz s vlastnou šírkou (v pixeloch): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Obrázok: {{http://url.obrazka.sk}}", + "Import": "Importovať", + "Import data": "Import údajov", + "Import in a new layer": "Importovať do novej vrstvy", + "Imports all umap data, including layers and settings.": "Importuje všetky údaje umapy, vrátane vrstiev a nastavení.", + "Include full screen link?": "Zahrnúť odkaz na celú obrazovku?", + "Interaction options": "Možnosti interakcie", + "Invalid umap data": "Neplatné údaje umapy", + "Invalid umap data in {filename}": "Neplatné údaje umapy v súbore {filename}", + "Keep current visible layers": "Použiť pre aktuálne zobrazenie vrstiev", + "Latitude": "Zem. šírka", + "Layer": "Vrstva", + "Layer properties": "Vlastnosti vrstvy", + "Licence": "Licencia", + "Limit bounds": "Obmedziť hranice", + "Link to…": "Odkaz na…", + "Link with text: [[http://example.com|text of the link]]": "Odkaz s textom: [[http://priklad.sk|text odkazu]]", + "Long credits": "Dlhý text autorstva", + "Longitude": "Zem. dĺžka", + "Make main shape": "Urobiť hlavným tvarom", + "Manage layers": "Nastavenie vrstiev", + "Map background credits": "Autor mapy pozadia", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Mapa bola uložená!", + "Map user content has been published under licence": "Použivateľské údaje sú zverejnené pod licenciou", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Spojiť čiary", + "More controls": "Viac ovládacích prvkov", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Musí byť platná hodnota CSS (napr.: DarkBlue or #123456)", + "No licence has been set": "Nebola nastavená žiadna licencia", + "No results": "Žiadne výsledky", + "Only visible features will be downloaded.": "Stiahnuté budú len viditeľné objekty.", + "Open download panel": "Open download panel", + "Open link in…": "Otvoriť odkaz v…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otvoriť túto mapovú oblasť v mapovom editore pre presnenie dát v OpenStreetMap", + "Optional intensity property for heatmap": "Voliteľné vlastnosti intenzity pre heatmapu", + "Optional. Same as color if not set.": "Nepovinné. Rovnaké ako farba, ak nie je nastavené.", + "Override clustering radius (default 80)": "Prepísať polomer zhlukovania (predvolené 80)", + "Override heatmap radius (default 25)": "Prepísať polomer teplotnej mapy (predvolené 25)", + "Please be sure the licence is compliant with your use.": "Prosíme uistite sa, že licencia je v zhode s tým ako mapu používate.", + "Please choose a format": "Prosím, zvoľte formát", + "Please enter the name of the property": "Prosím, zadajte názov vlastnosti", + "Please enter the new name of this property": "Prosím, zadajte nový názov tejto vlastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Zostavené z Leaflet a Django, prepojené pomocou projektu uMap.", + "Problem in the response": "Problém v odpovedi", + "Problem in the response format": "Problém vo formáte odpovede", + "Properties imported:": "Importované vlastnosti:", + "Property to use for sorting features": "Vlastnosť použitá pre radenie objektov", + "Provide an URL here": "Sem vložte odkaz URL", + "Proxy request": "Požiadavky cez proxy", + "Remote data": "Vzdialené údaje", + "Remove shape from the multi": "Odobrať tvar z multi", + "Rename this property on all the features": "Premenovať túto vlastnosť na všetkých objektoch", + "Replace layer content": "Nahradiť obsah vrstvy", + "Restore this version": "Obnoviť túto verziu", + "Save": "Uložiť", + "Save anyway": "Uložiť napriek tomu", + "Save current edits": "Uložiť nedávne zmeny", + "Save this center and zoom": "Uložiť túto pozíciu mapy a jej priblíženie", + "Save this location as new feature": "Uložiť túto polohu ako nový objekt", + "Search a place name": "Search a place name", + "Search location": "Vyhľadať polohu", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Zobraziť všetko", + "See data layers": "See data layers", + "See full screen": "Na celú obrazovku", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Vlastnosti tvaru", + "Short URL": "Krátky odkaz URL", + "Short credits": "Krátky text autorstva", + "Show/hide layer": "Ukázať/skryť vrstvu", + "Simple link: [[http://example.com]]": "Jednoduchý odkaz: [[http://priklad.sk]]", + "Slideshow": "Prezentácia", + "Smart transitions": "Chytré prechody", + "Sort key": "Kľúč radenia", + "Split line": "Rozdelit čiaru", + "Start a hole here": "Tu začať dieru", + "Start editing": "Začať úpravy", + "Start slideshow": "Spustiť prezentáciu", + "Stop editing": "Ukončiť úpravy", + "Stop slideshow": "Zastaviť prezentáciu", + "Supported scheme": "Podporovaná schéma", + "Supported variables that will be dynamically replaced": "Podporované premenné, ktoré budú automaticky nahradené", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "Formát TMS", + "Text color for the cluster label": "Farba textu pre popis zhluku", + "Text formatting": "Formátovanie textu", + "The name of the property to use as feature label (ex.: \"nom\")": "Názov vlastnosti používať ako popis objektu (napr.: \"nom\")", + "The zoom and center have been setted.": "Priblíženie a stred mapy boli nastavené", + "To use if remote server doesn't allow cross domain (slower)": "Použiť keď vzdialený server nepovoľuje cross-domain (pomalšie)", + "To zoom": "Max. priblíženie", + "Toggle edit mode (Shift+Click)": "Prepnúť režim úprav (Shift+Klik)", + "Transfer shape to edited feature": "Preniesť tvar do upravovaného objektu", + "Transform to lines": "Transformuj na čiary", + "Transform to polygon": "Transformuj na mnohouholník", + "Type of layer": "Typ vrstvy", + "Unable to detect format of file {filename}": "Nepodarilo sa rozpoznať formát súboru {filename}", + "Untitled layer": "Nepomenovaná vrstva", + "Untitled map": "Nepomenovaná mapa", + "Update permissions": "Update permissions", + "Update permissions and editors": "Nastaviť prístupové práva a prispievateľov", + "Url": "URL", + "Use current bounds": "Použiť aktuálne hranice", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Použite zástupné znaky s vlastnosťami objektov medzi zloženými zátvorkami, napr. {name}, a budú dynamicky nahradené zodpovedajúcimi hodnotami.", + "User content credits": "Autor používateľského obsahu", + "User interface options": "Možnosti používateľského rozhrania", + "Versions": "Verzie", + "View Fullscreen": "Zobraziť na celú obrazovky", + "Where do we go from here?": "Kam sa dá odtiaľto dostať?", + "Whether to display or not polygons paths.": "Či sa má alebo nemá zobraziť cesty polygónov.", + "Whether to fill polygons with color.": "Či sa má vyplniť polygón farbou.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Bude zobrazené s mapou vpravo dole", + "Will be visible in the caption of the map": "Bude zobrazené v nadpise mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ojoj! Niekto iný medzitým taktiež upravil údaje. Môžete ich napriek tomu uložiť, ale zmažete tak jeho zmeny.", + "You have unsaved changes.": "Máte neuložené zmeny.", + "Zoom in": "Priblížiť", + "Zoom level for automatic zooms": "Úroveň priblíženia pre automatické približovanie", + "Zoom out": "Oddialiť", + "Zoom to layer extent": "Prispôsobiť priblíženie vrstve", + "Zoom to the next": "Priblížiť k ďalšiemu", + "Zoom to the previous": "Priblížiť k predošlému", + "Zoom to this feature": "Priblížiť na tento objekt", + "Zoom to this place": "Priblížiť na toto miesto", + "attribution": "autorstvo", + "by": "od", + "display name": "zobraziť názov", + "height": "Výška", + "licence": "licencia", + "max East": "max. Východ", + "max North": "max. Sever", + "max South": "max. Juh", + "max West": "max. Západ", + "max zoom": "max. priblíženie", + "min zoom": "max. oddialenie", + "next": "ďalší", + "previous": "predchádzajúci", + "width": "Šírka", + "{count} errors during import: {message}": "Počet chýb počas importu {count}: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("sk_SK", locale); +L.setLocale("sk_SK"); \ No newline at end of file diff --git a/umap/static/umap/locale/sk_SK.json b/umap/static/umap/locale/sk_SK.json new file mode 100644 index 00000000..265b7bac --- /dev/null +++ b/umap/static/umap/locale/sk_SK.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Pridať symbol", + "Allow scroll wheel zoom?": "Povoliť približovanie kolieskom myši?", + "Automatic": "Automaticky", + "Ball": "Špendlík", + "Cancel": "Zrušiť", + "Caption": "Nadpis", + "Change symbol": "Zmeniť symbol", + "Choose the data format": "Zvoľte formát údajov", + "Choose the layer of the feature": "Zvoľte vrstvu do ktorej objekt patrí", + "Circle": "Kruh", + "Clustered": "Zhluková", + "Data browser": "Prehliadač", + "Default": "Predvolené", + "Default zoom level": "Predvolené priblíženie", + "Default: name": "Štandardná hodnota: názov", + "Display label": "Zobraziť popis", + "Display the control to open OpenStreetMap editor": "Zobraziť ovládanie na otvorenie editora OpenStreetMap", + "Display the data layers control": "Zobraziť ovládanie údajov vrstiev", + "Display the embed control": "Zobraziť ovládanie vkladania", + "Display the fullscreen control": "Zobraziť ovládanie celej obrazovky", + "Display the locate control": "Zobraziť ovládanie polohy", + "Display the measure control": "Zobraziť ovládanie merania", + "Display the search control": "Zobraziť ovládanie vyhľadávania", + "Display the tile layers control": "Zobraziť ovládanie dlaždíc vrstiev", + "Display the zoom control": "Zobraziť ovládanie priblíženia", + "Do you want to display a caption bar?": "Chcete zobraziť lištu s nadpismi?", + "Do you want to display a minimap?": "Chcete zobraziť minimapu?", + "Do you want to display a panel on load?": "Prajete si zobraziť panel pri štarte?", + "Do you want to display popup footer?": "Chcete zobraziť v bubline navigačný panel?", + "Do you want to display the scale control?": "Chcete zobraziť mierku mapy?", + "Do you want to display the «more» control?": "Prajete si zobrazit «viac» nastavení?", + "Drop": "Pustiť", + "GeoRSS (only link)": "GeoRSS (iba odkaz)", + "GeoRSS (title + image)": "GeoRSS (názov + obrázok)", + "Heatmap": "Teplotná mapa", + "Icon shape": "Tvar ikony", + "Icon symbol": "Symbol ikony", + "Inherit": "Predvolené", + "Label direction": "Orientácia popisu", + "Label key": "Kľúč popisu", + "Labels are clickable": "Popis je klikateľný", + "None": "Žiadny", + "On the bottom": "V spodnej časti", + "On the left": "Naľavo", + "On the right": "Napravo", + "On the top": "V hornej časti", + "Popup content template": "Šablóna obsahu bubliny", + "Set symbol": "Set symbol", + "Side panel": "Bočný panel", + "Simplify": "Zjednodušiť", + "Symbol or url": "Symbol or url", + "Table": "Tabuľka", + "always": "vždy", + "clear": "vyčistiť", + "collapsed": "zbalené", + "color": "farba", + "dash array": "štýl prerušovanej čiary", + "define": "definovať", + "description": "popis", + "expanded": "rozbalené", + "fill": "výplň", + "fill color": "farba výplne", + "fill opacity": "priehľadnosť výplne", + "hidden": "skryté", + "iframe": "iframe", + "inherit": "predvolené", + "name": "názov", + "never": "nikdy", + "new window": "nové okno", + "no": "nie", + "on hover": "on hover", + "opacity": "priehľadnosť", + "parent window": "nadradené okno", + "stroke": "linka", + "weight": "šírka linky", + "yes": "áno", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# jedna mriežka pre hlavný nadpis", + "## two hashes for second heading": "## dve mriežky pre nadpis druhej úrovne", + "### three hashes for third heading": "## tri mriežky pre nadpis tretej úrovne", + "**double star for bold**": "**všetko medzi dvoma hviezdičkami je tučně**", + "*simple star for italic*": "*všetko medzi hviezdičkami bude kurzívou*", + "--- for an horizontal rule": "--- vytvorí vodorovnú linku", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Čiarkami oddelený zoznam čísel, ktorý popisuje vzor prerušovanej čiary. Napr. \"5, 10, 15\".", + "About": "O uMap", + "Action not allowed :(": "Akcia nie je povolená :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Pridať vrstvu", + "Add a line to the current multi": "Pridať čiaru k aktuálnemu multi", + "Add a new property": "Pridať novú vlastnosť", + "Add a polygon to the current multi": "Pridať polygón k aktuálnemu multi", + "Advanced actions": "Pokročilé akcie", + "Advanced properties": "Pokročilé vlastnosti", + "Advanced transition": "Pokročilý prechod", + "All properties are imported.": "Všetky vlastnosti sú naimportované.", + "Allow interactions": "Povoliť interakcie", + "An error occured": "Nastala chyba", + "Are you sure you want to cancel your changes?": "Ste si istí že chcete zrušiť vaše úpravy?", + "Are you sure you want to clone this map and all its datalayers?": "Určite chcete vytvoriť kópiu celej tejto mapy a všetkých jej vrstiev?", + "Are you sure you want to delete the feature?": "Určite chcete vymazať tento objekt?", + "Are you sure you want to delete this layer?": "Určite chcete vymazať túto vrstvu?", + "Are you sure you want to delete this map?": "Ste si istí, že chcete vymazať túto mapu?", + "Are you sure you want to delete this property on all the features?": "Ste si istí že chcete vymazať túto vlastnosť na všetkých objektoch?", + "Are you sure you want to restore this version?": "Určite chcete obnoviť túto verziu?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Automatická", + "Autostart when map is loaded": "Aut. spustenie pri načítaní mapy", + "Bring feature to center": "Vycentruj mapu na objekt", + "Browse data": "Prezerať údaje", + "Cancel edits": "Zrušiť zmeny", + "Center map on your location": "Vycentrovať mapu na vašu polohu", + "Change map background": "Zmeniť pozadie mapy", + "Change tilelayers": "Zmeniť pozadie mapy", + "Choose a preset": "Vyberte predvoľbu", + "Choose the format of the data to import": "Zvoľte v akom formáte sú importované údaje", + "Choose the layer to import in": "Zvoľte vrstvu, do ktorej sa bude importovať", + "Click last point to finish shape": "Kliknite na posledný bod pre dokončenie tvaru", + "Click to add a marker": "Kliknutím pridáte značku", + "Click to continue drawing": "Kliknutím môžete pokračovať v kreslení", + "Click to edit": "Kliknutím upravte", + "Click to start drawing a line": "Kliknutím začnete kresliť čiaru", + "Click to start drawing a polygon": "Kliknutím začnete kresliť polygón", + "Clone": "Vytvoriť kópiu", + "Clone of {name}": "Kópia {name}", + "Clone this feature": "Vytvoriť kópiu objektu", + "Clone this map": "Vytvoriť kópiu tejto mapy", + "Close": "Zatvoriť", + "Clustering radius": "Polomer zhlukovania", + "Comma separated list of properties to use when filtering features": "Čiarkami oddelený zoznam vlastností pre filtrovanie objektov", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Hodnoty oddelené čiarkou, tabulátorom, alebo bodkočiarkou. Predpokladá sa SRS WGS84 a sú importované iba polohy bodov. Import hľadá záhlavie stĺpcov začínajúcich na \"lat\" a \"lon\" a tie považuje za súradnice (na veľkosti písmien nezáleži). Ostatné stĺpce sú importované ako vlastnosti.", + "Continue line": "Pokračovať v čiare", + "Continue line (Ctrl+Click)": "Pokračovať v čiare (Ctrl+Klik)", + "Coordinates": "Súradnice", + "Credits": "Poďakovania", + "Current view instead of default map view?": "Aktuálne zobrazenie namiesto štandardného zobrazenia mapy?", + "Custom background": "Vlastné pozadie", + "Data is browsable": "Data is browsable", + "Default interaction options": "Predvolené možnosti interakcie", + "Default properties": "Predvolené vlastnosti", + "Default shape properties": "Predvolené vlastnosti tvaru", + "Define link to open in a new window on polygon click.": "Definujte odkaz na otvorenie, ktorý otvorí nové okno po kliknutí na polygón.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Vymazať", + "Delete all layers": "Vymazať všetky vrstvy", + "Delete layer": "Vymazať vrstvu", + "Delete this feature": "Vymazať tento objekt", + "Delete this property on all the features": "Vymazať túto vlastnosť na všetkých objektoch", + "Delete this shape": "Vymazať tento tvar", + "Delete this vertex (Alt+Click)": "Vymazať tento bod (Alt+Klik)", + "Directions from here": "Navigovať odtiaľto", + "Disable editing": "Zakázať úpravy", + "Display measure": "Display measure", + "Display on load": "Zobraziť pri štarte", + "Download": "Download", + "Download data": "Stiahnuť údaje", + "Drag to reorder": "Presunutím zmeníte poradie", + "Draw a line": "Nakresliť jednoduchú čiaru", + "Draw a marker": "Nakresliť značku miesta", + "Draw a polygon": "Nakresliť polygon", + "Draw a polyline": "Nakresliť krivku", + "Dynamic": "Dynamicky", + "Dynamic properties": "Dynamické vlastnosti", + "Edit": "Upraviť", + "Edit feature's layer": "Upraviť vrstvu objektu", + "Edit map properties": "Upraviť vlastnosti mapy", + "Edit map settings": "Upraviť nastavenia mapy", + "Edit properties in a table": "Upraviť vlastnosti v tabuľke", + "Edit this feature": "Upraviť tento objekt", + "Editing": "Upravujete", + "Embed and share this map": "Zdieľaj alebo vlož mapu do iného webu", + "Embed the map": "Vložiť mapu na iný web", + "Empty": "Vyprázdniť", + "Enable editing": "Povoliť úpravy", + "Error in the tilelayer URL": "Chyba URL dlaždicovej vrstvy", + "Error while fetching {url}": "Vyskytla sa chyba počas načítania {url}", + "Exit Fullscreen": "Ukončiť režim celej obrazovky", + "Extract shape to separate feature": "Vyňať tvar do samostatného objektu", + "Fetch data each time map view changes.": "Načítanie údajov pri každej zmene zobrazenia mapy.", + "Filter keys": "Kľúče filtra", + "Filter…": "Filter…", + "Format": "Formát", + "From zoom": "Max. oddialenie", + "Full map data": "Údaje celej mapy", + "Go to «{feature}»": "Prejsť na «{feature}»", + "Heatmap intensity property": "Vlastnosti intenzity heatmapy", + "Heatmap radius": "Polomer teplotnej mapy", + "Help": "Nápoveda", + "Hide controls": "Skryť ovládacie prvky", + "Home": "Domov", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Ako veľmi vyhladzovať a zjednodušovať pri oddialeni (väčšie = rýchlejša odozva a plynulejší vzhľad, menšie = presnejšie)", + "If false, the polygon will act as a part of the underlying map.": "Ak je vypnuté, polygón sa bude správať ako súčasť mapového podkladu.", + "Iframe export options": "Možnosti Iframe exportu", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe s vlastnou výškou (v px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe s vlastnou výškou a šírkou (v px): {{{http://iframe.url.com|height*widht}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Obraz s vlastnou šírkou (v pixeloch): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Obrázok: {{http://url.obrazka.sk}}", + "Import": "Importovať", + "Import data": "Import údajov", + "Import in a new layer": "Importovať do novej vrstvy", + "Imports all umap data, including layers and settings.": "Importuje všetky údaje umapy, vrátane vrstiev a nastavení.", + "Include full screen link?": "Zahrnúť odkaz na celú obrazovku?", + "Interaction options": "Možnosti interakcie", + "Invalid umap data": "Neplatné údaje umapy", + "Invalid umap data in {filename}": "Neplatné údaje umapy v súbore {filename}", + "Keep current visible layers": "Použiť pre aktuálne zobrazenie vrstiev", + "Latitude": "Zem. šírka", + "Layer": "Vrstva", + "Layer properties": "Vlastnosti vrstvy", + "Licence": "Licencia", + "Limit bounds": "Obmedziť hranice", + "Link to…": "Odkaz na…", + "Link with text: [[http://example.com|text of the link]]": "Odkaz s textom: [[http://priklad.sk|text odkazu]]", + "Long credits": "Dlhý text autorstva", + "Longitude": "Zem. dĺžka", + "Make main shape": "Urobiť hlavným tvarom", + "Manage layers": "Nastavenie vrstiev", + "Map background credits": "Autor mapy pozadia", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Mapa bola uložená!", + "Map user content has been published under licence": "Použivateľské údaje sú zverejnené pod licenciou", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Spojiť čiary", + "More controls": "Viac ovládacích prvkov", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Musí byť platná hodnota CSS (napr.: DarkBlue or #123456)", + "No licence has been set": "Nebola nastavená žiadna licencia", + "No results": "Žiadne výsledky", + "Only visible features will be downloaded.": "Stiahnuté budú len viditeľné objekty.", + "Open download panel": "Open download panel", + "Open link in…": "Otvoriť odkaz v…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Otvoriť túto mapovú oblasť v mapovom editore pre presnenie dát v OpenStreetMap", + "Optional intensity property for heatmap": "Voliteľné vlastnosti intenzity pre heatmapu", + "Optional. Same as color if not set.": "Nepovinné. Rovnaké ako farba, ak nie je nastavené.", + "Override clustering radius (default 80)": "Prepísať polomer zhlukovania (predvolené 80)", + "Override heatmap radius (default 25)": "Prepísať polomer teplotnej mapy (predvolené 25)", + "Please be sure the licence is compliant with your use.": "Prosíme uistite sa, že licencia je v zhode s tým ako mapu používate.", + "Please choose a format": "Prosím, zvoľte formát", + "Please enter the name of the property": "Prosím, zadajte názov vlastnosti", + "Please enter the new name of this property": "Prosím, zadajte nový názov tejto vlastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Zostavené z Leaflet a Django, prepojené pomocou projektu uMap.", + "Problem in the response": "Problém v odpovedi", + "Problem in the response format": "Problém vo formáte odpovede", + "Properties imported:": "Importované vlastnosti:", + "Property to use for sorting features": "Vlastnosť použitá pre radenie objektov", + "Provide an URL here": "Sem vložte odkaz URL", + "Proxy request": "Požiadavky cez proxy", + "Remote data": "Vzdialené údaje", + "Remove shape from the multi": "Odobrať tvar z multi", + "Rename this property on all the features": "Premenovať túto vlastnosť na všetkých objektoch", + "Replace layer content": "Nahradiť obsah vrstvy", + "Restore this version": "Obnoviť túto verziu", + "Save": "Uložiť", + "Save anyway": "Uložiť napriek tomu", + "Save current edits": "Uložiť nedávne zmeny", + "Save this center and zoom": "Uložiť túto pozíciu mapy a jej priblíženie", + "Save this location as new feature": "Uložiť túto polohu ako nový objekt", + "Search a place name": "Search a place name", + "Search location": "Vyhľadať polohu", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Zobraziť všetko", + "See data layers": "See data layers", + "See full screen": "Na celú obrazovku", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Vlastnosti tvaru", + "Short URL": "Krátky odkaz URL", + "Short credits": "Krátky text autorstva", + "Show/hide layer": "Ukázať/skryť vrstvu", + "Simple link: [[http://example.com]]": "Jednoduchý odkaz: [[http://priklad.sk]]", + "Slideshow": "Prezentácia", + "Smart transitions": "Chytré prechody", + "Sort key": "Kľúč radenia", + "Split line": "Rozdelit čiaru", + "Start a hole here": "Tu začať dieru", + "Start editing": "Začať úpravy", + "Start slideshow": "Spustiť prezentáciu", + "Stop editing": "Ukončiť úpravy", + "Stop slideshow": "Zastaviť prezentáciu", + "Supported scheme": "Podporovaná schéma", + "Supported variables that will be dynamically replaced": "Podporované premenné, ktoré budú automaticky nahradené", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "Formát TMS", + "Text color for the cluster label": "Farba textu pre popis zhluku", + "Text formatting": "Formátovanie textu", + "The name of the property to use as feature label (ex.: \"nom\")": "Názov vlastnosti používať ako popis objektu (napr.: \"nom\")", + "The zoom and center have been setted.": "Priblíženie a stred mapy boli nastavené", + "To use if remote server doesn't allow cross domain (slower)": "Použiť keď vzdialený server nepovoľuje cross-domain (pomalšie)", + "To zoom": "Max. priblíženie", + "Toggle edit mode (Shift+Click)": "Prepnúť režim úprav (Shift+Klik)", + "Transfer shape to edited feature": "Preniesť tvar do upravovaného objektu", + "Transform to lines": "Transformuj na čiary", + "Transform to polygon": "Transformuj na mnohouholník", + "Type of layer": "Typ vrstvy", + "Unable to detect format of file {filename}": "Nepodarilo sa rozpoznať formát súboru {filename}", + "Untitled layer": "Nepomenovaná vrstva", + "Untitled map": "Nepomenovaná mapa", + "Update permissions": "Update permissions", + "Update permissions and editors": "Nastaviť prístupové práva a prispievateľov", + "Url": "URL", + "Use current bounds": "Použiť aktuálne hranice", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Použite zástupné znaky s vlastnosťami objektov medzi zloženými zátvorkami, napr. {name}, a budú dynamicky nahradené zodpovedajúcimi hodnotami.", + "User content credits": "Autor používateľského obsahu", + "User interface options": "Možnosti používateľského rozhrania", + "Versions": "Verzie", + "View Fullscreen": "Zobraziť na celú obrazovky", + "Where do we go from here?": "Kam sa dá odtiaľto dostať?", + "Whether to display or not polygons paths.": "Či sa má alebo nemá zobraziť cesty polygónov.", + "Whether to fill polygons with color.": "Či sa má vyplniť polygón farbou.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Bude zobrazené s mapou vpravo dole", + "Will be visible in the caption of the map": "Bude zobrazené v nadpise mapy", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Ojoj! Niekto iný medzitým taktiež upravil údaje. Môžete ich napriek tomu uložiť, ale zmažete tak jeho zmeny.", + "You have unsaved changes.": "Máte neuložené zmeny.", + "Zoom in": "Priblížiť", + "Zoom level for automatic zooms": "Úroveň priblíženia pre automatické približovanie", + "Zoom out": "Oddialiť", + "Zoom to layer extent": "Prispôsobiť priblíženie vrstve", + "Zoom to the next": "Priblížiť k ďalšiemu", + "Zoom to the previous": "Priblížiť k predošlému", + "Zoom to this feature": "Priblížiť na tento objekt", + "Zoom to this place": "Priblížiť na toto miesto", + "attribution": "autorstvo", + "by": "od", + "display name": "zobraziť názov", + "height": "Výška", + "licence": "licencia", + "max East": "max. Východ", + "max North": "max. Sever", + "max South": "max. Juh", + "max West": "max. Západ", + "max zoom": "max. priblíženie", + "min zoom": "max. oddialenie", + "next": "ďalší", + "previous": "predchádzajúci", + "width": "Šírka", + "{count} errors during import: {message}": "Počet chýb počas importu {count}: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/sl.js b/umap/static/umap/locale/sl.js new file mode 100644 index 00000000..e957dc5f --- /dev/null +++ b/umap/static/umap/locale/sl.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Dodaj simbol", + "Allow scroll wheel zoom?": "Ali naj se dovoli približanje pogleda s kolescem miške?", + "Automatic": "Samodejno", + "Ball": "Bucika", + "Cancel": "Prekliči", + "Caption": "Naslov", + "Change symbol": "Spremeni simbol", + "Choose the data format": "Izbor zapisa podatkov", + "Choose the layer of the feature": "Izbor plasti za postavitev predmeta", + "Circle": "Točka", + "Clustered": "Zbrano območje", + "Data browser": "Brskalnik podatkov", + "Default": "Privzeto", + "Default zoom level": "Privzeta raven približanja", + "Default: name": "Privzeto: ime", + "Display label": "Pokaži oznako", + "Display the control to open OpenStreetMap editor": "Pokaži gumb za odpiranje urejevalnika OpenstreetMap", + "Display the data layers control": "Pokaži gumb za nadzor podatkov plasti", + "Display the embed control": "Pokaži gumb za vstavljanje predmetov", + "Display the fullscreen control": "Pokaži gumb za preklop v celozaslonski način", + "Display the locate control": "Pokaži gumb za omogočanje lokacijskih storitev", + "Display the measure control": "Pokaži gumb za merjenje razdalij", + "Display the search control": "Pokaži možnosti za iskanje", + "Display the tile layers control": "Pokaži gumb za upravljanje s sličicami plasti", + "Display the zoom control": "Pokaži gumb za približanje", + "Do you want to display a caption bar?": "Ali želite pokazati naslovno vrstico?", + "Do you want to display a minimap?": "Ali želite prikazati mini zemljevid?", + "Do you want to display a panel on load?": "Ali želite pokazati bočno okno ob zagonu?", + "Do you want to display popup footer?": "Ali želite prikazati pojavno okno noge?", + "Do you want to display the scale control?": "Ali želite prikazati gumbe merila?", + "Do you want to display the «more» control?": "Ali želite pokazati orodno vrstico »več možnosti«?", + "Drop": "Kapljica", + "GeoRSS (only link)": "GeoRSS (le povezava)", + "GeoRSS (title + image)": "GeoRSS (naslov in slika)", + "Heatmap": "Vročinske točke", + "Icon shape": "Oblika ikone", + "Icon symbol": "Simbol ikone", + "Inherit": "Prevzemi", + "Label direction": "Usmerjenost oznake", + "Label key": "Oznaka", + "Labels are clickable": "Oznake so klikljive", + "None": "Brez", + "On the bottom": "Na dnu", + "On the left": "Na levi", + "On the right": "Na desni", + "On the top": "Na vrhu", + "Popup content template": "Predloga pojavne vsebine", + "Set symbol": "Set symbol", + "Side panel": "Bočno okno", + "Simplify": "Poenostavi", + "Symbol or url": "Symbol or url", + "Table": "Razpredelnica", + "always": "vedno", + "clear": "počisti", + "collapsed": "zloženo", + "color": "barva", + "dash array": "črtkano", + "define": "določi", + "description": "opis", + "expanded": "razširjeno", + "fill": "polnilo", + "fill color": "barva polnila", + "fill opacity": "prosojnost polnila", + "hidden": "skrito", + "iframe": "iframe", + "inherit": "prevzemi", + "name": "ime", + "never": "nikoli", + "new window": "novo okno", + "no": "ne", + "on hover": "on hover", + "opacity": "prosojnost", + "parent window": "glavno okno", + "stroke": "prečrtano", + "weight": "debelina", + "yes": "da", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# en znak za prvi glavni naslov", + "## two hashes for second heading": "## dva znaka za drugi naslov", + "### three hashes for third heading": "### trije znaki za tretji naslov", + "**double star for bold**": "**dvojna zvezdica za krepko pisavo**", + "*simple star for italic*": "*enojna zvezdica za ležečo pisavo*", + "--- for an horizontal rule": "--- za vodoravno črto", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Z vejilo ločen seznam števil, ki določajo vzorec poteze. Na primer »5, 10, 15«.", + "About": "O programu", + "Action not allowed :(": "Dejanje ni dovoljeno :(", + "Activate slideshow mode": "Omogoči predstavitveni način", + "Add a layer": "Dodaj plast", + "Add a line to the current multi": "Dodaj črto k trenutnemu večtočkovnemu predmetu", + "Add a new property": "Dodaj novo lastnost", + "Add a polygon to the current multi": "Dodaj mnogokotnik k trenutnemu večtočkovnemu predmetu", + "Advanced actions": "Napredna dejanja", + "Advanced properties": "Napredne nastavitve", + "Advanced transition": "Napredni prehodi", + "All properties are imported.": "Vse lastnosti so uvožene.", + "Allow interactions": "Dovoli interakcije", + "An error occured": "Prišlo je do napake", + "Are you sure you want to cancel your changes?": "Ali ste prepričani, da želite preklicati spremembe?", + "Are you sure you want to clone this map and all its datalayers?": "Ali ste prepričani, da želite klonirati ta zemljevid in vse njegove podatkovne plasti?", + "Are you sure you want to delete the feature?": "Ali ste prepričani, da želite izbrisati to možnost?", + "Are you sure you want to delete this layer?": "Ali ste prepričani, da želite izbrisati to plast?", + "Are you sure you want to delete this map?": "Ali ste prepričani, da želite izbrisati ta zemljevid?", + "Are you sure you want to delete this property on all the features?": "Ali res želite izbrisati to lastnost pri vseh vstavljenih predmetih?", + "Are you sure you want to restore this version?": "Ali res želite obnoviti to različico?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Samodejno", + "Autostart when map is loaded": "Samodejno zaženi, ko je zemljevid naložen", + "Bring feature to center": "Postavi predmet v središče", + "Browse data": "Prebrskaj podatke", + "Cancel edits": "Prekliči urajanje", + "Center map on your location": "Postavi trenutno točko v središče zemljevida", + "Change map background": "Zamenjaj ozadje zemljevida", + "Change tilelayers": "Spremeni plasti", + "Choose a preset": "Izbor prednastavitev", + "Choose the format of the data to import": "Izbor oblike zapisa podatkov za uvoz", + "Choose the layer to import in": "Izbor plasti za uvoz podatkov", + "Click last point to finish shape": "Kliknite na zadnjo točko za dokončanje risanja oblike", + "Click to add a marker": "Kliknite za dodajanje označbe", + "Click to continue drawing": "Kliknite za nadaljevanje risanja", + "Click to edit": "Kliknite za urejanje", + "Click to start drawing a line": "Kliknite za začetek risanja črte", + "Click to start drawing a polygon": "Kliknite za začetek risanja mnogokotnika", + "Clone": "Kloniraj", + "Clone of {name}": "Klon zemljevida {name}", + "Clone this feature": "Kloniraj predmet", + "Clone this map": "Kloniraj zemljevid", + "Close": "Zapri", + "Clustering radius": "Radij zbranega omgočja", + "Comma separated list of properties to use when filtering features": "Z vejico ločen seznam lastnosti, uporabljenimi med filtriranjem predmetov", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Z vejico, tabulatorjem ali podpičjem ločene vrednosti, nakazane prek SRS WGS84. Uvoženi so le točkovni podatki. Med uvozom bo preiskan stolpec glav za podatke geografske »širine« in«dolžine«, neupoštevajoč velikost pisave. Vsi ostali stolpci bodo uvoženi kot lastnosti predmetov.", + "Continue line": "Nadaljuj z risanjem črte", + "Continue line (Ctrl+Click)": "Nadaljuj s črto (Ctrl+Klik)", + "Coordinates": "Koordinate", + "Credits": "Zasluge", + "Current view instead of default map view?": "Ali želite omogočiti trenutni pogled namesto privzetega pogleda zemljevida?", + "Custom background": "Ozadje po meri", + "Data is browsable": "Podatke je mogoče brskati", + "Default interaction options": "Privzete možnosti interakcije", + "Default properties": "Privzete lastnosti", + "Default shape properties": "Privzete možnosti oblike", + "Define link to open in a new window on polygon click.": "Določitev povezave za odpiranje v novem oknu ob kliku na mnogokotnik.", + "Delay between two transitions when in play mode": "Zamik med prehodi v načinu predvajanja", + "Delete": "Izbriši", + "Delete all layers": "Izbriši vse plasti", + "Delete layer": "Izbriši plast", + "Delete this feature": "Izbriši ta predmet", + "Delete this property on all the features": "Izbriši lastnost pri vseh vstavljenih predmetih", + "Delete this shape": "Izbriši ta predmet", + "Delete this vertex (Alt+Click)": "Izbriši to točko (Alt+Klik)", + "Directions from here": "Navigacija od tu", + "Disable editing": "Onemogoči urejanje", + "Display measure": "Pokaži merilo", + "Display on load": "Prikaži ob nalaganju", + "Download": "Prenos", + "Download data": "Prejmi podatke", + "Drag to reorder": "Potegni za prerazvrstitev", + "Draw a line": "Nariši črto", + "Draw a marker": "Nariši označbo", + "Draw a polygon": "Nariši mnogokotnik", + "Draw a polyline": "Nariši črto v več koleni", + "Dynamic": "Dinamično", + "Dynamic properties": "Dinamične lastnosti", + "Edit": "Uredi", + "Edit feature's layer": "Uredi plast predmeta", + "Edit map properties": "Uredi lastnosti zemljevida", + "Edit map settings": "Uredi nastavitve zemljevida", + "Edit properties in a table": "Uredi lastnosti v razpredelnici", + "Edit this feature": "Uredi predmet", + "Editing": "Urejanje", + "Embed and share this map": "Vstavi in objavi zemljevid", + "Embed the map": "Vstavi zemljevid", + "Empty": "Prazno", + "Enable editing": "Omogoči urejanje", + "Error in the tilelayer URL": "Napaka v naslovu URL plasti", + "Error while fetching {url}": "Napaka pridobivanja naslova URL {url}", + "Exit Fullscreen": "Končaj celozaslonski način", + "Extract shape to separate feature": "Izloči obliko v ločen predmet", + "Fetch data each time map view changes.": "Pridobi podatke vsakič, ko se spremeni pogled zemljevida.", + "Filter keys": "Filtri", + "Filter…": "Filter ...", + "Format": "zapis", + "From zoom": "Iz približanja", + "Full map data": "Polni podatki zemljevida", + "Go to «{feature}»": "Skoči na »{feature}«", + "Heatmap intensity property": "Lastnosti jakosti vročinskih točk", + "Heatmap radius": "Radij vročinskih točk", + "Help": "Pomoč", + "Hide controls": "Skrij orodja", + "Home": "Začetna stran", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kako močno naj bodo poenostavljene prte na posamezni ravni približanja (močno = boljše delovanje in prijetnejši videz ali malo = bolj natančen prikaz)", + "If false, the polygon will act as a part of the underlying map.": "Neizbrana možnost določa, da bo mnogokotnik obravnavan kot del zemljevida.", + "Iframe export options": "Možnosti izvoza v iFrame", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Predmet Iframe z višino po meri (v točkah): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Predmet Iframe z višino in širino po meri (v točkah): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Slika s širino po meri (v tpčkah): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Slika: {{http://image.url.com}}", + "Import": "Uvozi", + "Import data": "Uvozi podatke", + "Import in a new layer": "Uvozi v novo plast", + "Imports all umap data, including layers and settings.": "Uvozi vse podatke umap, vključno s plastmi in nastavitvami.", + "Include full screen link?": "Ali želite vključiti povezavo do celozaslonskega prikaza?", + "Interaction options": "Možnosti interakcije", + "Invalid umap data": "Neveljavni podatki umap", + "Invalid umap data in {filename}": "Neveljavni podatki umap v datoteki {filename}", + "Keep current visible layers": "Ohrani trenutno vidne plasti", + "Latitude": "Geografska širina", + "Layer": "Plast", + "Layer properties": "Lastnosti plasti", + "Licence": "Dovoljenje", + "Limit bounds": "Omejitev področja", + "Link to…": "Povezava z ...", + "Link with text: [[http://example.com|text of the link]]": "Povezava z besedilom: [[http://primer.com|besedilo povezave]]", + "Long credits": "Poln seznam zaslug", + "Longitude": "Geografska dolžina", + "Make main shape": "Nastavi kot glavni predmet", + "Manage layers": "Upravljanje s plastmi", + "Map background credits": "Zasluge ozadij zemljevida", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Zemljevid je shranjen!", + "Map user content has been published under licence": "Uporabniška vsebina zemljevida je objavljena z dovoljenjem", + "Map's editors": "Uredniki zemljevida", + "Map's owner": "Lastnik zemljevida", + "Merge lines": "Združi črte", + "More controls": "Več orodij", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Vrednost mora biti skladna z zapisom CSS (na primer: DarkBlue ali #123456)", + "No licence has been set": "Ni določenega dovoljenja za uporabo", + "No results": "Ni zadetkov", + "Only visible features will be downloaded.": "Prejeti bodo le vidni predmeti.", + "Open download panel": "Open download panel", + "Open link in…": "Odpri povezavo v ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Odpri obseg zemljevida v urejevalniku za prenos podrobnejših podatkov na OpenStreetMap.", + "Optional intensity property for heatmap": "Izbirna lastnost jakosti vročinskih točke", + "Optional. Same as color if not set.": "Izbirno. Enako, kot nedoločena barva.", + "Override clustering radius (default 80)": "Prekliči radij združevanja (privzeto 80)", + "Override heatmap radius (default 25)": "Prekliči radij vročinskih točk (privzeto 25)", + "Please be sure the licence is compliant with your use.": "Prepričajte se, da je zemljevid uporabljen v skladu z dovoljenjem.", + "Please choose a format": "Izbrati je treba zapis", + "Please enter the name of the property": "Ime lastnosti", + "Please enter the new name of this property": "Novo ime lastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Zasnovano na orodjih Leaflet in Django, združeno pri projektu uMap.", + "Problem in the response": "Napaka v odzivu", + "Problem in the response format": "Napaka v zapisu odziva", + "Properties imported:": "Lastnosti so uvožene:", + "Property to use for sorting features": "Določilo za uporabo pri razvrščanju predmetov", + "Provide an URL here": "Vpis naslova URL", + "Proxy request": "Zahteva posredniškega strežnika", + "Remote data": "Oddaljeni podatki", + "Remove shape from the multi": "Odstrani obliko iz večtočkovnega predmeta", + "Rename this property on all the features": "Preimenuj lastnost na vseh predmetih", + "Replace layer content": "Zamenjaj vsebino plasti", + "Restore this version": "Obnovi različico", + "Save": "Shrani", + "Save anyway": "Vseeno shrani", + "Save current edits": "Shrani urejanje", + "Save this center and zoom": "Shrani središče in približaj", + "Save this location as new feature": "Shrani mesto kot nov predmet", + "Search a place name": "Search a place name", + "Search location": "Preišči mesto", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Pokaži vse", + "See data layers": "See data layers", + "See full screen": "Pokaži v celozaslonskem načinu", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Neizbrana možnost skrije plast med predstavitvijo, v pregledovalniku podatkov, ...", + "Shape properties": "Lastnosti oblike", + "Short URL": "Skrajšan naslov URL", + "Short credits": "Kratek zapis zaslug", + "Show/hide layer": "Pokaži / Skrij plast", + "Simple link: [[http://example.com]]": "Enostavna povezava: [[http://primer.com]]", + "Slideshow": "Predstavitev", + "Smart transitions": "Pametni prehodi", + "Sort key": "Razvrščanje", + "Split line": "Ločitvena črta", + "Start a hole here": "Začni z vrisovanjem luknje", + "Start editing": "Začni z urejanjem", + "Start slideshow": "Začni s predstavitvijo", + "Stop editing": "Končaj z urejanjem", + "Stop slideshow": "Zaustavi predstavitev", + "Supported scheme": "Podprta shema", + "Supported variables that will be dynamically replaced": "Podprte spremenljivke, ki bodo dinamično zamenjane", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "Zapis TMS", + "Text color for the cluster label": "Barva besedila za oznako polja", + "Text formatting": "Oblikovanje besedila", + "The name of the property to use as feature label (ex.: \"nom\")": "Ime lastnosti, ki naj se uporabi kot oznaka predmeta (na primer »nom«)", + "The zoom and center have been setted.": "Vrednost in središčna točka sta nastavljeni.", + "To use if remote server doesn't allow cross domain (slower)": "Za uporabo, ko oddaljeni stražnik ne dovoli vzporednih domen (počasneje)", + "To zoom": "Za približanje", + "Toggle edit mode (Shift+Click)": "Preklop načina urejanja (Shift+Klik)", + "Transfer shape to edited feature": "Prenesi obliko na urejen predmet", + "Transform to lines": "Pretvori v črte", + "Transform to polygon": "Pretvori v mnogokotnik", + "Type of layer": "Vrsta plasti", + "Unable to detect format of file {filename}": "Ni mogoče zaznati zapisa datoteke {filename}", + "Untitled layer": "Neimenovana plast", + "Untitled map": "Neimenovan zemljevid", + "Update permissions": "Update permissions", + "Update permissions and editors": "Posodobitev dovoljenj in urednikov", + "Url": "Naslov URL", + "Use current bounds": "Uporabi trenutne meje", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Uporabi ročnike lastnosti predmetov, pri zapisu podatkov. Vpis {ime} bo dinamično zamenjan z ustrezno vrednostjo.", + "User content credits": "Zasluge za uporabniško vsebino", + "User interface options": "Možnosti uporabniškega vmesnika", + "Versions": "Različice", + "View Fullscreen": "Pokaži v celozaslonskem načinu", + "Where do we go from here?": "Kam naj se usmerimo?", + "Whether to display or not polygons paths.": "Ali naj bodo izrisane daljice mnogokotnika.", + "Whether to fill polygons with color.": "Ali naj bodo mnogokotniki zapolnjeni z barvo.", + "Who can edit": "Kdo lahko ureja", + "Who can view": "Kdo lahko vidi", + "Will be displayed in the bottom right corner of the map": "Prikazan bo v spodnjem desnem kotu zemljevida", + "Will be visible in the caption of the map": "Prikazan bo v naslovu zemljevida", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Opa! Nekdo drug je najverjetneje urejal podatke. Spremembe lahko vseeno shranite, vendar bo to prepisalo spremembe, ustvarjene s strani drugih urednikov.", + "You have unsaved changes.": "Zaznane so neshranjene spremembe.", + "Zoom in": "Približaj", + "Zoom level for automatic zooms": "Raven za samodejno približanje", + "Zoom out": "Oddalji", + "Zoom to layer extent": "Približaj na obseg plasti", + "Zoom to the next": "Približaj na naslednjo točko", + "Zoom to the previous": "Približaj na predhodno točko", + "Zoom to this feature": "Približaj k predmetu", + "Zoom to this place": "Približaj na to mesto", + "attribution": "pripisovanje", + "by": "–", + "display name": "prikazno ime", + "height": "višina", + "licence": "dovoljenje", + "max East": "najbolj vzhodno", + "max North": "najbolj severno", + "max South": "najbolj južno", + "max West": "najbolj zahodno", + "max zoom": "največje približanje", + "min zoom": "največje oddaljanje", + "next": "naslednji", + "previous": "predhodni", + "width": "širina", + "{count} errors during import: {message}": "Zaznane so napake ({count}) med uvozom: {message}", + "Measure distances": "Merjenje razdalj", + "NM": "NM", + "kilometers": "kilometri", + "km": "km", + "mi": "mi", + "miles": "milje", + "nautical miles": "navtične milje", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 dan", + "1 hour": "1 ura", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("sl", locale); +L.setLocale("sl"); \ No newline at end of file diff --git a/umap/static/umap/locale/sl.json b/umap/static/umap/locale/sl.json new file mode 100644 index 00000000..6cbf4eee --- /dev/null +++ b/umap/static/umap/locale/sl.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Dodaj simbol", + "Allow scroll wheel zoom?": "Ali naj se dovoli približanje pogleda s kolescem miške?", + "Automatic": "Samodejno", + "Ball": "Bucika", + "Cancel": "Prekliči", + "Caption": "Naslov", + "Change symbol": "Spremeni simbol", + "Choose the data format": "Izbor zapisa podatkov", + "Choose the layer of the feature": "Izbor plasti za postavitev predmeta", + "Circle": "Točka", + "Clustered": "Zbrano območje", + "Data browser": "Brskalnik podatkov", + "Default": "Privzeto", + "Default zoom level": "Privzeta raven približanja", + "Default: name": "Privzeto: ime", + "Display label": "Pokaži oznako", + "Display the control to open OpenStreetMap editor": "Pokaži gumb za odpiranje urejevalnika OpenstreetMap", + "Display the data layers control": "Pokaži gumb za nadzor podatkov plasti", + "Display the embed control": "Pokaži gumb za vstavljanje predmetov", + "Display the fullscreen control": "Pokaži gumb za preklop v celozaslonski način", + "Display the locate control": "Pokaži gumb za omogočanje lokacijskih storitev", + "Display the measure control": "Pokaži gumb za merjenje razdalij", + "Display the search control": "Pokaži možnosti za iskanje", + "Display the tile layers control": "Pokaži gumb za upravljanje s sličicami plasti", + "Display the zoom control": "Pokaži gumb za približanje", + "Do you want to display a caption bar?": "Ali želite pokazati naslovno vrstico?", + "Do you want to display a minimap?": "Ali želite prikazati mini zemljevid?", + "Do you want to display a panel on load?": "Ali želite pokazati bočno okno ob zagonu?", + "Do you want to display popup footer?": "Ali želite prikazati pojavno okno noge?", + "Do you want to display the scale control?": "Ali želite prikazati gumbe merila?", + "Do you want to display the «more» control?": "Ali želite pokazati orodno vrstico »več možnosti«?", + "Drop": "Kapljica", + "GeoRSS (only link)": "GeoRSS (le povezava)", + "GeoRSS (title + image)": "GeoRSS (naslov in slika)", + "Heatmap": "Vročinske točke", + "Icon shape": "Oblika ikone", + "Icon symbol": "Simbol ikone", + "Inherit": "Prevzemi", + "Label direction": "Usmerjenost oznake", + "Label key": "Oznaka", + "Labels are clickable": "Oznake so klikljive", + "None": "Brez", + "On the bottom": "Na dnu", + "On the left": "Na levi", + "On the right": "Na desni", + "On the top": "Na vrhu", + "Popup content template": "Predloga pojavne vsebine", + "Set symbol": "Set symbol", + "Side panel": "Bočno okno", + "Simplify": "Poenostavi", + "Symbol or url": "Symbol or url", + "Table": "Razpredelnica", + "always": "vedno", + "clear": "počisti", + "collapsed": "zloženo", + "color": "barva", + "dash array": "črtkano", + "define": "določi", + "description": "opis", + "expanded": "razširjeno", + "fill": "polnilo", + "fill color": "barva polnila", + "fill opacity": "prosojnost polnila", + "hidden": "skrito", + "iframe": "iframe", + "inherit": "prevzemi", + "name": "ime", + "never": "nikoli", + "new window": "novo okno", + "no": "ne", + "on hover": "on hover", + "opacity": "prosojnost", + "parent window": "glavno okno", + "stroke": "prečrtano", + "weight": "debelina", + "yes": "da", + "{delay} seconds": "{delay} sekund", + "# one hash for main heading": "# en znak za prvi glavni naslov", + "## two hashes for second heading": "## dva znaka za drugi naslov", + "### three hashes for third heading": "### trije znaki za tretji naslov", + "**double star for bold**": "**dvojna zvezdica za krepko pisavo**", + "*simple star for italic*": "*enojna zvezdica za ležečo pisavo*", + "--- for an horizontal rule": "--- za vodoravno črto", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Z vejilo ločen seznam števil, ki določajo vzorec poteze. Na primer »5, 10, 15«.", + "About": "O programu", + "Action not allowed :(": "Dejanje ni dovoljeno :(", + "Activate slideshow mode": "Omogoči predstavitveni način", + "Add a layer": "Dodaj plast", + "Add a line to the current multi": "Dodaj črto k trenutnemu večtočkovnemu predmetu", + "Add a new property": "Dodaj novo lastnost", + "Add a polygon to the current multi": "Dodaj mnogokotnik k trenutnemu večtočkovnemu predmetu", + "Advanced actions": "Napredna dejanja", + "Advanced properties": "Napredne nastavitve", + "Advanced transition": "Napredni prehodi", + "All properties are imported.": "Vse lastnosti so uvožene.", + "Allow interactions": "Dovoli interakcije", + "An error occured": "Prišlo je do napake", + "Are you sure you want to cancel your changes?": "Ali ste prepričani, da želite preklicati spremembe?", + "Are you sure you want to clone this map and all its datalayers?": "Ali ste prepričani, da želite klonirati ta zemljevid in vse njegove podatkovne plasti?", + "Are you sure you want to delete the feature?": "Ali ste prepričani, da želite izbrisati to možnost?", + "Are you sure you want to delete this layer?": "Ali ste prepričani, da želite izbrisati to plast?", + "Are you sure you want to delete this map?": "Ali ste prepričani, da želite izbrisati ta zemljevid?", + "Are you sure you want to delete this property on all the features?": "Ali res želite izbrisati to lastnost pri vseh vstavljenih predmetih?", + "Are you sure you want to restore this version?": "Ali res želite obnoviti to različico?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Samodejno", + "Autostart when map is loaded": "Samodejno zaženi, ko je zemljevid naložen", + "Bring feature to center": "Postavi predmet v središče", + "Browse data": "Prebrskaj podatke", + "Cancel edits": "Prekliči urajanje", + "Center map on your location": "Postavi trenutno točko v središče zemljevida", + "Change map background": "Zamenjaj ozadje zemljevida", + "Change tilelayers": "Spremeni plasti", + "Choose a preset": "Izbor prednastavitev", + "Choose the format of the data to import": "Izbor oblike zapisa podatkov za uvoz", + "Choose the layer to import in": "Izbor plasti za uvoz podatkov", + "Click last point to finish shape": "Kliknite na zadnjo točko za dokončanje risanja oblike", + "Click to add a marker": "Kliknite za dodajanje označbe", + "Click to continue drawing": "Kliknite za nadaljevanje risanja", + "Click to edit": "Kliknite za urejanje", + "Click to start drawing a line": "Kliknite za začetek risanja črte", + "Click to start drawing a polygon": "Kliknite za začetek risanja mnogokotnika", + "Clone": "Kloniraj", + "Clone of {name}": "Klon zemljevida {name}", + "Clone this feature": "Kloniraj predmet", + "Clone this map": "Kloniraj zemljevid", + "Close": "Zapri", + "Clustering radius": "Radij zbranega omgočja", + "Comma separated list of properties to use when filtering features": "Z vejico ločen seznam lastnosti, uporabljenimi med filtriranjem predmetov", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Z vejico, tabulatorjem ali podpičjem ločene vrednosti, nakazane prek SRS WGS84. Uvoženi so le točkovni podatki. Med uvozom bo preiskan stolpec glav za podatke geografske »širine« in«dolžine«, neupoštevajoč velikost pisave. Vsi ostali stolpci bodo uvoženi kot lastnosti predmetov.", + "Continue line": "Nadaljuj z risanjem črte", + "Continue line (Ctrl+Click)": "Nadaljuj s črto (Ctrl+Klik)", + "Coordinates": "Koordinate", + "Credits": "Zasluge", + "Current view instead of default map view?": "Ali želite omogočiti trenutni pogled namesto privzetega pogleda zemljevida?", + "Custom background": "Ozadje po meri", + "Data is browsable": "Podatke je mogoče brskati", + "Default interaction options": "Privzete možnosti interakcije", + "Default properties": "Privzete lastnosti", + "Default shape properties": "Privzete možnosti oblike", + "Define link to open in a new window on polygon click.": "Določitev povezave za odpiranje v novem oknu ob kliku na mnogokotnik.", + "Delay between two transitions when in play mode": "Zamik med prehodi v načinu predvajanja", + "Delete": "Izbriši", + "Delete all layers": "Izbriši vse plasti", + "Delete layer": "Izbriši plast", + "Delete this feature": "Izbriši ta predmet", + "Delete this property on all the features": "Izbriši lastnost pri vseh vstavljenih predmetih", + "Delete this shape": "Izbriši ta predmet", + "Delete this vertex (Alt+Click)": "Izbriši to točko (Alt+Klik)", + "Directions from here": "Navigacija od tu", + "Disable editing": "Onemogoči urejanje", + "Display measure": "Pokaži merilo", + "Display on load": "Prikaži ob nalaganju", + "Download": "Prenos", + "Download data": "Prejmi podatke", + "Drag to reorder": "Potegni za prerazvrstitev", + "Draw a line": "Nariši črto", + "Draw a marker": "Nariši označbo", + "Draw a polygon": "Nariši mnogokotnik", + "Draw a polyline": "Nariši črto v več koleni", + "Dynamic": "Dinamično", + "Dynamic properties": "Dinamične lastnosti", + "Edit": "Uredi", + "Edit feature's layer": "Uredi plast predmeta", + "Edit map properties": "Uredi lastnosti zemljevida", + "Edit map settings": "Uredi nastavitve zemljevida", + "Edit properties in a table": "Uredi lastnosti v razpredelnici", + "Edit this feature": "Uredi predmet", + "Editing": "Urejanje", + "Embed and share this map": "Vstavi in objavi zemljevid", + "Embed the map": "Vstavi zemljevid", + "Empty": "Prazno", + "Enable editing": "Omogoči urejanje", + "Error in the tilelayer URL": "Napaka v naslovu URL plasti", + "Error while fetching {url}": "Napaka pridobivanja naslova URL {url}", + "Exit Fullscreen": "Končaj celozaslonski način", + "Extract shape to separate feature": "Izloči obliko v ločen predmet", + "Fetch data each time map view changes.": "Pridobi podatke vsakič, ko se spremeni pogled zemljevida.", + "Filter keys": "Filtri", + "Filter…": "Filter ...", + "Format": "zapis", + "From zoom": "Iz približanja", + "Full map data": "Polni podatki zemljevida", + "Go to «{feature}»": "Skoči na »{feature}«", + "Heatmap intensity property": "Lastnosti jakosti vročinskih točk", + "Heatmap radius": "Radij vročinskih točk", + "Help": "Pomoč", + "Hide controls": "Skrij orodja", + "Home": "Začetna stran", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Kako močno naj bodo poenostavljene prte na posamezni ravni približanja (močno = boljše delovanje in prijetnejši videz ali malo = bolj natančen prikaz)", + "If false, the polygon will act as a part of the underlying map.": "Neizbrana možnost določa, da bo mnogokotnik obravnavan kot del zemljevida.", + "Iframe export options": "Možnosti izvoza v iFrame", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Predmet Iframe z višino po meri (v točkah): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Predmet Iframe z višino in širino po meri (v točkah): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Slika s širino po meri (v tpčkah): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Slika: {{http://image.url.com}}", + "Import": "Uvozi", + "Import data": "Uvozi podatke", + "Import in a new layer": "Uvozi v novo plast", + "Imports all umap data, including layers and settings.": "Uvozi vse podatke umap, vključno s plastmi in nastavitvami.", + "Include full screen link?": "Ali želite vključiti povezavo do celozaslonskega prikaza?", + "Interaction options": "Možnosti interakcije", + "Invalid umap data": "Neveljavni podatki umap", + "Invalid umap data in {filename}": "Neveljavni podatki umap v datoteki {filename}", + "Keep current visible layers": "Ohrani trenutno vidne plasti", + "Latitude": "Geografska širina", + "Layer": "Plast", + "Layer properties": "Lastnosti plasti", + "Licence": "Dovoljenje", + "Limit bounds": "Omejitev področja", + "Link to…": "Povezava z ...", + "Link with text: [[http://example.com|text of the link]]": "Povezava z besedilom: [[http://primer.com|besedilo povezave]]", + "Long credits": "Poln seznam zaslug", + "Longitude": "Geografska dolžina", + "Make main shape": "Nastavi kot glavni predmet", + "Manage layers": "Upravljanje s plastmi", + "Map background credits": "Zasluge ozadij zemljevida", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Zemljevid je shranjen!", + "Map user content has been published under licence": "Uporabniška vsebina zemljevida je objavljena z dovoljenjem", + "Map's editors": "Uredniki zemljevida", + "Map's owner": "Lastnik zemljevida", + "Merge lines": "Združi črte", + "More controls": "Več orodij", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Vrednost mora biti skladna z zapisom CSS (na primer: DarkBlue ali #123456)", + "No licence has been set": "Ni določenega dovoljenja za uporabo", + "No results": "Ni zadetkov", + "Only visible features will be downloaded.": "Prejeti bodo le vidni predmeti.", + "Open download panel": "Open download panel", + "Open link in…": "Odpri povezavo v ...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Odpri obseg zemljevida v urejevalniku za prenos podrobnejših podatkov na OpenStreetMap.", + "Optional intensity property for heatmap": "Izbirna lastnost jakosti vročinskih točke", + "Optional. Same as color if not set.": "Izbirno. Enako, kot nedoločena barva.", + "Override clustering radius (default 80)": "Prekliči radij združevanja (privzeto 80)", + "Override heatmap radius (default 25)": "Prekliči radij vročinskih točk (privzeto 25)", + "Please be sure the licence is compliant with your use.": "Prepričajte se, da je zemljevid uporabljen v skladu z dovoljenjem.", + "Please choose a format": "Izbrati je treba zapis", + "Please enter the name of the property": "Ime lastnosti", + "Please enter the new name of this property": "Novo ime lastnosti", + "Powered by Leaflet and Django, glued by uMap project.": "Zasnovano na orodjih Leaflet in Django, združeno pri projektu uMap.", + "Problem in the response": "Napaka v odzivu", + "Problem in the response format": "Napaka v zapisu odziva", + "Properties imported:": "Lastnosti so uvožene:", + "Property to use for sorting features": "Določilo za uporabo pri razvrščanju predmetov", + "Provide an URL here": "Vpis naslova URL", + "Proxy request": "Zahteva posredniškega strežnika", + "Remote data": "Oddaljeni podatki", + "Remove shape from the multi": "Odstrani obliko iz večtočkovnega predmeta", + "Rename this property on all the features": "Preimenuj lastnost na vseh predmetih", + "Replace layer content": "Zamenjaj vsebino plasti", + "Restore this version": "Obnovi različico", + "Save": "Shrani", + "Save anyway": "Vseeno shrani", + "Save current edits": "Shrani urejanje", + "Save this center and zoom": "Shrani središče in približaj", + "Save this location as new feature": "Shrani mesto kot nov predmet", + "Search a place name": "Search a place name", + "Search location": "Preišči mesto", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Pokaži vse", + "See data layers": "See data layers", + "See full screen": "Pokaži v celozaslonskem načinu", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Neizbrana možnost skrije plast med predstavitvijo, v pregledovalniku podatkov, ...", + "Shape properties": "Lastnosti oblike", + "Short URL": "Skrajšan naslov URL", + "Short credits": "Kratek zapis zaslug", + "Show/hide layer": "Pokaži / Skrij plast", + "Simple link: [[http://example.com]]": "Enostavna povezava: [[http://primer.com]]", + "Slideshow": "Predstavitev", + "Smart transitions": "Pametni prehodi", + "Sort key": "Razvrščanje", + "Split line": "Ločitvena črta", + "Start a hole here": "Začni z vrisovanjem luknje", + "Start editing": "Začni z urejanjem", + "Start slideshow": "Začni s predstavitvijo", + "Stop editing": "Končaj z urejanjem", + "Stop slideshow": "Zaustavi predstavitev", + "Supported scheme": "Podprta shema", + "Supported variables that will be dynamically replaced": "Podprte spremenljivke, ki bodo dinamično zamenjane", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "Zapis TMS", + "Text color for the cluster label": "Barva besedila za oznako polja", + "Text formatting": "Oblikovanje besedila", + "The name of the property to use as feature label (ex.: \"nom\")": "Ime lastnosti, ki naj se uporabi kot oznaka predmeta (na primer »nom«)", + "The zoom and center have been setted.": "Vrednost in središčna točka sta nastavljeni.", + "To use if remote server doesn't allow cross domain (slower)": "Za uporabo, ko oddaljeni stražnik ne dovoli vzporednih domen (počasneje)", + "To zoom": "Za približanje", + "Toggle edit mode (Shift+Click)": "Preklop načina urejanja (Shift+Klik)", + "Transfer shape to edited feature": "Prenesi obliko na urejen predmet", + "Transform to lines": "Pretvori v črte", + "Transform to polygon": "Pretvori v mnogokotnik", + "Type of layer": "Vrsta plasti", + "Unable to detect format of file {filename}": "Ni mogoče zaznati zapisa datoteke {filename}", + "Untitled layer": "Neimenovana plast", + "Untitled map": "Neimenovan zemljevid", + "Update permissions": "Update permissions", + "Update permissions and editors": "Posodobitev dovoljenj in urednikov", + "Url": "Naslov URL", + "Use current bounds": "Uporabi trenutne meje", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Uporabi ročnike lastnosti predmetov, pri zapisu podatkov. Vpis {ime} bo dinamično zamenjan z ustrezno vrednostjo.", + "User content credits": "Zasluge za uporabniško vsebino", + "User interface options": "Možnosti uporabniškega vmesnika", + "Versions": "Različice", + "View Fullscreen": "Pokaži v celozaslonskem načinu", + "Where do we go from here?": "Kam naj se usmerimo?", + "Whether to display or not polygons paths.": "Ali naj bodo izrisane daljice mnogokotnika.", + "Whether to fill polygons with color.": "Ali naj bodo mnogokotniki zapolnjeni z barvo.", + "Who can edit": "Kdo lahko ureja", + "Who can view": "Kdo lahko vidi", + "Will be displayed in the bottom right corner of the map": "Prikazan bo v spodnjem desnem kotu zemljevida", + "Will be visible in the caption of the map": "Prikazan bo v naslovu zemljevida", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Opa! Nekdo drug je najverjetneje urejal podatke. Spremembe lahko vseeno shranite, vendar bo to prepisalo spremembe, ustvarjene s strani drugih urednikov.", + "You have unsaved changes.": "Zaznane so neshranjene spremembe.", + "Zoom in": "Približaj", + "Zoom level for automatic zooms": "Raven za samodejno približanje", + "Zoom out": "Oddalji", + "Zoom to layer extent": "Približaj na obseg plasti", + "Zoom to the next": "Približaj na naslednjo točko", + "Zoom to the previous": "Približaj na predhodno točko", + "Zoom to this feature": "Približaj k predmetu", + "Zoom to this place": "Približaj na to mesto", + "attribution": "pripisovanje", + "by": "–", + "display name": "prikazno ime", + "height": "višina", + "licence": "dovoljenje", + "max East": "najbolj vzhodno", + "max North": "najbolj severno", + "max South": "najbolj južno", + "max West": "najbolj zahodno", + "max zoom": "največje približanje", + "min zoom": "največje oddaljanje", + "next": "naslednji", + "previous": "predhodni", + "width": "širina", + "{count} errors during import: {message}": "Zaznane so napake ({count}) med uvozom: {message}", + "Measure distances": "Merjenje razdalj", + "NM": "NM", + "kilometers": "kilometri", + "km": "km", + "mi": "mi", + "miles": "milje", + "nautical miles": "navtične milje", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 dan", + "1 hour": "1 ura", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/sr.js b/umap/static/umap/locale/sr.js new file mode 100644 index 00000000..5e739648 --- /dev/null +++ b/umap/static/umap/locale/sr.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Додај симбол", + "Allow scroll wheel zoom?": "Допусти увећање зумом миша", + "Automatic": "Аутоматско", + "Ball": "Лопта", + "Cancel": "Откажи", + "Caption": "Напомена", + "Change symbol": "Промени симбол", + "Choose the data format": "Одабери формат датума", + "Choose the layer of the feature": "Одабери лејер ", + "Circle": "Круг", + "Clustered": "Clustered", + "Data browser": "Претражи податке", + "Default": "Фабричка подешавања", + "Default zoom level": "Подразумевани ниво зумирања", + "Default: name": "Фабричко: Име", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Желите ли приказати малу карту?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Желите ли приказати скочни прозор у подножју?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Икона симбола", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Ништа", + "On the bottom": "На дну", + "On the left": "На лево", + "On the right": "На десно", + "On the top": "На врху", + "Popup content template": "Popup content template", + "Set symbol": "Постави симбол", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Симбол или url", + "Table": "Табела", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "боја", + "dash array": "dash array", + "define": "define", + "description": "Опис", + "expanded": "expanded", + "fill": "испуна", + "fill color": "боја испуне", + "fill opacity": "прозирност испуне", + "hidden": "сакриј", + "iframe": "iframe", + "inherit": "inherit", + "name": "име", + "never": "никад", + "new window": "нови прозор", + "no": "не", + "on hover": "on hover", + "opacity": "прозирност", + "parent window": "parent window", + "stroke": "линија", + "weight": "дебљина", + "yes": "да", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# једна тараба за главни наслов", + "## two hashes for second heading": "## две тарабе за поднаслов", + "### three hashes for third heading": "### три тарабе за под-поднаслова", + "**double star for bold**": "** две звезвдице за подебљање слова**", + "*simple star for italic*": "* једна стрелица за искошење слова*", + "--- for an horizontal rule": "-- за хоризонталну црту", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Више о", + "Action not allowed :(": "Акција није дозвољена :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Додај лејер", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Напредне акције", + "Advanced properties": "Напредне поставке", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Све поставке су увезене", + "Allow interactions": "Allow interactions", + "An error occured": "Догодила се грешка", + "Are you sure you want to cancel your changes?": "Да ли сте сигурне да желите да откажете промене?", + "Are you sure you want to clone this map and all its datalayers?": "Да ли сте сигурни да желите да умножите мапу и све податке на њој?", + "Are you sure you want to delete the feature?": "Да ли сте сигурни да желите да обришете елемент?", + "Are you sure you want to delete this layer?": "Да ли сте сигурни да желите да обришете лејер?", + "Are you sure you want to delete this map?": "Да ли сте сигурни да желите да обришете мапу?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Аутоматски", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Центрирај елемент", + "Browse data": "Претражи податке", + "Cancel edits": "Откажи промене", + "Center map on your location": "Центрирај мапу на основу локације", + "Change map background": "Промени позадину карте", + "Change tilelayers": "Промени наслов лејера", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Одабери лејер за увоз", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Клик за додавање ознаке", + "Click to continue drawing": "Клик да наставите са цртањем", + "Click to edit": "Клик за уређивање", + "Click to start drawing a line": "Клик да започнете цртање линије", + "Click to start drawing a polygon": "Клик да започнете цртање површине", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Дуплирај елемент", + "Clone this map": "Дуплирај мапу", + "Close": "Затвори", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Координате", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Одаберите позадину", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Фабричке вредности", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Обриши", + "Delete all layers": "Обриши све лејере", + "Delete layer": "Обриши лејер", + "Delete this feature": "Обриши елемент", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Обриши облик", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Онемогући уређивање", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Преузимање", + "Download data": "Преузимање података", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Цртање линије", + "Draw a marker": "Цртање ознаке", + "Draw a polygon": "Цртање површине", + "Draw a polyline": "Цртање изломљене линије", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Уређивање", + "Edit feature's layer": "Уређивање елемента одабраног лејера", + "Edit map properties": "Уређивање мапе", + "Edit map settings": "Уређивање више опција мапе", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Уређивање елемента", + "Editing": "Уређивање", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Омогући уређивање", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Умањи увећање", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Филтер", + "Format": "Формат", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Помоћ", + "Hide controls": "Сакриј контроле", + "Home": "Почетна страна", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Увоз", + "Import data": "Увоз података", + "Import in a new layer": "Увези у новом лејеру", + "Imports all umap data, including layers and settings.": "Увези све податке из мапе, укључујући лејере и подешавања", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Опција интеракције", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Лејер", + "Layer properties": "Layer properties", + "Licence": "Лиценца", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Линк са текстом [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Мапа је сачувана!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Уређивачи мапе", + "Map's owner": "Власник мапе", + "Merge lines": "Merge lines", + "More controls": "Више опција", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Лиценца није постављена", + "No results": "Нема резултата", + "Only visible features will be downloaded.": "Само видљиви лејери ће бити скинути.", + "Open download panel": "Отвори прозор са скидање", + "Open link in…": "Отвори линк у...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Молимо Вас уверите се да је лиценца компатибилна.", + "Please choose a format": "Молимо Вас одаберите формат", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Проблем у препознавању формата", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Упишите URL ", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Сачувај", + "Save anyway": "Сачувај", + "Save current edits": "Сачувај тренутна подешавања", + "Save this center and zoom": "Сачувај подешавања центра и увећања", + "Save this location as new feature": "Сачувај локацију као нови елемент", + "Search a place name": "Претражи локацију", + "Search location": "Претражи локацију", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Види све", + "See data layers": "Прикажи унесене податке", + "See full screen": "Увећана слика", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Својства облика", + "Short URL": "Кратки URL", + "Short credits": "Short credits", + "Show/hide layer": "Прикажи/сакриј лејер", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Започни уређивање", + "Start slideshow": "Start slideshow", + "Stop editing": "Заустави уређивања", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Мапа је центрирана.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Увећај", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Безимени лејер", + "Untitled map": "Безимена мапа", + "Update permissions": "Ажурирај дозволе", + "Update permissions and editors": "Ажурирај дозволе и уреднике", + "Url": "URL", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Заслуге за садржај", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "Прикажи увећано", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Увећај", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Умањи", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Увећај одабрано", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "висина", + "licence": "лиценца", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "максимално увећање", + "min zoom": "минимално увећање", + "next": "следеће", + "previous": "претходно", + "width": "дебљина", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "километри", + "km": "km", + "mi": "mi", + "miles": "миље", + "nautical miles": "наутичке миље", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 дан", + "1 hour": "1 сат", + "5 min": "5 минута", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Опционо", + "Paste your data here": "Прикачите Ваше податке овде", + "Please save the map first": "Молимо Вас сачувајте мапу претходно", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("sr", locale); +L.setLocale("sr"); \ No newline at end of file diff --git a/umap/static/umap/locale/sr.json b/umap/static/umap/locale/sr.json new file mode 100644 index 00000000..6d5e871c --- /dev/null +++ b/umap/static/umap/locale/sr.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Додај симбол", + "Allow scroll wheel zoom?": "Допусти увећање зумом миша", + "Automatic": "Аутоматско", + "Ball": "Лопта", + "Cancel": "Откажи", + "Caption": "Напомена", + "Change symbol": "Промени симбол", + "Choose the data format": "Одабери формат датума", + "Choose the layer of the feature": "Одабери лејер ", + "Circle": "Круг", + "Clustered": "Clustered", + "Data browser": "Претражи податке", + "Default": "Фабричка подешавања", + "Default zoom level": "Подразумевани ниво зумирања", + "Default: name": "Фабричко: Име", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Желите ли приказати малу карту?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Желите ли приказати скочни прозор у подножју?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Икона симбола", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "Ништа", + "On the bottom": "На дну", + "On the left": "На лево", + "On the right": "На десно", + "On the top": "На врху", + "Popup content template": "Popup content template", + "Set symbol": "Постави симбол", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Симбол или url", + "Table": "Табела", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "боја", + "dash array": "dash array", + "define": "define", + "description": "Опис", + "expanded": "expanded", + "fill": "испуна", + "fill color": "боја испуне", + "fill opacity": "прозирност испуне", + "hidden": "сакриј", + "iframe": "iframe", + "inherit": "inherit", + "name": "име", + "never": "никад", + "new window": "нови прозор", + "no": "не", + "on hover": "on hover", + "opacity": "прозирност", + "parent window": "parent window", + "stroke": "линија", + "weight": "дебљина", + "yes": "да", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# једна тараба за главни наслов", + "## two hashes for second heading": "## две тарабе за поднаслов", + "### three hashes for third heading": "### три тарабе за под-поднаслова", + "**double star for bold**": "** две звезвдице за подебљање слова**", + "*simple star for italic*": "* једна стрелица за искошење слова*", + "--- for an horizontal rule": "-- за хоризонталну црту", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Више о", + "Action not allowed :(": "Акција није дозвољена :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Додај лејер", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Напредне акције", + "Advanced properties": "Напредне поставке", + "Advanced transition": "Advanced transition", + "All properties are imported.": "Све поставке су увезене", + "Allow interactions": "Allow interactions", + "An error occured": "Догодила се грешка", + "Are you sure you want to cancel your changes?": "Да ли сте сигурне да желите да откажете промене?", + "Are you sure you want to clone this map and all its datalayers?": "Да ли сте сигурни да желите да умножите мапу и све податке на њој?", + "Are you sure you want to delete the feature?": "Да ли сте сигурни да желите да обришете елемент?", + "Are you sure you want to delete this layer?": "Да ли сте сигурни да желите да обришете лејер?", + "Are you sure you want to delete this map?": "Да ли сте сигурни да желите да обришете мапу?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Аутоматски", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Центрирај елемент", + "Browse data": "Претражи податке", + "Cancel edits": "Откажи промене", + "Center map on your location": "Центрирај мапу на основу локације", + "Change map background": "Промени позадину карте", + "Change tilelayers": "Промени наслов лејера", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Одабери лејер за увоз", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Клик за додавање ознаке", + "Click to continue drawing": "Клик да наставите са цртањем", + "Click to edit": "Клик за уређивање", + "Click to start drawing a line": "Клик да започнете цртање линије", + "Click to start drawing a polygon": "Клик да започнете цртање површине", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Дуплирај елемент", + "Clone this map": "Дуплирај мапу", + "Close": "Затвори", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Координате", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Одаберите позадину", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Фабричке вредности", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Обриши", + "Delete all layers": "Обриши све лејере", + "Delete layer": "Обриши лејер", + "Delete this feature": "Обриши елемент", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Обриши облик", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Онемогући уређивање", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Преузимање", + "Download data": "Преузимање података", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Цртање линије", + "Draw a marker": "Цртање ознаке", + "Draw a polygon": "Цртање површине", + "Draw a polyline": "Цртање изломљене линије", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Уређивање", + "Edit feature's layer": "Уређивање елемента одабраног лејера", + "Edit map properties": "Уређивање мапе", + "Edit map settings": "Уређивање више опција мапе", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Уређивање елемента", + "Editing": "Уређивање", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Омогући уређивање", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Умањи увећање", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Филтер", + "Format": "Формат", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Помоћ", + "Hide controls": "Сакриј контроле", + "Home": "Почетна страна", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Увоз", + "Import data": "Увоз података", + "Import in a new layer": "Увези у новом лејеру", + "Imports all umap data, including layers and settings.": "Увези све податке из мапе, укључујући лејере и подешавања", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Опција интеракције", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Лејер", + "Layer properties": "Layer properties", + "Licence": "Лиценца", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Линк са текстом [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Мапа је сачувана!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Уређивачи мапе", + "Map's owner": "Власник мапе", + "Merge lines": "Merge lines", + "More controls": "Више опција", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "Лиценца није постављена", + "No results": "Нема резултата", + "Only visible features will be downloaded.": "Само видљиви лејери ће бити скинути.", + "Open download panel": "Отвори прозор са скидање", + "Open link in…": "Отвори линк у...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Молимо Вас уверите се да је лиценца компатибилна.", + "Please choose a format": "Молимо Вас одаберите формат", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Проблем у препознавању формата", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Упишите URL ", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Сачувај", + "Save anyway": "Сачувај", + "Save current edits": "Сачувај тренутна подешавања", + "Save this center and zoom": "Сачувај подешавања центра и увећања", + "Save this location as new feature": "Сачувај локацију као нови елемент", + "Search a place name": "Претражи локацију", + "Search location": "Претражи локацију", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "Види све", + "See data layers": "Прикажи унесене податке", + "See full screen": "Увећана слика", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Својства облика", + "Short URL": "Кратки URL", + "Short credits": "Short credits", + "Show/hide layer": "Прикажи/сакриј лејер", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Започни уређивање", + "Start slideshow": "Start slideshow", + "Stop editing": "Заустави уређивања", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Мапа је центрирана.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "Увећај", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Безимени лејер", + "Untitled map": "Безимена мапа", + "Update permissions": "Ажурирај дозволе", + "Update permissions and editors": "Ажурирај дозволе и уреднике", + "Url": "URL", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "Заслуге за садржај", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "Прикажи увећано", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Увећај", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Умањи", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Увећај одабрано", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "висина", + "licence": "лиценца", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "максимално увећање", + "min zoom": "минимално увећање", + "next": "следеће", + "previous": "претходно", + "width": "дебљина", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "километри", + "km": "km", + "mi": "mi", + "miles": "миље", + "nautical miles": "наутичке миље", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 дан", + "1 hour": "1 сат", + "5 min": "5 минута", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Опционо", + "Paste your data here": "Прикачите Ваше податке овде", + "Please save the map first": "Молимо Вас сачувајте мапу претходно", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/sv.js b/umap/static/umap/locale/sv.js new file mode 100644 index 00000000..e457fdd2 --- /dev/null +++ b/umap/static/umap/locale/sv.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Lägg till symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatisk", + "Ball": "Knappnål", + "Cancel": "Avbryt", + "Caption": "Caption", + "Change symbol": "Ändra symbol", + "Choose the data format": "Välj dataformat", + "Choose the layer of the feature": "Välj lager för objektet", + "Circle": "Cirkel", + "Clustered": "Kluster", + "Data browser": "Data browser", + "Default": "Förvalt värde", + "Default zoom level": "Förvald zoomnivå", + "Default: name": "Namn förvalt", + "Display label": "Visa etikett", + "Display the control to open OpenStreetMap editor": "Visa knapp för att öppna OpenStreetMap redigerare", + "Display the data layers control": "Visa verktyg för datalager", + "Display the embed control": "Visa verktyg för att bädda in och dela", + "Display the fullscreen control": "Visa verktyg för fullskärm", + "Display the locate control": "Visa lokaliseringsverktyg", + "Display the measure control": "Visa mätverktyg", + "Display the search control": "Visa sökverktyg", + "Display the tile layers control": "Visa verktyg för tiles (bakgrundslager)", + "Display the zoom control": "Visa zoomverktyg", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Vill du visa en minikarta?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Vill du visa verktyget för skala?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Dropp-nål", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Värmekarta", + "Icon shape": "Ikonform", + "Icon symbol": "Ikonsymbol", + "Inherit": "Ärv", + "Label direction": "Riktning för etikett", + "Label key": "Label key", + "Labels are clickable": "Klickbara etiketter", + "None": "Ingen", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Välj symbol", + "Side panel": "Sidopanel", + "Simplify": "Förenkla", + "Symbol or url": "Symbol or url", + "Table": "Tabell", + "always": "alltid", + "clear": "rensa", + "collapsed": "minimerad", + "color": "färg", + "dash array": "dash array", + "define": "definiera", + "description": "beskrivning", + "expanded": "utökad", + "fill": "fyll", + "fill color": "fyllnadsfärg", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "ram", + "inherit": "ärv", + "name": "namn", + "never": "aldrig", + "new window": "nytt fönster", + "no": "nej", + "on hover": "vid hovring", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "streck", + "weight": "tjocklek", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# en fyrkant för huvudrubrik", + "## two hashes for second heading": "## två fyrkanter för andra rubrik", + "### three hashes for third heading": "### tre fyrkanter för tredje rubrik", + "**double star for bold**": "**dubbla stjärntecken för fetstil**", + "*simple star for italic*": "*enkel stjärna för kursiv stil*", + "--- for an horizontal rule": "--- för ett vågrätt streck", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En kommaseparerad lista med nummer som definierar mönstret för den streckade linjen. Ex: \"5, 10, 15\"", + "About": "Om kartan", + "Action not allowed :(": "Åtgärden är inte tillåten :(", + "Activate slideshow mode": "Aktivera bildspelsläge", + "Add a layer": "Lägg till lager", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Avancerade åtgärder", + "Advanced properties": "Avancerade egenskaper", + "Advanced transition": "Avancerad övergång", + "All properties are imported.": "Alla egenskaper har importerats.", + "Allow interactions": "Tillåt interaktion", + "An error occured": "Ett fel inträffade", + "Are you sure you want to cancel your changes?": "Är du säker på att du vill avbryta dina ändringar?", + "Are you sure you want to clone this map and all its datalayers?": "Är du säker på att du vill skapa en kopia av kartan och alla datalager?", + "Are you sure you want to delete the feature?": "Är du säker på att du vill radera objektet?", + "Are you sure you want to delete this layer?": "Är du säker på att du vill radera lagret?", + "Are you sure you want to delete this map?": "Är du säker på att du vill radera denna karta?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Är du säker på att du vill återställa till den här versionen?", + "Attach the map to my account": "Koppla kartan till mitt konto", + "Auto": "Automatiskt", + "Autostart when map is loaded": "Starta automatiskt när kartan lästs in.", + "Bring feature to center": "Centrera objektet", + "Browse data": "Browse data", + "Cancel edits": "Avbryt ändringar", + "Center map on your location": "Centrera kartan till din plats", + "Change map background": "Ändra kartbakgrund", + "Change tilelayers": "Ändra tile-lager", + "Choose a preset": "Välj förinställning", + "Choose the format of the data to import": "Välj dataformat för importen", + "Choose the layer to import in": "Välj lager att importera till", + "Click last point to finish shape": "Klicka på sista punkten för att slutföra formen", + "Click to add a marker": "Klicka för att lägga till en markör", + "Click to continue drawing": "Klicka för att fortsätta rita", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Klicka för att börja rita en linje", + "Click to start drawing a polygon": "Klicka för att börja rita en polygon", + "Clone": "Clone", + "Clone of {name}": "Kopia av {name}", + "Clone this feature": "Kopiera detta objekt", + "Clone this map": "Skapa en kopia av kartan", + "Close": "Stäng", + "Clustering radius": "Klusterradie", + "Comma separated list of properties to use when filtering features": "Kommaseparerad lista med egenskaper, som används vid filtrering av objekt", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Koordinater", + "Credits": "Credits", + "Current view instead of default map view?": "Nuvarande vy istället för den förinställda vyn?", + "Custom background": "Anpassad bakgrund", + "Data is browsable": "Data is browsable", + "Default interaction options": "Förinställda alternativ för interaktion", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Radera", + "Delete all layers": "Radera alla lager", + "Delete layer": "Radera lager", + "Delete this feature": "Radera objektet", + "Delete this property on all the features": "Ta bort denna egenskap från alla objekt", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Vägbeskrivning härifrån", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Ladda ned", + "Download data": "Ladda ned data", + "Drag to reorder": "Dra för att sortera om", + "Draw a line": "Rita en linje", + "Draw a marker": "Rita en markör", + "Draw a polygon": "Rita en polygon", + "Draw a polyline": "Rita en multilinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiska egenskaper", + "Edit": "Redigera", + "Edit feature's layer": "Redigera objektets lager", + "Edit map properties": "Redigera kartans egenskaper", + "Edit map settings": "Redigera kartans inställningar", + "Edit properties in a table": "Redigera tabellegenskaper", + "Edit this feature": "Redigera objektet", + "Editing": "Redigerar", + "Embed and share this map": "Bädda in och dela den här kartan", + "Embed the map": "Bädda in kartan", + "Empty": "Töm", + "Enable editing": "Aktivera redigering", + "Error in the tilelayer URL": "Fel i webbadressen för tile-lagret", + "Error while fetching {url}": "Fel vid hämtning av {url}", + "Exit Fullscreen": "Lämna helskärmsläge", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Från zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Gå till «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Värmekartans radie", + "Help": "Hjälp", + "Hide controls": "Hide controls", + "Home": "Hem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Alternativ för interaktion", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitud", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Hyperlänk med egen text: [[http://example.com|länktext]", + "Long credits": "Long credits", + "Longitude": "Longitud", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Öppna nedladdningspanelen", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Servern svarade med ett fel", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Ange en webbadress", + "Proxy request": "Proxy request", + "Remote data": "Fjärrdata", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Enkel hyperlänk: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Zoom och centrering har satts.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Uppdatera behörigheter och redaktörer", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoomnivå för automatisk zoom", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licens", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "nästa", + "previous": "föregående", + "width": "bredd", + "{count} errors during import: {message}": "{count} fel under importen: {message}", + "Measure distances": "Mät avstånd", + "NM": "M", + "kilometers": "kilometer", + "km": "km", + "mi": "miles", + "miles": "engelska mil", + "nautical miles": "nautiska mil", + "{area} acres": "{area} acre (ung. tunnland)", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} kvadrat-mile", + "{area} yd²": "{area} kvadratyard", + "{distance} NM": "{distance} M", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} engelska mil", + "{distance} yd": "{distance} yard", + "1 day": "1 dag", + "1 hour": "1 timme", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("sv", locale); +L.setLocale("sv"); \ No newline at end of file diff --git a/umap/static/umap/locale/sv.json b/umap/static/umap/locale/sv.json new file mode 100644 index 00000000..a5c6955f --- /dev/null +++ b/umap/static/umap/locale/sv.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Lägg till symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatisk", + "Ball": "Knappnål", + "Cancel": "Avbryt", + "Caption": "Caption", + "Change symbol": "Ändra symbol", + "Choose the data format": "Välj dataformat", + "Choose the layer of the feature": "Välj lager för objektet", + "Circle": "Cirkel", + "Clustered": "Kluster", + "Data browser": "Data browser", + "Default": "Förvalt värde", + "Default zoom level": "Förvald zoomnivå", + "Default: name": "Namn förvalt", + "Display label": "Visa etikett", + "Display the control to open OpenStreetMap editor": "Visa knapp för att öppna OpenStreetMap redigerare", + "Display the data layers control": "Visa verktyg för datalager", + "Display the embed control": "Visa verktyg för att bädda in och dela", + "Display the fullscreen control": "Visa verktyg för fullskärm", + "Display the locate control": "Visa lokaliseringsverktyg", + "Display the measure control": "Visa mätverktyg", + "Display the search control": "Visa sökverktyg", + "Display the tile layers control": "Visa verktyg för tiles (bakgrundslager)", + "Display the zoom control": "Visa zoomverktyg", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Vill du visa en minikarta?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Vill du visa verktyget för skala?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Dropp-nål", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Värmekarta", + "Icon shape": "Ikonform", + "Icon symbol": "Ikonsymbol", + "Inherit": "Ärv", + "Label direction": "Riktning för etikett", + "Label key": "Label key", + "Labels are clickable": "Klickbara etiketter", + "None": "Ingen", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Välj symbol", + "Side panel": "Sidopanel", + "Simplify": "Förenkla", + "Symbol or url": "Symbol or url", + "Table": "Tabell", + "always": "alltid", + "clear": "rensa", + "collapsed": "minimerad", + "color": "färg", + "dash array": "dash array", + "define": "definiera", + "description": "beskrivning", + "expanded": "utökad", + "fill": "fyll", + "fill color": "fyllnadsfärg", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "ram", + "inherit": "ärv", + "name": "namn", + "never": "aldrig", + "new window": "nytt fönster", + "no": "nej", + "on hover": "vid hovring", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "streck", + "weight": "tjocklek", + "yes": "ja", + "{delay} seconds": "{delay} sekunder", + "# one hash for main heading": "# en fyrkant för huvudrubrik", + "## two hashes for second heading": "## två fyrkanter för andra rubrik", + "### three hashes for third heading": "### tre fyrkanter för tredje rubrik", + "**double star for bold**": "**dubbla stjärntecken för fetstil**", + "*simple star for italic*": "*enkel stjärna för kursiv stil*", + "--- for an horizontal rule": "--- för ett vågrätt streck", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "En kommaseparerad lista med nummer som definierar mönstret för den streckade linjen. Ex: \"5, 10, 15\"", + "About": "Om kartan", + "Action not allowed :(": "Åtgärden är inte tillåten :(", + "Activate slideshow mode": "Aktivera bildspelsläge", + "Add a layer": "Lägg till lager", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Avancerade åtgärder", + "Advanced properties": "Avancerade egenskaper", + "Advanced transition": "Avancerad övergång", + "All properties are imported.": "Alla egenskaper har importerats.", + "Allow interactions": "Tillåt interaktion", + "An error occured": "Ett fel inträffade", + "Are you sure you want to cancel your changes?": "Är du säker på att du vill avbryta dina ändringar?", + "Are you sure you want to clone this map and all its datalayers?": "Är du säker på att du vill skapa en kopia av kartan och alla datalager?", + "Are you sure you want to delete the feature?": "Är du säker på att du vill radera objektet?", + "Are you sure you want to delete this layer?": "Är du säker på att du vill radera lagret?", + "Are you sure you want to delete this map?": "Är du säker på att du vill radera denna karta?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Är du säker på att du vill återställa till den här versionen?", + "Attach the map to my account": "Koppla kartan till mitt konto", + "Auto": "Automatiskt", + "Autostart when map is loaded": "Starta automatiskt när kartan lästs in.", + "Bring feature to center": "Centrera objektet", + "Browse data": "Browse data", + "Cancel edits": "Avbryt ändringar", + "Center map on your location": "Centrera kartan till din plats", + "Change map background": "Ändra kartbakgrund", + "Change tilelayers": "Ändra tile-lager", + "Choose a preset": "Välj förinställning", + "Choose the format of the data to import": "Välj dataformat för importen", + "Choose the layer to import in": "Välj lager att importera till", + "Click last point to finish shape": "Klicka på sista punkten för att slutföra formen", + "Click to add a marker": "Klicka för att lägga till en markör", + "Click to continue drawing": "Klicka för att fortsätta rita", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Klicka för att börja rita en linje", + "Click to start drawing a polygon": "Klicka för att börja rita en polygon", + "Clone": "Clone", + "Clone of {name}": "Kopia av {name}", + "Clone this feature": "Kopiera detta objekt", + "Clone this map": "Skapa en kopia av kartan", + "Close": "Stäng", + "Clustering radius": "Klusterradie", + "Comma separated list of properties to use when filtering features": "Kommaseparerad lista med egenskaper, som används vid filtrering av objekt", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Koordinater", + "Credits": "Credits", + "Current view instead of default map view?": "Nuvarande vy istället för den förinställda vyn?", + "Custom background": "Anpassad bakgrund", + "Data is browsable": "Data is browsable", + "Default interaction options": "Förinställda alternativ för interaktion", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Radera", + "Delete all layers": "Radera alla lager", + "Delete layer": "Radera lager", + "Delete this feature": "Radera objektet", + "Delete this property on all the features": "Ta bort denna egenskap från alla objekt", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Vägbeskrivning härifrån", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Ladda ned", + "Download data": "Ladda ned data", + "Drag to reorder": "Dra för att sortera om", + "Draw a line": "Rita en linje", + "Draw a marker": "Rita en markör", + "Draw a polygon": "Rita en polygon", + "Draw a polyline": "Rita en multilinje", + "Dynamic": "Dynamisk", + "Dynamic properties": "Dynamiska egenskaper", + "Edit": "Redigera", + "Edit feature's layer": "Redigera objektets lager", + "Edit map properties": "Redigera kartans egenskaper", + "Edit map settings": "Redigera kartans inställningar", + "Edit properties in a table": "Redigera tabellegenskaper", + "Edit this feature": "Redigera objektet", + "Editing": "Redigerar", + "Embed and share this map": "Bädda in och dela den här kartan", + "Embed the map": "Bädda in kartan", + "Empty": "Töm", + "Enable editing": "Aktivera redigering", + "Error in the tilelayer URL": "Fel i webbadressen för tile-lagret", + "Error while fetching {url}": "Fel vid hämtning av {url}", + "Exit Fullscreen": "Lämna helskärmsläge", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "Från zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Gå till «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Värmekartans radie", + "Help": "Hjälp", + "Hide controls": "Hide controls", + "Home": "Hem", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Alternativ för interaktion", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitud", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Hyperlänk med egen text: [[http://example.com|länktext]", + "Long credits": "Long credits", + "Longitude": "Longitud", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Öppna nedladdningspanelen", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Servern svarade med ett fel", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Ange en webbadress", + "Proxy request": "Proxy request", + "Remote data": "Fjärrdata", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Enkel hyperlänk: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "Zoom och centrering har satts.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Uppdatera behörigheter och redaktörer", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoomnivå för automatisk zoom", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licens", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "nästa", + "previous": "föregående", + "width": "bredd", + "{count} errors during import: {message}": "{count} fel under importen: {message}", + "Measure distances": "Mät avstånd", + "NM": "M", + "kilometers": "kilometer", + "km": "km", + "mi": "miles", + "miles": "engelska mil", + "nautical miles": "nautiska mil", + "{area} acres": "{area} acre (ung. tunnland)", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} kvadrat-mile", + "{area} yd²": "{area} kvadratyard", + "{distance} NM": "{distance} M", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} engelska mil", + "{distance} yd": "{distance} yard", + "1 day": "1 dag", + "1 hour": "1 timme", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/th_TH.js b/umap/static/umap/locale/th_TH.js new file mode 100644 index 00000000..60a0d2cf --- /dev/null +++ b/umap/static/umap/locale/th_TH.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("th_TH", locale); +L.setLocale("th_TH"); \ No newline at end of file diff --git a/umap/static/umap/locale/th_TH.json b/umap/static/umap/locale/th_TH.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/th_TH.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/tr.js b/umap/static/umap/locale/tr.js new file mode 100644 index 00000000..d6f3f98d --- /dev/null +++ b/umap/static/umap/locale/tr.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Sembol ekle", + "Allow scroll wheel zoom?": "Kaydırma tekerleği yakınlaştırmasına izin verilsin mi?", + "Automatic": "Otomatik", + "Ball": "Top", + "Cancel": "İptal", + "Caption": "Başlık", + "Change symbol": "Sembol değiştir", + "Choose the data format": "Veri biçimini seç", + "Choose the layer of the feature": "Özelliğin katmanını seç", + "Circle": "Daire", + "Clustered": "Kümelenmiş", + "Data browser": "Veri tarayıcı", + "Default": "Varsayılan", + "Default zoom level": "Varsayılan yakınlaştırma seviyesi", + "Default: name": "Varsayılan: adı", + "Display label": "Görüntü etiketi", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (sadece bağlantı)", + "GeoRSS (title + image)": "GeoRSS (başlık + resim)", + "Heatmap": "Sıcaklık haritası", + "Icon shape": "Icon shape", + "Icon symbol": "Simge sembolu", + "Inherit": "Devralır", + "Label direction": "Etiketin yönü", + "Label key": "Etiketin anahtarı", + "Labels are clickable": "Etiketler tıklanabilir", + "None": "Hiç", + "On the bottom": "Altta", + "On the left": "Solda", + "On the right": "Sağda", + "On the top": "Üstte", + "Popup content template": "Popup content template", + "Set symbol": "Sembol seç", + "Side panel": "Yan paneli", + "Simplify": "Basitleştir", + "Symbol or url": "Sembol veya bağlantı", + "Table": "Tablo", + "always": "her zaman", + "clear": "temizle", + "collapsed": "daraltılmış", + "color": "renk", + "dash array": "dash array", + "define": "belirt", + "description": "açıklama", + "expanded": "genişletilmiş", + "fill": "doldur", + "fill color": "dolgu rengi", + "fill opacity": "dolgu şeffaflığı", + "hidden": "saklı", + "iframe": "iframe", + "inherit": "Devralır", + "name": "adı", + "never": "asla", + "new window": "yeni pencere", + "no": "hayır", + "on hover": "üzerinde gezdirince", + "opacity": "şeffaflık", + "parent window": "üst pencere", + "stroke": "kontur", + "weight": "kalınlık", + "yes": "evet", + "{delay} seconds": "{gecikme} saniye", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "Bir hata oluştu", + "Are you sure you want to cancel your changes?": "Değişikliklerinizi iptal etmek istediğinizden emin misiniz?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "İndir", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Haritanın editörleri", + "Map's owner": "Haritanın sahibi", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Bir yerinin adı ara", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Saklı düzenleme bağlantısı şu:
    {link}", + "See all": "See all", + "See data layers": "Veri tabakaları görüntüle", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "İzinleri güncelle", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Kimin düzeltme hakkı var", + "Who can view": "Kimin görüntüleme hakkı var", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Mesafeleri ölçtür", + "NM": "Deniz mil", + "kilometers": "kilometre", + "km": "km", + "mi": "mi", + "miles": "mil", + "nautical miles": "deniz mil", + "{area} acres": "{area} dönüm", + "{area} ha": "{area} hektar", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 gün", + "1 hour": "1 saat", + "5 min": "5 dk", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "İsteğe bağlı", + "Paste your data here": "Veri brada yapıştır", + "Please save the map first": "Lütfen önce haritayı kaydet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("tr", locale); +L.setLocale("tr"); \ No newline at end of file diff --git a/umap/static/umap/locale/tr.json b/umap/static/umap/locale/tr.json new file mode 100644 index 00000000..637e3d6a --- /dev/null +++ b/umap/static/umap/locale/tr.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Sembol ekle", + "Allow scroll wheel zoom?": "Kaydırma tekerleği yakınlaştırmasına izin verilsin mi?", + "Automatic": "Otomatik", + "Ball": "Top", + "Cancel": "İptal", + "Caption": "Başlık", + "Change symbol": "Sembol değiştir", + "Choose the data format": "Veri biçimini seç", + "Choose the layer of the feature": "Özelliğin katmanını seç", + "Circle": "Daire", + "Clustered": "Kümelenmiş", + "Data browser": "Veri tarayıcı", + "Default": "Varsayılan", + "Default zoom level": "Varsayılan yakınlaştırma seviyesi", + "Default: name": "Varsayılan: adı", + "Display label": "Görüntü etiketi", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (sadece bağlantı)", + "GeoRSS (title + image)": "GeoRSS (başlık + resim)", + "Heatmap": "Sıcaklık haritası", + "Icon shape": "Icon shape", + "Icon symbol": "Simge sembolu", + "Inherit": "Devralır", + "Label direction": "Etiketin yönü", + "Label key": "Etiketin anahtarı", + "Labels are clickable": "Etiketler tıklanabilir", + "None": "Hiç", + "On the bottom": "Altta", + "On the left": "Solda", + "On the right": "Sağda", + "On the top": "Üstte", + "Popup content template": "Popup content template", + "Set symbol": "Sembol seç", + "Side panel": "Yan paneli", + "Simplify": "Basitleştir", + "Symbol or url": "Sembol veya bağlantı", + "Table": "Tablo", + "always": "her zaman", + "clear": "temizle", + "collapsed": "daraltılmış", + "color": "renk", + "dash array": "dash array", + "define": "belirt", + "description": "açıklama", + "expanded": "genişletilmiş", + "fill": "doldur", + "fill color": "dolgu rengi", + "fill opacity": "dolgu şeffaflığı", + "hidden": "saklı", + "iframe": "iframe", + "inherit": "Devralır", + "name": "adı", + "never": "asla", + "new window": "yeni pencere", + "no": "hayır", + "on hover": "üzerinde gezdirince", + "opacity": "şeffaflık", + "parent window": "üst pencere", + "stroke": "kontur", + "weight": "kalınlık", + "yes": "evet", + "{delay} seconds": "{gecikme} saniye", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "Bir hata oluştu", + "Are you sure you want to cancel your changes?": "Değişikliklerinizi iptal etmek istediğinizden emin misiniz?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "İndir", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Haritanın editörleri", + "Map's owner": "Haritanın sahibi", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Bir yerinin adı ara", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Saklı düzenleme bağlantısı şu:
    {link}", + "See all": "See all", + "See data layers": "Veri tabakaları görüntüle", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "İzinleri güncelle", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Kimin düzeltme hakkı var", + "Who can view": "Kimin görüntüleme hakkı var", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Mesafeleri ölçtür", + "NM": "Deniz mil", + "kilometers": "kilometre", + "km": "km", + "mi": "mi", + "miles": "mil", + "nautical miles": "deniz mil", + "{area} acres": "{area} dönüm", + "{area} ha": "{area} hektar", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 gün", + "1 hour": "1 saat", + "5 min": "5 dk", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "İsteğe bağlı", + "Paste your data here": "Veri brada yapıştır", + "Please save the map first": "Lütfen önce haritayı kaydet", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/uk_UA.js b/umap/static/umap/locale/uk_UA.js new file mode 100644 index 00000000..58f2bf10 --- /dev/null +++ b/umap/static/umap/locale/uk_UA.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Додати зображення", + "Allow scroll wheel zoom?": "Дозволити зміну масштабу колесом миші?", + "Automatic": "Автоматично", + "Ball": "Шпилька", + "Cancel": "Скасувати", + "Caption": "Заголовок", + "Change symbol": "Змінити зображення", + "Choose the data format": "Виберіть формат даних", + "Choose the layer of the feature": "Виберіть шар для об’єкта", + "Circle": "Коло", + "Clustered": "Кластеризованний", + "Data browser": "Оглядач даних", + "Default": "Типово", + "Default zoom level": "Типовий масштаб", + "Default: name": "Типова назва", + "Display label": "Показувати підписи", + "Display the control to open OpenStreetMap editor": "Показувати кнопку переходу в редактор OpenStreetMap", + "Display the data layers control": "Показувати перемикач шарів даних", + "Display the embed control": "Показувати вбудовані елементи керування", + "Display the fullscreen control": "Показувати перемикач повноекранного режиму", + "Display the locate control": "Показувати кнопку визначення місцезнаходження", + "Display the measure control": "Показувати інструменти вимірювання", + "Display the search control": "Показувати засоби для пошуку", + "Display the tile layers control": "Показувати перемикач шарів", + "Display the zoom control": "Показувати елементи керування масштабуванням", + "Do you want to display a caption bar?": "Показувати рядок заголовку?", + "Do you want to display a minimap?": "Показувати мінімапу?", + "Do you want to display a panel on load?": "Показувати панель керування при завантаженні?", + "Do you want to display popup footer?": "Хочете використовувати спливаючу підказку знизу?", + "Do you want to display the scale control?": "Показувати шкалу відстаней?", + "Do you want to display the «more» control?": "Показувати кнопку «Більше»?", + "Drop": "Крапля", + "GeoRSS (only link)": "GeoRSS (лише посилання)", + "GeoRSS (title + image)": "GeoRSS (заголовок та зображення)", + "Heatmap": "Теплова мапа", + "Icon shape": "Форма значка", + "Icon symbol": "Символ значка", + "Inherit": "Успадковувати", + "Label direction": "Напрямок підпису", + "Label key": "Підпис ключа", + "Labels are clickable": "Мітки клікабельні", + "None": "Ні", + "On the bottom": "Знизу", + "On the left": "Ліворуч", + "On the right": "Праворуч", + "On the top": "Зверху", + "Popup content template": "Шаблон спливаючої підказки", + "Set symbol": "Вибрати значок", + "Side panel": "Бічна панель", + "Simplify": "Спростити", + "Symbol or url": "Значок чи URL", + "Table": "Таблиця", + "always": "завжди", + "clear": "очистити", + "collapsed": "згорнуто", + "color": "колір", + "dash array": "штрихи", + "define": "визначити", + "description": "опис", + "expanded": "розгорнуто", + "fill": "заливка", + "fill color": "колір заливки", + "fill opacity": "непрозорість заливки", + "hidden": "приховано", + "iframe": "iframe", + "inherit": "успадковувати", + "name": "назва", + "never": "ніколи", + "new window": "new window", + "no": "ні", + "on hover": "при наведенні", + "opacity": "непрозорість", + "parent window": "батьківське вікно", + "stroke": "штрихи", + "weight": "товщина", + "yes": "так", + "{delay} seconds": "{delay} секунди", + "# one hash for main heading": "# один знак решітки — основний заголовок", + "## two hashes for second heading": "## два знаки решітки — підзаголовок", + "### three hashes for third heading": "### три знаки решітки — підзаголовок підзаголовка", + "**double star for bold**": "**подвійні зірочки — жирний**", + "*simple star for italic*": "*одинарні зірочки — курсив*", + "--- for an horizontal rule": "--- горизонтальна лінія", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Розділені комами числа, що представляють шаблон довжини штрихів та проміжків пунктирної лінії. Напр.: \"5, 10,15\".", + "About": "Про це", + "Action not allowed :(": "Дія недоступна :(", + "Activate slideshow mode": "Активувати режим слайдшоу", + "Add a layer": "Додати шар", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Додати новий параметр", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Додаткові дії", + "Advanced properties": "Розширенні параметри", + "Advanced transition": "Розширені переходи", + "All properties are imported.": "Усі параметри імпортовано.", + "Allow interactions": "Дозволити взаємодію", + "An error occured": "Виникла помилка", + "Are you sure you want to cancel your changes?": "Ви впевнені, що хочете скасувати зроблені зміни?", + "Are you sure you want to clone this map and all its datalayers?": "Ви впевнені, що бажаєте скопіювати цю мапу з її усіма даними", + "Are you sure you want to delete the feature?": "Ви впевнені, що хочете вилучити об’єкт?", + "Are you sure you want to delete this layer?": "Ви впевнені, що хочете вилучити цей шар?", + "Are you sure you want to delete this map?": "Ви впевнені, що хочете вилучити мапу?", + "Are you sure you want to delete this property on all the features?": "Ви впевнені, що хочете вилучити цей параметр у всіх об’єктів?", + "Are you sure you want to restore this version?": "Ви впевнені, що хочете відновити цю версію?", + "Attach the map to my account": "Додати мапу до мого облікового запису", + "Auto": "Автоматично", + "Autostart when map is loaded": "Автозапуск при завантаженні мапи", + "Bring feature to center": "Помістити об’єкт в центр", + "Browse data": "Огляд даних", + "Cancel edits": "Скасувати правки", + "Center map on your location": "Центрувати мапу за Вашим місцем розташування", + "Change map background": "Змінити фонову мапу", + "Change tilelayers": "Вибрати фонові шари", + "Choose a preset": "Виберіть шаблон", + "Choose the format of the data to import": "Виберіть формат даних для імпорту", + "Choose the layer to import in": "Виберіть шар для імпорту в нього", + "Click last point to finish shape": "Клацніть на останній точці, щоб завершити", + "Click to add a marker": "Клацніть, щоб додати позначку", + "Click to continue drawing": "Клацайте, щоб продовжити креслення", + "Click to edit": "Натисніть для редагування", + "Click to start drawing a line": "Клацайте, щоб продовжити креслення", + "Click to start drawing a polygon": "Клацніть, щоб почати креслення багатокутника", + "Clone": "Створити копію", + "Clone of {name}": "Копія {name}", + "Clone this feature": "Клонувати цей об’єкт", + "Clone this map": "Створити копію мапи", + "Close": "Закрити", + "Clustering radius": "Радіус кластеризації", + "Comma separated list of properties to use when filtering features": "Список параметрів, розділених комами, для використання при фільтрації", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Як роздільник використовуються коми, табуляції і крапки з комою. Застосовується датум WGS84. Імпорт переглядає заголовок на наявність полів «lat» та «lon», регістр не має значення. Усі інші поля імпортуються як параметри.", + "Continue line": "Продовжити лінію", + "Continue line (Ctrl+Click)": "Продовжити лінію (Ctrl+клацання)", + "Coordinates": "Координати", + "Credits": "Авторські права / подяки", + "Current view instead of default map view?": "Поточний вид замість типового виду мапи?", + "Custom background": "Користувацька фонова мапа", + "Data is browsable": "Дані можна переглядати", + "Default interaction options": "Типові параметри взаємодії", + "Default properties": "Типові параметри", + "Default shape properties": "Типові параметри полігону", + "Define link to open in a new window on polygon click.": "Задати посилання для відкриття нового вікна при клацанні на полігоні.", + "Delay between two transitions when in play mode": "Затримка між переходами в режими відтворення", + "Delete": "Вилучити", + "Delete all layers": "Вилучити всі шари", + "Delete layer": "Вилучити шар", + "Delete this feature": "Вилучити цей об’єкт", + "Delete this property on all the features": "Вилучити цей параметр у всіх об’єктів", + "Delete this shape": "Вилучити цей полігон", + "Delete this vertex (Alt+Click)": "Вилучити цю вершину (Alt+клік)", + "Directions from here": "Маршрут звідси", + "Disable editing": "Вимкнути редагування", + "Display measure": "Показати вимірювання", + "Display on load": "Показувати під час завантаження", + "Download": "Звантажити", + "Download data": "Звантажити дані", + "Drag to reorder": "Перетягніть, щоб змінити порядок", + "Draw a line": "Креслити лінію", + "Draw a marker": "Додати позначку", + "Draw a polygon": "Накреслити полігон", + "Draw a polyline": "Накреслити ламану", + "Dynamic": "Динамічний", + "Dynamic properties": "Динамічні властивості", + "Edit": "Редагувати", + "Edit feature's layer": "Змінити шар об’єкту", + "Edit map properties": "Змінити параметри мапи", + "Edit map settings": "Змінити налаштування мапи", + "Edit properties in a table": "Редагувати параметри в таблиці", + "Edit this feature": "Редагувати цей об’єкт", + "Editing": "Редагування", + "Embed and share this map": "Вбудувати мапу та поділитися нею", + "Embed the map": "Вбудувати мапу", + "Empty": "Очистити", + "Enable editing": "Увімкнути редагування", + "Error in the tilelayer URL": "Помилка в посиланні на шар мапи", + "Error while fetching {url}": "Помилка при отриманні {url}", + "Exit Fullscreen": "Вийти з повноекранного режиму", + "Extract shape to separate feature": "Виокремити полігон в окремий об’єкт", + "Fetch data each time map view changes.": "Запитувати нові дані під час кожного оновлення мапи.", + "Filter keys": "Фільтрувати ключі", + "Filter…": "Фільтр…", + "Format": "Формат", + "From zoom": "З масштабу", + "Full map data": "Дані мапи", + "Go to «{feature}»": "Перейти до «{feature}»", + "Heatmap intensity property": "Параметр інтенсивності теплової мапи", + "Heatmap radius": "Радіус для теплової мапи", + "Help": "Довідка", + "Hide controls": "Прибрати елементи керування", + "Home": "Головна", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Наскільки сильно спрощувати лінії на кожному масштабі (більше значення — більша швидкість, але виглядає гірше; менше значення — більш точне зображення)", + "If false, the polygon will act as a part of the underlying map.": "Якщо ні, тоді полігон буде виглядати як частина мапи", + "Iframe export options": "Параметри експорту для Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe із зазначенням висоти (в пікселях): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe з власними висотою та шириною (у пікселях): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Зображення із зазначенням ширини (в пікселях): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Зображення: {{http://image.url.com}}", + "Import": "Імпорт", + "Import data": "Імпорт даних", + "Import in a new layer": "Імпортувати в новий шар", + "Imports all umap data, including layers and settings.": "Імпортувати всі дані, включаючи інформацію про шари та налаштування.", + "Include full screen link?": "Долучити посилання на повноекранний вид?", + "Interaction options": "Параметри взаємодії", + "Invalid umap data": "Невірні umap-дані ", + "Invalid umap data in {filename}": "Невірні umap-дані у файлі {filename}", + "Keep current visible layers": "Залишити поточні видимі шари", + "Latitude": "Широта", + "Layer": "Шар", + "Layer properties": "Параметри шару", + "Licence": "Ліцензія", + "Limit bounds": "Встановлення меж", + "Link to…": "Послатись…", + "Link with text: [[http://example.com|text of the link]]": "Посилання з текстом: [[http://example.com|текст для посилання]]", + "Long credits": "Повний опис прав/подяки", + "Longitude": "Довгота", + "Make main shape": "Утворити основну форму", + "Manage layers": "Керування шарами", + "Map background credits": "Права/подяки на фонову мапу", + "Map has been attached to your account": "Мапа була прикріплена до Вашого облікового запису", + "Map has been saved!": "Мапу збережено!", + "Map user content has been published under licence": "Картографічні дані користувача опубліковані згідно ліцензії", + "Map's editors": "Редактори мапи", + "Map's owner": "Власник мапи", + "Merge lines": "Об’єднати лінії", + "More controls": "Інші елементи керування", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Повинно бути чинне CSS-значення (на кшталт DarkBlue чи #123456)", + "No licence has been set": "Ліцензію не було зазначено", + "No results": "Немає результатів", + "Only visible features will be downloaded.": "Будуть завантажені лише видимі об’єкти.", + "Open download panel": "Відкрити панель звантаження", + "Open link in…": "Відкрити посилання у…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Відкрийте цю частину мапи в редакторі OpenStreetMap, щоб поліпшити дані", + "Optional intensity property for heatmap": "Додаткові параметри інтенсивності теплової мапи", + "Optional. Same as color if not set.": "Додатково. Якщо не вибрано, то як колір.", + "Override clustering radius (default 80)": "Перевизначити радіус кластеризації (типово 80)", + "Override heatmap radius (default 25)": "Перевизначити радіус для теплової мапи (типово 25)", + "Please be sure the licence is compliant with your use.": "Переконайтеся, що ліцензія відповідає правилам використання.", + "Please choose a format": "Будь ласка, виберіть формат", + "Please enter the name of the property": "Будь ласка, введіть назву параметра", + "Please enter the new name of this property": "Будь ласка, введіть нову назву параметра", + "Powered by Leaflet and Django, glued by uMap project.": "Працює на Leaflet та Django, в проєкті uMap.", + "Problem in the response": "Проблема з відповіддю", + "Problem in the response format": "Формат відповіді не розпізнано", + "Properties imported:": "Імпортовані параметри:", + "Property to use for sorting features": "Параметри для сортування об’єктів", + "Provide an URL here": "Вкажіть посилання тут", + "Proxy request": "Запит проксі", + "Remote data": "Віддалені дані", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Перейменувати цей параметр у всіх об’єктів", + "Replace layer content": "Замінити вміст шару", + "Restore this version": "Відновити цю версію", + "Save": "Зберегти", + "Save anyway": "Зберегти в будь-якому випадку", + "Save current edits": "Зберегти поточні правки", + "Save this center and zoom": "Зберегти такі центрування та масштаб", + "Save this location as new feature": "Зберегти місце розташування як новий об’єкт", + "Search a place name": "Шукати назву місця", + "Search location": "Пошук місця", + "Secret edit link is:
    {link}": "Секретне посилання для редагування:
    {link}", + "See all": "Переглянути усе", + "See data layers": "Подивитися шари даних", + "See full screen": "Дивитися в повноекранному режимі", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Встановіть false, щоб приховати шар в слайдшоу, в перегляді даних та навігації…", + "Shape properties": "Параметри полігона", + "Short URL": "Коротке посилання", + "Short credits": "Короткий опис прав/подяки", + "Show/hide layer": "Показати/приховати шар", + "Simple link: [[http://example.com]]": "Просте посилання: [[http://example.com]]", + "Slideshow": "Слайдшоу", + "Smart transitions": "Розумні переходи", + "Sort key": "Ключ сортування", + "Split line": "Розрізати лінію", + "Start a hole here": "Почати отвір звідси", + "Start editing": "Почати редагування", + "Start slideshow": "Почати слайдшоу", + "Stop editing": "Зупинити редагування", + "Stop slideshow": "Зупинити слайдшоу", + "Supported scheme": "Підтримувана схема", + "Supported variables that will be dynamically replaced": "Підтримувані змінні для автоматичної заміни", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Значок може бути як юнікод-символом так і URL. Ви можете використовувати параметри об'єктів як змінні. Наприклад, в \"http://myserver.org/images/{name}.png\", змінна {name} буде замінена значенням поля \"name\" кожної мітки на мапі.", + "TMS format": "Формат TMS", + "Text color for the cluster label": "Колір тексту для позначок кластера", + "Text formatting": "Форматування тексту", + "The name of the property to use as feature label (ex.: \"nom\")": "Назва параметру для використання в якості мітки об’єкта (напр.: „nom“)", + "The zoom and center have been setted.": "Масштаб й центрування виставлені", + "To use if remote server doesn't allow cross domain (slower)": "Якщо віддалений сервер не дозволяє крос-домен (повільно)", + "To zoom": "Масштабувати", + "Toggle edit mode (Shift+Click)": "Перейти у режим редагування (Shift+клац)", + "Transfer shape to edited feature": "Перетворити полігон у редагований об’єкт", + "Transform to lines": "Перетворити на лінію", + "Transform to polygon": "Перетворити на полігон", + "Type of layer": "Тип шару", + "Unable to detect format of file {filename}": "Не вдається визначити формат файлу {filename}", + "Untitled layer": "Шар без назви", + "Untitled map": "Безіменна мапа", + "Update permissions": "Оновити дозволи", + "Update permissions and editors": "Налаштувати привілеї та редакторів", + "Url": "Посилання", + "Use current bounds": "Використовувати поточні межі", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Використовуйте змінні в дужках з властивостями об’єктів, наприклад, {name}, вони будуть автоматично замінені відповідними значеннями.", + "User content credits": "Права/подяки на користувацькі дані", + "User interface options": "Налаштування інтерфейсу", + "Versions": "Версії", + "View Fullscreen": "Перегляд на повний екран", + "Where do we go from here?": "Що можна зробити з мапою далі?", + "Whether to display or not polygons paths.": "Показувати чи ні контур полігону.", + "Whether to fill polygons with color.": "Зафарбовувати чи ні полігони.", + "Who can edit": "Хто може редагувати", + "Who can view": "Хто може редагувати", + "Will be displayed in the bottom right corner of the map": "Буде показано в правому нижньому кутку мапи", + "Will be visible in the caption of the map": "Буде показано у заголовку мапи", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Упс! Схоже, хтось інший теж редагує ці дані. Ви можете зберегти свої правки, але це знищить правки іншого учасника.", + "You have unsaved changes.": "У Вас є незбережені зміни.", + "Zoom in": "Збільшити масштаб", + "Zoom level for automatic zooms": "Рівень масштабу для автоматичного масштабування", + "Zoom out": "Зменшити масштаб", + "Zoom to layer extent": "Масштабувати до кордонів шару", + "Zoom to the next": "Наблизитися до наступного", + "Zoom to the previous": "Наблизитися до попереднього", + "Zoom to this feature": "Наблизитися до цього об’єкта", + "Zoom to this place": "Наблизити до цього місця", + "attribution": "attribution", + "by": "від", + "display name": "показана назва", + "height": "висота", + "licence": "ліцензія", + "max East": "макс. на схід", + "max North": "макс. на північ", + "max South": "макс. на південь", + "max West": "макс. на захід", + "max zoom": "максимальний масштаб", + "min zoom": "мінімальний масштаб", + "next": "далі", + "previous": "назад", + "width": "ширина", + "{count} errors during import: {message}": "{count} помилок під час імпорту: {message}", + "Measure distances": "Виміряти відстань", + "NM": "NM", + "kilometers": "кілометрів", + "km": "км", + "mi": "миля", + "miles": "миль", + "nautical miles": "морських миль", + "{area} acres": "{area} акрів", + "{area} ha": " {area} гектар", + "{area} m²": "{area} м²", + "{area} mi²": " {area} миль²", + "{area} yd²": " {area} ярд²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} км", + "{distance} m": "{distance} м", + "{distance} miles": " {distance} миль", + "{distance} yd": " {distance} ярдів", + "1 day": "1 день", + "1 hour": "1 година", + "5 min": "5 хвилин", + "Cache proxied request": "Кешувати запити", + "No cache": "Кешу немає", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Пропускаємо невідоме значення geometry.type: {type}", + "Optional.": "Необов’язково.", + "Paste your data here": "Вставте ваші дані тут", + "Please save the map first": "Спочатку збережіть вашу мапу", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("uk_UA", locale); +L.setLocale("uk_UA"); \ No newline at end of file diff --git a/umap/static/umap/locale/uk_UA.json b/umap/static/umap/locale/uk_UA.json new file mode 100644 index 00000000..2b1bcaa1 --- /dev/null +++ b/umap/static/umap/locale/uk_UA.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Додати зображення", + "Allow scroll wheel zoom?": "Дозволити зміну масштабу колесом миші?", + "Automatic": "Автоматично", + "Ball": "Шпилька", + "Cancel": "Скасувати", + "Caption": "Заголовок", + "Change symbol": "Змінити зображення", + "Choose the data format": "Виберіть формат даних", + "Choose the layer of the feature": "Виберіть шар для об’єкта", + "Circle": "Коло", + "Clustered": "Кластеризованний", + "Data browser": "Оглядач даних", + "Default": "Типово", + "Default zoom level": "Типовий масштаб", + "Default: name": "Типова назва", + "Display label": "Показувати підписи", + "Display the control to open OpenStreetMap editor": "Показувати кнопку переходу в редактор OpenStreetMap", + "Display the data layers control": "Показувати перемикач шарів даних", + "Display the embed control": "Показувати вбудовані елементи керування", + "Display the fullscreen control": "Показувати перемикач повноекранного режиму", + "Display the locate control": "Показувати кнопку визначення місцезнаходження", + "Display the measure control": "Показувати інструменти вимірювання", + "Display the search control": "Показувати засоби для пошуку", + "Display the tile layers control": "Показувати перемикач шарів", + "Display the zoom control": "Показувати елементи керування масштабуванням", + "Do you want to display a caption bar?": "Показувати рядок заголовку?", + "Do you want to display a minimap?": "Показувати мінімапу?", + "Do you want to display a panel on load?": "Показувати панель керування при завантаженні?", + "Do you want to display popup footer?": "Хочете використовувати спливаючу підказку знизу?", + "Do you want to display the scale control?": "Показувати шкалу відстаней?", + "Do you want to display the «more» control?": "Показувати кнопку «Більше»?", + "Drop": "Крапля", + "GeoRSS (only link)": "GeoRSS (лише посилання)", + "GeoRSS (title + image)": "GeoRSS (заголовок та зображення)", + "Heatmap": "Теплова мапа", + "Icon shape": "Форма значка", + "Icon symbol": "Символ значка", + "Inherit": "Успадковувати", + "Label direction": "Напрямок підпису", + "Label key": "Підпис ключа", + "Labels are clickable": "Мітки клікабельні", + "None": "Ні", + "On the bottom": "Знизу", + "On the left": "Ліворуч", + "On the right": "Праворуч", + "On the top": "Зверху", + "Popup content template": "Шаблон спливаючої підказки", + "Set symbol": "Вибрати значок", + "Side panel": "Бічна панель", + "Simplify": "Спростити", + "Symbol or url": "Значок чи URL", + "Table": "Таблиця", + "always": "завжди", + "clear": "очистити", + "collapsed": "згорнуто", + "color": "колір", + "dash array": "штрихи", + "define": "визначити", + "description": "опис", + "expanded": "розгорнуто", + "fill": "заливка", + "fill color": "колір заливки", + "fill opacity": "непрозорість заливки", + "hidden": "приховано", + "iframe": "iframe", + "inherit": "успадковувати", + "name": "назва", + "never": "ніколи", + "new window": "new window", + "no": "ні", + "on hover": "при наведенні", + "opacity": "непрозорість", + "parent window": "батьківське вікно", + "stroke": "штрихи", + "weight": "товщина", + "yes": "так", + "{delay} seconds": "{delay} секунди", + "# one hash for main heading": "# один знак решітки — основний заголовок", + "## two hashes for second heading": "## два знаки решітки — підзаголовок", + "### three hashes for third heading": "### три знаки решітки — підзаголовок підзаголовка", + "**double star for bold**": "**подвійні зірочки — жирний**", + "*simple star for italic*": "*одинарні зірочки — курсив*", + "--- for an horizontal rule": "--- горизонтальна лінія", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Розділені комами числа, що представляють шаблон довжини штрихів та проміжків пунктирної лінії. Напр.: \"5, 10,15\".", + "About": "Про це", + "Action not allowed :(": "Дія недоступна :(", + "Activate slideshow mode": "Активувати режим слайдшоу", + "Add a layer": "Додати шар", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Додати новий параметр", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Додаткові дії", + "Advanced properties": "Розширенні параметри", + "Advanced transition": "Розширені переходи", + "All properties are imported.": "Усі параметри імпортовано.", + "Allow interactions": "Дозволити взаємодію", + "An error occured": "Виникла помилка", + "Are you sure you want to cancel your changes?": "Ви впевнені, що хочете скасувати зроблені зміни?", + "Are you sure you want to clone this map and all its datalayers?": "Ви впевнені, що бажаєте скопіювати цю мапу з її усіма даними", + "Are you sure you want to delete the feature?": "Ви впевнені, що хочете вилучити об’єкт?", + "Are you sure you want to delete this layer?": "Ви впевнені, що хочете вилучити цей шар?", + "Are you sure you want to delete this map?": "Ви впевнені, що хочете вилучити мапу?", + "Are you sure you want to delete this property on all the features?": "Ви впевнені, що хочете вилучити цей параметр у всіх об’єктів?", + "Are you sure you want to restore this version?": "Ви впевнені, що хочете відновити цю версію?", + "Attach the map to my account": "Додати мапу до мого облікового запису", + "Auto": "Автоматично", + "Autostart when map is loaded": "Автозапуск при завантаженні мапи", + "Bring feature to center": "Помістити об’єкт в центр", + "Browse data": "Огляд даних", + "Cancel edits": "Скасувати правки", + "Center map on your location": "Центрувати мапу за Вашим місцем розташування", + "Change map background": "Змінити фонову мапу", + "Change tilelayers": "Вибрати фонові шари", + "Choose a preset": "Виберіть шаблон", + "Choose the format of the data to import": "Виберіть формат даних для імпорту", + "Choose the layer to import in": "Виберіть шар для імпорту в нього", + "Click last point to finish shape": "Клацніть на останній точці, щоб завершити", + "Click to add a marker": "Клацніть, щоб додати позначку", + "Click to continue drawing": "Клацайте, щоб продовжити креслення", + "Click to edit": "Натисніть для редагування", + "Click to start drawing a line": "Клацайте, щоб продовжити креслення", + "Click to start drawing a polygon": "Клацніть, щоб почати креслення багатокутника", + "Clone": "Створити копію", + "Clone of {name}": "Копія {name}", + "Clone this feature": "Клонувати цей об’єкт", + "Clone this map": "Створити копію мапи", + "Close": "Закрити", + "Clustering radius": "Радіус кластеризації", + "Comma separated list of properties to use when filtering features": "Список параметрів, розділених комами, для використання при фільтрації", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Як роздільник використовуються коми, табуляції і крапки з комою. Застосовується датум WGS84. Імпорт переглядає заголовок на наявність полів «lat» та «lon», регістр не має значення. Усі інші поля імпортуються як параметри.", + "Continue line": "Продовжити лінію", + "Continue line (Ctrl+Click)": "Продовжити лінію (Ctrl+клацання)", + "Coordinates": "Координати", + "Credits": "Авторські права / подяки", + "Current view instead of default map view?": "Поточний вид замість типового виду мапи?", + "Custom background": "Користувацька фонова мапа", + "Data is browsable": "Дані можна переглядати", + "Default interaction options": "Типові параметри взаємодії", + "Default properties": "Типові параметри", + "Default shape properties": "Типові параметри полігону", + "Define link to open in a new window on polygon click.": "Задати посилання для відкриття нового вікна при клацанні на полігоні.", + "Delay between two transitions when in play mode": "Затримка між переходами в режими відтворення", + "Delete": "Вилучити", + "Delete all layers": "Вилучити всі шари", + "Delete layer": "Вилучити шар", + "Delete this feature": "Вилучити цей об’єкт", + "Delete this property on all the features": "Вилучити цей параметр у всіх об’єктів", + "Delete this shape": "Вилучити цей полігон", + "Delete this vertex (Alt+Click)": "Вилучити цю вершину (Alt+клік)", + "Directions from here": "Маршрут звідси", + "Disable editing": "Вимкнути редагування", + "Display measure": "Показати вимірювання", + "Display on load": "Показувати під час завантаження", + "Download": "Звантажити", + "Download data": "Звантажити дані", + "Drag to reorder": "Перетягніть, щоб змінити порядок", + "Draw a line": "Креслити лінію", + "Draw a marker": "Додати позначку", + "Draw a polygon": "Накреслити полігон", + "Draw a polyline": "Накреслити ламану", + "Dynamic": "Динамічний", + "Dynamic properties": "Динамічні властивості", + "Edit": "Редагувати", + "Edit feature's layer": "Змінити шар об’єкту", + "Edit map properties": "Змінити параметри мапи", + "Edit map settings": "Змінити налаштування мапи", + "Edit properties in a table": "Редагувати параметри в таблиці", + "Edit this feature": "Редагувати цей об’єкт", + "Editing": "Редагування", + "Embed and share this map": "Вбудувати мапу та поділитися нею", + "Embed the map": "Вбудувати мапу", + "Empty": "Очистити", + "Enable editing": "Увімкнути редагування", + "Error in the tilelayer URL": "Помилка в посиланні на шар мапи", + "Error while fetching {url}": "Помилка при отриманні {url}", + "Exit Fullscreen": "Вийти з повноекранного режиму", + "Extract shape to separate feature": "Виокремити полігон в окремий об’єкт", + "Fetch data each time map view changes.": "Запитувати нові дані під час кожного оновлення мапи.", + "Filter keys": "Фільтрувати ключі", + "Filter…": "Фільтр…", + "Format": "Формат", + "From zoom": "З масштабу", + "Full map data": "Дані мапи", + "Go to «{feature}»": "Перейти до «{feature}»", + "Heatmap intensity property": "Параметр інтенсивності теплової мапи", + "Heatmap radius": "Радіус для теплової мапи", + "Help": "Довідка", + "Hide controls": "Прибрати елементи керування", + "Home": "Головна", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "Наскільки сильно спрощувати лінії на кожному масштабі (більше значення — більша швидкість, але виглядає гірше; менше значення — більш точне зображення)", + "If false, the polygon will act as a part of the underlying map.": "Якщо ні, тоді полігон буде виглядати як частина мапи", + "Iframe export options": "Параметри експорту для Iframe", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe із зазначенням висоти (в пікселях): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe з власними висотою та шириною (у пікселях): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Зображення із зазначенням ширини (в пікселях): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Зображення: {{http://image.url.com}}", + "Import": "Імпорт", + "Import data": "Імпорт даних", + "Import in a new layer": "Імпортувати в новий шар", + "Imports all umap data, including layers and settings.": "Імпортувати всі дані, включаючи інформацію про шари та налаштування.", + "Include full screen link?": "Долучити посилання на повноекранний вид?", + "Interaction options": "Параметри взаємодії", + "Invalid umap data": "Невірні umap-дані ", + "Invalid umap data in {filename}": "Невірні umap-дані у файлі {filename}", + "Keep current visible layers": "Залишити поточні видимі шари", + "Latitude": "Широта", + "Layer": "Шар", + "Layer properties": "Параметри шару", + "Licence": "Ліцензія", + "Limit bounds": "Встановлення меж", + "Link to…": "Послатись…", + "Link with text: [[http://example.com|text of the link]]": "Посилання з текстом: [[http://example.com|текст для посилання]]", + "Long credits": "Повний опис прав/подяки", + "Longitude": "Довгота", + "Make main shape": "Утворити основну форму", + "Manage layers": "Керування шарами", + "Map background credits": "Права/подяки на фонову мапу", + "Map has been attached to your account": "Мапа була прикріплена до Вашого облікового запису", + "Map has been saved!": "Мапу збережено!", + "Map user content has been published under licence": "Картографічні дані користувача опубліковані згідно ліцензії", + "Map's editors": "Редактори мапи", + "Map's owner": "Власник мапи", + "Merge lines": "Об’єднати лінії", + "More controls": "Інші елементи керування", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Повинно бути чинне CSS-значення (на кшталт DarkBlue чи #123456)", + "No licence has been set": "Ліцензію не було зазначено", + "No results": "Немає результатів", + "Only visible features will be downloaded.": "Будуть завантажені лише видимі об’єкти.", + "Open download panel": "Відкрити панель звантаження", + "Open link in…": "Відкрити посилання у…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Відкрийте цю частину мапи в редакторі OpenStreetMap, щоб поліпшити дані", + "Optional intensity property for heatmap": "Додаткові параметри інтенсивності теплової мапи", + "Optional. Same as color if not set.": "Додатково. Якщо не вибрано, то як колір.", + "Override clustering radius (default 80)": "Перевизначити радіус кластеризації (типово 80)", + "Override heatmap radius (default 25)": "Перевизначити радіус для теплової мапи (типово 25)", + "Please be sure the licence is compliant with your use.": "Переконайтеся, що ліцензія відповідає правилам використання.", + "Please choose a format": "Будь ласка, виберіть формат", + "Please enter the name of the property": "Будь ласка, введіть назву параметра", + "Please enter the new name of this property": "Будь ласка, введіть нову назву параметра", + "Powered by Leaflet and Django, glued by uMap project.": "Працює на Leaflet та Django, в проєкті uMap.", + "Problem in the response": "Проблема з відповіддю", + "Problem in the response format": "Формат відповіді не розпізнано", + "Properties imported:": "Імпортовані параметри:", + "Property to use for sorting features": "Параметри для сортування об’єктів", + "Provide an URL here": "Вкажіть посилання тут", + "Proxy request": "Запит проксі", + "Remote data": "Віддалені дані", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Перейменувати цей параметр у всіх об’єктів", + "Replace layer content": "Замінити вміст шару", + "Restore this version": "Відновити цю версію", + "Save": "Зберегти", + "Save anyway": "Зберегти в будь-якому випадку", + "Save current edits": "Зберегти поточні правки", + "Save this center and zoom": "Зберегти такі центрування та масштаб", + "Save this location as new feature": "Зберегти місце розташування як новий об’єкт", + "Search a place name": "Шукати назву місця", + "Search location": "Пошук місця", + "Secret edit link is:
    {link}": "Секретне посилання для редагування:
    {link}", + "See all": "Переглянути усе", + "See data layers": "Подивитися шари даних", + "See full screen": "Дивитися в повноекранному режимі", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Встановіть false, щоб приховати шар в слайдшоу, в перегляді даних та навігації…", + "Shape properties": "Параметри полігона", + "Short URL": "Коротке посилання", + "Short credits": "Короткий опис прав/подяки", + "Show/hide layer": "Показати/приховати шар", + "Simple link: [[http://example.com]]": "Просте посилання: [[http://example.com]]", + "Slideshow": "Слайдшоу", + "Smart transitions": "Розумні переходи", + "Sort key": "Ключ сортування", + "Split line": "Розрізати лінію", + "Start a hole here": "Почати отвір звідси", + "Start editing": "Почати редагування", + "Start slideshow": "Почати слайдшоу", + "Stop editing": "Зупинити редагування", + "Stop slideshow": "Зупинити слайдшоу", + "Supported scheme": "Підтримувана схема", + "Supported variables that will be dynamically replaced": "Підтримувані змінні для автоматичної заміни", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Значок може бути як юнікод-символом так і URL. Ви можете використовувати параметри об'єктів як змінні. Наприклад, в \"http://myserver.org/images/{name}.png\", змінна {name} буде замінена значенням поля \"name\" кожної мітки на мапі.", + "TMS format": "Формат TMS", + "Text color for the cluster label": "Колір тексту для позначок кластера", + "Text formatting": "Форматування тексту", + "The name of the property to use as feature label (ex.: \"nom\")": "Назва параметру для використання в якості мітки об’єкта (напр.: „nom“)", + "The zoom and center have been setted.": "Масштаб й центрування виставлені", + "To use if remote server doesn't allow cross domain (slower)": "Якщо віддалений сервер не дозволяє крос-домен (повільно)", + "To zoom": "Масштабувати", + "Toggle edit mode (Shift+Click)": "Перейти у режим редагування (Shift+клац)", + "Transfer shape to edited feature": "Перетворити полігон у редагований об’єкт", + "Transform to lines": "Перетворити на лінію", + "Transform to polygon": "Перетворити на полігон", + "Type of layer": "Тип шару", + "Unable to detect format of file {filename}": "Не вдається визначити формат файлу {filename}", + "Untitled layer": "Шар без назви", + "Untitled map": "Безіменна мапа", + "Update permissions": "Оновити дозволи", + "Update permissions and editors": "Налаштувати привілеї та редакторів", + "Url": "Посилання", + "Use current bounds": "Використовувати поточні межі", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Використовуйте змінні в дужках з властивостями об’єктів, наприклад, {name}, вони будуть автоматично замінені відповідними значеннями.", + "User content credits": "Права/подяки на користувацькі дані", + "User interface options": "Налаштування інтерфейсу", + "Versions": "Версії", + "View Fullscreen": "Перегляд на повний екран", + "Where do we go from here?": "Що можна зробити з мапою далі?", + "Whether to display or not polygons paths.": "Показувати чи ні контур полігону.", + "Whether to fill polygons with color.": "Зафарбовувати чи ні полігони.", + "Who can edit": "Хто може редагувати", + "Who can view": "Хто може редагувати", + "Will be displayed in the bottom right corner of the map": "Буде показано в правому нижньому кутку мапи", + "Will be visible in the caption of the map": "Буде показано у заголовку мапи", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Упс! Схоже, хтось інший теж редагує ці дані. Ви можете зберегти свої правки, але це знищить правки іншого учасника.", + "You have unsaved changes.": "У Вас є незбережені зміни.", + "Zoom in": "Збільшити масштаб", + "Zoom level for automatic zooms": "Рівень масштабу для автоматичного масштабування", + "Zoom out": "Зменшити масштаб", + "Zoom to layer extent": "Масштабувати до кордонів шару", + "Zoom to the next": "Наблизитися до наступного", + "Zoom to the previous": "Наблизитися до попереднього", + "Zoom to this feature": "Наблизитися до цього об’єкта", + "Zoom to this place": "Наблизити до цього місця", + "attribution": "attribution", + "by": "від", + "display name": "показана назва", + "height": "висота", + "licence": "ліцензія", + "max East": "макс. на схід", + "max North": "макс. на північ", + "max South": "макс. на південь", + "max West": "макс. на захід", + "max zoom": "максимальний масштаб", + "min zoom": "мінімальний масштаб", + "next": "далі", + "previous": "назад", + "width": "ширина", + "{count} errors during import: {message}": "{count} помилок під час імпорту: {message}", + "Measure distances": "Виміряти відстань", + "NM": "NM", + "kilometers": "кілометрів", + "km": "км", + "mi": "миля", + "miles": "миль", + "nautical miles": "морських миль", + "{area} acres": "{area} акрів", + "{area} ha": " {area} гектар", + "{area} m²": "{area} м²", + "{area} mi²": " {area} миль²", + "{area} yd²": " {area} ярд²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} км", + "{distance} m": "{distance} м", + "{distance} miles": " {distance} миль", + "{distance} yd": " {distance} ярдів", + "1 day": "1 день", + "1 hour": "1 година", + "5 min": "5 хвилин", + "Cache proxied request": "Кешувати запити", + "No cache": "Кешу немає", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Пропускаємо невідоме значення geometry.type: {type}", + "Optional.": "Необов’язково.", + "Paste your data here": "Вставте ваші дані тут", + "Please save the map first": "Спочатку збережіть вашу мапу", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/locale/vi.js b/umap/static/umap/locale/vi.js new file mode 100644 index 00000000..3a8571ac --- /dev/null +++ b/umap/static/umap/locale/vi.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "Thêm một symbol", + "Allow scroll wheel zoom?": "Cho phép thu phóng bằng chuột giữa?", + "Automatic": "Automatic", + "Ball": "Bóng", + "Cancel": "Hủy", + "Caption": "Caption", + "Change symbol": "Thay đỏi symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Chọn lớp chức năng", + "Circle": "Vòng tròn", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Mặc định", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Bạn có muốn hiện thị bản đồ nhỏ hay không?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Bạn có muốn hiển thị thông báo ở dưới hay không?", + "Do you want to display the scale control?": "Bạn có muốn hiện thị bảng mở rộng hay không?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Bỏ", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Về", + "Action not allowed :(": "Hoạt động này không được phép", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Thêm một layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Hoat động nâng cao", + "Advanced properties": "Thuộc tính nâng cao", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "Có lỗi", + "Are you sure you want to cancel your changes?": "Bạn có chắc muốn hủy các thay đổi?", + "Are you sure you want to clone this map and all its datalayers?": "Bạn có chắc muốn sao chép bản đồ này và các layer dữ liệu đi kèm với nó?", + "Are you sure you want to delete the feature?": "Bạn có chắc muốn xóa đối tượng này?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Bạn có chắc muốn xóa bản đồ này?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Đặt đối tượng vào giữa", + "Browse data": "Mở dữ liệu", + "Cancel edits": "Hủy các chỉnh sửa", + "Center map on your location": "Tạo bản đồ với vị trí của bạn", + "Change map background": "Thay đổi bản đồ nền", + "Change tilelayers": "Thay đổi titlelayer", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Chọn định dạng tập tin", + "Choose the layer to import in": "Chọn lớp cần nhập vào", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Sao bản đồ này", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Xóa", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Xóa chức năng này", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Tắt chỉnh sửa", + "Display measure": "Display measure", + "Display on load": "Hiển thị khi tải", + "Download": "Download", + "Download data": "Tải dữ liệu", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Vẽ đường thẳng", + "Draw a marker": "Vẽ điểm", + "Draw a polygon": "Vẽ đa giác", + "Draw a polyline": "Vẽ nhiều đường", + "Dynamic": "Động", + "Dynamic properties": "Dynamic properties", + "Edit": "Sửa", + "Edit feature's layer": "Chỉnh sửa lớp", + "Edit map properties": "Chỉnh sửa thuộc tính bản đồ", + "Edit map settings": "Tin chỉnh bản đồ", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Sửa chức năng này", + "Editing": "Editing", + "Embed and share this map": "Nhúng và chia sẽ bản đồ này", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Bật chức năng chỉnh sửa", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Định dạng", + "From zoom": "Phóng to từ", + "Full map data": "Full map data", + "Go to «{feature}»": "Tới «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Dấu bảng điều khiển", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Hãy chọn một định dạng", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("vi", locale); +L.setLocale("vi"); \ No newline at end of file diff --git a/umap/static/umap/locale/vi.json b/umap/static/umap/locale/vi.json new file mode 100644 index 00000000..d31ea986 --- /dev/null +++ b/umap/static/umap/locale/vi.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Thêm một symbol", + "Allow scroll wheel zoom?": "Cho phép thu phóng bằng chuột giữa?", + "Automatic": "Automatic", + "Ball": "Bóng", + "Cancel": "Hủy", + "Caption": "Caption", + "Change symbol": "Thay đỏi symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Chọn lớp chức năng", + "Circle": "Vòng tròn", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Mặc định", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Bạn có muốn hiện thị bản đồ nhỏ hay không?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Bạn có muốn hiển thị thông báo ở dưới hay không?", + "Do you want to display the scale control?": "Bạn có muốn hiện thị bảng mở rộng hay không?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Bỏ", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "Về", + "Action not allowed :(": "Hoạt động này không được phép", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Thêm một layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Hoat động nâng cao", + "Advanced properties": "Thuộc tính nâng cao", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "Có lỗi", + "Are you sure you want to cancel your changes?": "Bạn có chắc muốn hủy các thay đổi?", + "Are you sure you want to clone this map and all its datalayers?": "Bạn có chắc muốn sao chép bản đồ này và các layer dữ liệu đi kèm với nó?", + "Are you sure you want to delete the feature?": "Bạn có chắc muốn xóa đối tượng này?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Bạn có chắc muốn xóa bản đồ này?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Đặt đối tượng vào giữa", + "Browse data": "Mở dữ liệu", + "Cancel edits": "Hủy các chỉnh sửa", + "Center map on your location": "Tạo bản đồ với vị trí của bạn", + "Change map background": "Thay đổi bản đồ nền", + "Change tilelayers": "Thay đổi titlelayer", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Chọn định dạng tập tin", + "Choose the layer to import in": "Chọn lớp cần nhập vào", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Sao bản đồ này", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Xóa", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Xóa chức năng này", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Tắt chỉnh sửa", + "Display measure": "Display measure", + "Display on load": "Hiển thị khi tải", + "Download": "Download", + "Download data": "Tải dữ liệu", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Vẽ đường thẳng", + "Draw a marker": "Vẽ điểm", + "Draw a polygon": "Vẽ đa giác", + "Draw a polyline": "Vẽ nhiều đường", + "Dynamic": "Động", + "Dynamic properties": "Dynamic properties", + "Edit": "Sửa", + "Edit feature's layer": "Chỉnh sửa lớp", + "Edit map properties": "Chỉnh sửa thuộc tính bản đồ", + "Edit map settings": "Tin chỉnh bản đồ", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Sửa chức năng này", + "Editing": "Editing", + "Embed and share this map": "Nhúng và chia sẽ bản đồ này", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Bật chức năng chỉnh sửa", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Định dạng", + "From zoom": "Phóng to từ", + "Full map data": "Full map data", + "Go to «{feature}»": "Tới «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Dấu bảng điều khiển", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Hãy chọn một định dạng", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/vi_VN.json b/umap/static/umap/locale/vi_VN.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/vi_VN.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/zh.js b/umap/static/umap/locale/zh.js new file mode 100644 index 00000000..b7bb2d5e --- /dev/null +++ b/umap/static/umap/locale/zh.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "增加符号", + "Allow scroll wheel zoom?": "是否允许滚轮缩放?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "取消", + "Caption": "Caption", + "Change symbol": "改变符号", + "Choose the data format": "选择数据格式", + "Choose the layer of the feature": "选择要素的图层", + "Circle": "圆", + "Clustered": "Clustered", + "Data browser": "数据浏览器", + "Default": "默认", + "Default zoom level": "Default zoom level", + "Default: name": "默认:名称", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "是否想显示鹰眼图?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "你是否想要显示页脚?", + "Do you want to display the scale control?": "是否显示比例尺控件?", + "Do you want to display the «more» control?": "是否显示 «more» 控件?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "继承", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "空", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "表格", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "颜色", + "dash array": "dash array", + "define": "define", + "description": "描述", + "expanded": "expanded", + "fill": "填充", + "fill color": "填充色", + "fill opacity": "透明", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "名称", + "never": "never", + "new window": "new window", + "no": "否", + "on hover": "on hover", + "opacity": "不透明度", + "parent window": "parent window", + "stroke": "画笔", + "weight": "weight", + "yes": "是", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# 一个井号表示一级标题", + "## two hashes for second heading": "## 两个井号表示二级标题", + "### three hashes for third heading": "### 三个井号表示三级标题", + "**double star for bold**": "**两个星号表示粗体**", + "*simple star for italic*": "*一个星号表示斜体*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "关于", + "Action not allowed :(": "操作不允许", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "增加图层", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "添加属性", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "高级操作", + "Advanced properties": "高级属性", + "Advanced transition": "Advanced transition", + "All properties are imported.": "属性已导入。", + "Allow interactions": "Allow interactions", + "An error occured": "发生错误", + "Are you sure you want to cancel your changes?": "是否确定取消改变?", + "Are you sure you want to clone this map and all its datalayers?": "是否确定复制这个地图及其所有数据图层?", + "Are you sure you want to delete the feature?": "是否确定删除该要素?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "是否确定删除地图?", + "Are you sure you want to delete this property on all the features?": "是否确定删除全部要素的该属性?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "自动", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "移到以对象为中心", + "Browse data": "浏览数据", + "Cancel edits": "取消编辑", + "Center map on your location": "Center map on your location", + "Change map background": "改变地图背景", + "Change tilelayers": "改变瓦片图层", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "选择导入的数据格式", + "Choose the layer to import in": "选择导入的图层", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "复制", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "复制地图", + "Close": "关闭", + "Clustering radius": "聚类半径", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "坐标", + "Credits": "Credits", + "Current view instead of default map view?": "使用当前视口替换默认地图视口?", + "Custom background": "自定义背景", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "默认属性", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "删除", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "删除对象", + "Delete this property on all the features": "删除全部要素的该属性", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "方向", + "Disable editing": "不可编辑", + "Display measure": "Display measure", + "Display on load": "加载时显示", + "Download": "Download", + "Download data": "下载数据", + "Drag to reorder": "Drag to reorder", + "Draw a line": "画线", + "Draw a marker": "画标记", + "Draw a polygon": "画多边形", + "Draw a polyline": "画线", + "Dynamic": "动态", + "Dynamic properties": "Dynamic properties", + "Edit": "编辑", + "Edit feature's layer": "编辑要素图层", + "Edit map properties": "编辑地图属性", + "Edit map settings": "编辑地图设置", + "Edit properties in a table": "在表格中编辑属性", + "Edit this feature": "编辑该要素", + "Editing": "编辑", + "Embed and share this map": "嵌入与分享地图", + "Embed the map": "嵌入地图", + "Empty": "空", + "Enable editing": "可编辑", + "Error in the tilelayer URL": "瓦片图层URL错误", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "格式", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "转到«{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "帮助", + "Hide controls": "隐藏控件", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "图片: {{http://image.url.com}}", + "Import": "导入", + "Import data": "导入数据", + "Import in a new layer": "导入一个新图层", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "纬度", + "Layer": "图层", + "Layer properties": "Layer properties", + "Licence": "许可证", + "Limit bounds": "限制外包框", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "经度", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "更多控件", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "请选择一种格式", + "Please enter the name of the property": "请输入属性名称", + "Please enter the new name of this property": "请输入属性的新名称", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "响应错误", + "Problem in the response format": "响应内容格式问题", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "提供URL", + "Proxy request": "Proxy request", + "Remote data": "远程数据", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "重命名全部要素的该属性", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "保存", + "Save anyway": "Save anyway", + "Save current edits": "保存当前编辑内容", + "Save this center and zoom": "保存地图中心与比例尺", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "查看全部", + "See data layers": "See data layers", + "See full screen": "全屏", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "显示/隐藏图层", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "幻灯秀", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "打断线", + "Start a hole here": "Start a hole here", + "Start editing": "开始编辑", + "Start slideshow": "开始幻灯秀", + "Stop editing": "结束编辑", + "Stop slideshow": "结束幻灯秀", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS格式", + "Text color for the cluster label": "标注文本颜色", + "Text formatting": "文本格式", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "缩放比例尺与中心设置完成", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "放大", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "转换为线", + "Transform to polygon": "转换为多边形", + "Type of layer": "图层类型", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "未命名图层", + "Untitled map": "未命名地图", + "Update permissions": "Update permissions", + "Update permissions and editors": "更新权限与编辑员", + "Url": "Url", + "Use current bounds": "使用当前范围", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "用户内容信用", + "User interface options": "用户接口选项", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "缩小", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "放大", + "Zoom to layer extent": "缩放到图层范围", + "Zoom to the next": "下一个", + "Zoom to the previous": "上一个", + "Zoom to this feature": "缩放到该对象", + "Zoom to this place": "Zoom to this place", + "attribution": "属性", + "by": "by", + "display name": "显示名称", + "height": "高", + "licence": "licence", + "max East": "东", + "max North": "北", + "max South": "南", + "max West": "西", + "max zoom": "最大缩放等级", + "min zoom": "最小缩放等级", + "next": "next", + "previous": "previous", + "width": "宽", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("zh", locale); +L.setLocale("zh"); \ No newline at end of file diff --git a/umap/static/umap/locale/zh.json b/umap/static/umap/locale/zh.json new file mode 100644 index 00000000..fea32959 --- /dev/null +++ b/umap/static/umap/locale/zh.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "增加符号", + "Allow scroll wheel zoom?": "是否允许滚轮缩放?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "取消", + "Caption": "Caption", + "Change symbol": "改变符号", + "Choose the data format": "选择数据格式", + "Choose the layer of the feature": "选择要素的图层", + "Circle": "圆", + "Clustered": "Clustered", + "Data browser": "数据浏览器", + "Default": "默认", + "Default zoom level": "Default zoom level", + "Default: name": "默认:名称", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "是否想显示鹰眼图?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "你是否想要显示页脚?", + "Do you want to display the scale control?": "是否显示比例尺控件?", + "Do you want to display the «more» control?": "是否显示 «more» 控件?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "继承", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "空", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "表格", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "颜色", + "dash array": "dash array", + "define": "define", + "description": "描述", + "expanded": "expanded", + "fill": "填充", + "fill color": "填充色", + "fill opacity": "透明", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "名称", + "never": "never", + "new window": "new window", + "no": "否", + "on hover": "on hover", + "opacity": "不透明度", + "parent window": "parent window", + "stroke": "画笔", + "weight": "weight", + "yes": "是", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# 一个井号表示一级标题", + "## two hashes for second heading": "## 两个井号表示二级标题", + "### three hashes for third heading": "### 三个井号表示三级标题", + "**double star for bold**": "**两个星号表示粗体**", + "*simple star for italic*": "*一个星号表示斜体*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "关于", + "Action not allowed :(": "操作不允许", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "增加图层", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "添加属性", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "高级操作", + "Advanced properties": "高级属性", + "Advanced transition": "Advanced transition", + "All properties are imported.": "属性已导入。", + "Allow interactions": "Allow interactions", + "An error occured": "发生错误", + "Are you sure you want to cancel your changes?": "是否确定取消改变?", + "Are you sure you want to clone this map and all its datalayers?": "是否确定复制这个地图及其所有数据图层?", + "Are you sure you want to delete the feature?": "是否确定删除该要素?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "是否确定删除地图?", + "Are you sure you want to delete this property on all the features?": "是否确定删除全部要素的该属性?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "自动", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "移到以对象为中心", + "Browse data": "浏览数据", + "Cancel edits": "取消编辑", + "Center map on your location": "Center map on your location", + "Change map background": "改变地图背景", + "Change tilelayers": "改变瓦片图层", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "选择导入的数据格式", + "Choose the layer to import in": "选择导入的图层", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "复制", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "复制地图", + "Close": "关闭", + "Clustering radius": "聚类半径", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "坐标", + "Credits": "Credits", + "Current view instead of default map view?": "使用当前视口替换默认地图视口?", + "Custom background": "自定义背景", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "默认属性", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "删除", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "删除对象", + "Delete this property on all the features": "删除全部要素的该属性", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "方向", + "Disable editing": "不可编辑", + "Display measure": "Display measure", + "Display on load": "加载时显示", + "Download": "Download", + "Download data": "下载数据", + "Drag to reorder": "Drag to reorder", + "Draw a line": "画线", + "Draw a marker": "画标记", + "Draw a polygon": "画多边形", + "Draw a polyline": "画线", + "Dynamic": "动态", + "Dynamic properties": "Dynamic properties", + "Edit": "编辑", + "Edit feature's layer": "编辑要素图层", + "Edit map properties": "编辑地图属性", + "Edit map settings": "编辑地图设置", + "Edit properties in a table": "在表格中编辑属性", + "Edit this feature": "编辑该要素", + "Editing": "编辑", + "Embed and share this map": "嵌入与分享地图", + "Embed the map": "嵌入地图", + "Empty": "空", + "Enable editing": "可编辑", + "Error in the tilelayer URL": "瓦片图层URL错误", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "格式", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "转到«{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "帮助", + "Hide controls": "隐藏控件", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "图片: {{http://image.url.com}}", + "Import": "导入", + "Import data": "导入数据", + "Import in a new layer": "导入一个新图层", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "纬度", + "Layer": "图层", + "Layer properties": "Layer properties", + "Licence": "许可证", + "Limit bounds": "限制外包框", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "经度", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "更多控件", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "请选择一种格式", + "Please enter the name of the property": "请输入属性名称", + "Please enter the new name of this property": "请输入属性的新名称", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "响应错误", + "Problem in the response format": "响应内容格式问题", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "提供URL", + "Proxy request": "Proxy request", + "Remote data": "远程数据", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "重命名全部要素的该属性", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "保存", + "Save anyway": "Save anyway", + "Save current edits": "保存当前编辑内容", + "Save this center and zoom": "保存地图中心与比例尺", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "查看全部", + "See data layers": "See data layers", + "See full screen": "全屏", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "显示/隐藏图层", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "幻灯秀", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "打断线", + "Start a hole here": "Start a hole here", + "Start editing": "开始编辑", + "Start slideshow": "开始幻灯秀", + "Stop editing": "结束编辑", + "Stop slideshow": "结束幻灯秀", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS格式", + "Text color for the cluster label": "标注文本颜色", + "Text formatting": "文本格式", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "缩放比例尺与中心设置完成", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "放大", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "转换为线", + "Transform to polygon": "转换为多边形", + "Type of layer": "图层类型", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "未命名图层", + "Untitled map": "未命名地图", + "Update permissions": "Update permissions", + "Update permissions and editors": "更新权限与编辑员", + "Url": "Url", + "Use current bounds": "使用当前范围", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "用户内容信用", + "User interface options": "用户接口选项", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "缩小", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "放大", + "Zoom to layer extent": "缩放到图层范围", + "Zoom to the next": "下一个", + "Zoom to the previous": "上一个", + "Zoom to this feature": "缩放到该对象", + "Zoom to this place": "Zoom to this place", + "attribution": "属性", + "by": "by", + "display name": "显示名称", + "height": "高", + "licence": "licence", + "max East": "东", + "max North": "北", + "max South": "南", + "max West": "西", + "max zoom": "最大缩放等级", + "min zoom": "最小缩放等级", + "next": "next", + "previous": "previous", + "width": "宽", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/zh_CN.json b/umap/static/umap/locale/zh_CN.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/zh_CN.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/zh_TW.Big5.json b/umap/static/umap/locale/zh_TW.Big5.json new file mode 100644 index 00000000..5837eb78 --- /dev/null +++ b/umap/static/umap/locale/zh_TW.Big5.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "Add symbol", + "Allow scroll wheel zoom?": "Allow scroll wheel zoom?", + "Automatic": "Automatic", + "Ball": "Ball", + "Cancel": "Cancel", + "Caption": "Caption", + "Change symbol": "Change symbol", + "Choose the data format": "Choose the data format", + "Choose the layer of the feature": "Choose the layer of the feature", + "Circle": "Circle", + "Clustered": "Clustered", + "Data browser": "Data browser", + "Default": "Default", + "Default zoom level": "Default zoom level", + "Default: name": "Default: name", + "Display label": "Display label", + "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor", + "Display the data layers control": "Display the data layers control", + "Display the embed control": "Display the embed control", + "Display the fullscreen control": "Display the fullscreen control", + "Display the locate control": "Display the locate control", + "Display the measure control": "Display the measure control", + "Display the search control": "Display the search control", + "Display the tile layers control": "Display the tile layers control", + "Display the zoom control": "Display the zoom control", + "Do you want to display a caption bar?": "Do you want to display a caption bar?", + "Do you want to display a minimap?": "Do you want to display a minimap?", + "Do you want to display a panel on load?": "Do you want to display a panel on load?", + "Do you want to display popup footer?": "Do you want to display popup footer?", + "Do you want to display the scale control?": "Do you want to display the scale control?", + "Do you want to display the «more» control?": "Do you want to display the «more» control?", + "Drop": "Drop", + "GeoRSS (only link)": "GeoRSS (only link)", + "GeoRSS (title + image)": "GeoRSS (title + image)", + "Heatmap": "Heatmap", + "Icon shape": "Icon shape", + "Icon symbol": "Icon symbol", + "Inherit": "Inherit", + "Label direction": "Label direction", + "Label key": "Label key", + "Labels are clickable": "Labels are clickable", + "None": "None", + "On the bottom": "On the bottom", + "On the left": "On the left", + "On the right": "On the right", + "On the top": "On the top", + "Popup content template": "Popup content template", + "Set symbol": "Set symbol", + "Side panel": "Side panel", + "Simplify": "Simplify", + "Symbol or url": "Symbol or url", + "Table": "Table", + "always": "always", + "clear": "clear", + "collapsed": "collapsed", + "color": "color", + "dash array": "dash array", + "define": "define", + "description": "description", + "expanded": "expanded", + "fill": "fill", + "fill color": "fill color", + "fill opacity": "fill opacity", + "hidden": "hidden", + "iframe": "iframe", + "inherit": "inherit", + "name": "name", + "never": "never", + "new window": "new window", + "no": "no", + "on hover": "on hover", + "opacity": "opacity", + "parent window": "parent window", + "stroke": "stroke", + "weight": "weight", + "yes": "yes", + "{delay} seconds": "{delay} seconds", + "# one hash for main heading": "# one hash for main heading", + "## two hashes for second heading": "## two hashes for second heading", + "### three hashes for third heading": "### three hashes for third heading", + "**double star for bold**": "**double star for bold**", + "*simple star for italic*": "*simple star for italic*", + "--- for an horizontal rule": "--- for an horizontal rule", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".", + "About": "About", + "Action not allowed :(": "Action not allowed :(", + "Activate slideshow mode": "Activate slideshow mode", + "Add a layer": "Add a layer", + "Add a line to the current multi": "Add a line to the current multi", + "Add a new property": "Add a new property", + "Add a polygon to the current multi": "Add a polygon to the current multi", + "Advanced actions": "Advanced actions", + "Advanced properties": "Advanced properties", + "Advanced transition": "Advanced transition", + "All properties are imported.": "All properties are imported.", + "Allow interactions": "Allow interactions", + "An error occured": "An error occured", + "Are you sure you want to cancel your changes?": "Are you sure you want to cancel your changes?", + "Are you sure you want to clone this map and all its datalayers?": "Are you sure you want to clone this map and all its datalayers?", + "Are you sure you want to delete the feature?": "Are you sure you want to delete the feature?", + "Are you sure you want to delete this layer?": "Are you sure you want to delete this layer?", + "Are you sure you want to delete this map?": "Are you sure you want to delete this map?", + "Are you sure you want to delete this property on all the features?": "Are you sure you want to delete this property on all the features?", + "Are you sure you want to restore this version?": "Are you sure you want to restore this version?", + "Attach the map to my account": "Attach the map to my account", + "Auto": "Auto", + "Autostart when map is loaded": "Autostart when map is loaded", + "Bring feature to center": "Bring feature to center", + "Browse data": "Browse data", + "Cancel edits": "Cancel edits", + "Center map on your location": "Center map on your location", + "Change map background": "Change map background", + "Change tilelayers": "Change tilelayers", + "Choose a preset": "Choose a preset", + "Choose the format of the data to import": "Choose the format of the data to import", + "Choose the layer to import in": "Choose the layer to import in", + "Click last point to finish shape": "Click last point to finish shape", + "Click to add a marker": "Click to add a marker", + "Click to continue drawing": "Click to continue drawing", + "Click to edit": "Click to edit", + "Click to start drawing a line": "Click to start drawing a line", + "Click to start drawing a polygon": "Click to start drawing a polygon", + "Clone": "Clone", + "Clone of {name}": "Clone of {name}", + "Clone this feature": "Clone this feature", + "Clone this map": "Clone this map", + "Close": "Close", + "Clustering radius": "Clustering radius", + "Comma separated list of properties to use when filtering features": "Comma separated list of properties to use when filtering features", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.", + "Continue line": "Continue line", + "Continue line (Ctrl+Click)": "Continue line (Ctrl+Click)", + "Coordinates": "Coordinates", + "Credits": "Credits", + "Current view instead of default map view?": "Current view instead of default map view?", + "Custom background": "Custom background", + "Data is browsable": "Data is browsable", + "Default interaction options": "Default interaction options", + "Default properties": "Default properties", + "Default shape properties": "Default shape properties", + "Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.", + "Delay between two transitions when in play mode": "Delay between two transitions when in play mode", + "Delete": "Delete", + "Delete all layers": "Delete all layers", + "Delete layer": "Delete layer", + "Delete this feature": "Delete this feature", + "Delete this property on all the features": "Delete this property on all the features", + "Delete this shape": "Delete this shape", + "Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)", + "Directions from here": "Directions from here", + "Disable editing": "Disable editing", + "Display measure": "Display measure", + "Display on load": "Display on load", + "Download": "Download", + "Download data": "Download data", + "Drag to reorder": "Drag to reorder", + "Draw a line": "Draw a line", + "Draw a marker": "Draw a marker", + "Draw a polygon": "Draw a polygon", + "Draw a polyline": "Draw a polyline", + "Dynamic": "Dynamic", + "Dynamic properties": "Dynamic properties", + "Edit": "Edit", + "Edit feature's layer": "Edit feature's layer", + "Edit map properties": "Edit map properties", + "Edit map settings": "Edit map settings", + "Edit properties in a table": "Edit properties in a table", + "Edit this feature": "Edit this feature", + "Editing": "Editing", + "Embed and share this map": "Embed and share this map", + "Embed the map": "Embed the map", + "Empty": "Empty", + "Enable editing": "Enable editing", + "Error in the tilelayer URL": "Error in the tilelayer URL", + "Error while fetching {url}": "Error while fetching {url}", + "Exit Fullscreen": "Exit Fullscreen", + "Extract shape to separate feature": "Extract shape to separate feature", + "Fetch data each time map view changes.": "Fetch data each time map view changes.", + "Filter keys": "Filter keys", + "Filter…": "Filter…", + "Format": "Format", + "From zoom": "From zoom", + "Full map data": "Full map data", + "Go to «{feature}»": "Go to «{feature}»", + "Heatmap intensity property": "Heatmap intensity property", + "Heatmap radius": "Heatmap radius", + "Help": "Help", + "Hide controls": "Hide controls", + "Home": "Home", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)", + "If false, the polygon will act as a part of the underlying map.": "If false, the polygon will act as a part of the underlying map.", + "Iframe export options": "Iframe export options", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "Image with custom width (in px): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "Image: {{http://image.url.com}}", + "Import": "Import", + "Import data": "Import data", + "Import in a new layer": "Import in a new layer", + "Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.", + "Include full screen link?": "Include full screen link?", + "Interaction options": "Interaction options", + "Invalid umap data": "Invalid umap data", + "Invalid umap data in {filename}": "Invalid umap data in {filename}", + "Keep current visible layers": "Keep current visible layers", + "Latitude": "Latitude", + "Layer": "Layer", + "Layer properties": "Layer properties", + "Licence": "Licence", + "Limit bounds": "Limit bounds", + "Link to…": "Link to…", + "Link with text: [[http://example.com|text of the link]]": "Link with text: [[http://example.com|text of the link]]", + "Long credits": "Long credits", + "Longitude": "Longitude", + "Make main shape": "Make main shape", + "Manage layers": "Manage layers", + "Map background credits": "Map background credits", + "Map has been attached to your account": "Map has been attached to your account", + "Map has been saved!": "Map has been saved!", + "Map user content has been published under licence": "Map user content has been published under licence", + "Map's editors": "Map's editors", + "Map's owner": "Map's owner", + "Merge lines": "Merge lines", + "More controls": "More controls", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "Must be a valid CSS value (eg.: DarkBlue or #123456)", + "No licence has been set": "No licence has been set", + "No results": "No results", + "Only visible features will be downloaded.": "Only visible features will be downloaded.", + "Open download panel": "Open download panel", + "Open link in…": "Open link in…", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "Open this map extent in a map editor to provide more accurate data to OpenStreetMap", + "Optional intensity property for heatmap": "Optional intensity property for heatmap", + "Optional. Same as color if not set.": "Optional. Same as color if not set.", + "Override clustering radius (default 80)": "Override clustering radius (default 80)", + "Override heatmap radius (default 25)": "Override heatmap radius (default 25)", + "Please be sure the licence is compliant with your use.": "Please be sure the licence is compliant with your use.", + "Please choose a format": "Please choose a format", + "Please enter the name of the property": "Please enter the name of the property", + "Please enter the new name of this property": "Please enter the new name of this property", + "Powered by Leaflet and Django, glued by uMap project.": "Powered by Leaflet and Django, glued by uMap project.", + "Problem in the response": "Problem in the response", + "Problem in the response format": "Problem in the response format", + "Properties imported:": "Properties imported:", + "Property to use for sorting features": "Property to use for sorting features", + "Provide an URL here": "Provide an URL here", + "Proxy request": "Proxy request", + "Remote data": "Remote data", + "Remove shape from the multi": "Remove shape from the multi", + "Rename this property on all the features": "Rename this property on all the features", + "Replace layer content": "Replace layer content", + "Restore this version": "Restore this version", + "Save": "Save", + "Save anyway": "Save anyway", + "Save current edits": "Save current edits", + "Save this center and zoom": "Save this center and zoom", + "Save this location as new feature": "Save this location as new feature", + "Search a place name": "Search a place name", + "Search location": "Search location", + "Secret edit link is:
    {link}": "Secret edit link is:
    {link}", + "See all": "See all", + "See data layers": "See data layers", + "See full screen": "See full screen", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…", + "Shape properties": "Shape properties", + "Short URL": "Short URL", + "Short credits": "Short credits", + "Show/hide layer": "Show/hide layer", + "Simple link: [[http://example.com]]": "Simple link: [[http://example.com]]", + "Slideshow": "Slideshow", + "Smart transitions": "Smart transitions", + "Sort key": "Sort key", + "Split line": "Split line", + "Start a hole here": "Start a hole here", + "Start editing": "Start editing", + "Start slideshow": "Start slideshow", + "Stop editing": "Stop editing", + "Stop slideshow": "Stop slideshow", + "Supported scheme": "Supported scheme", + "Supported variables that will be dynamically replaced": "Supported variables that will be dynamically replaced", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.", + "TMS format": "TMS format", + "Text color for the cluster label": "Text color for the cluster label", + "Text formatting": "Text formatting", + "The name of the property to use as feature label (ex.: \"nom\")": "The name of the property to use as feature label (ex.: \"nom\")", + "The zoom and center have been setted.": "The zoom and center have been setted.", + "To use if remote server doesn't allow cross domain (slower)": "To use if remote server doesn't allow cross domain (slower)", + "To zoom": "To zoom", + "Toggle edit mode (Shift+Click)": "Toggle edit mode (Shift+Click)", + "Transfer shape to edited feature": "Transfer shape to edited feature", + "Transform to lines": "Transform to lines", + "Transform to polygon": "Transform to polygon", + "Type of layer": "Type of layer", + "Unable to detect format of file {filename}": "Unable to detect format of file {filename}", + "Untitled layer": "Untitled layer", + "Untitled map": "Untitled map", + "Update permissions": "Update permissions", + "Update permissions and editors": "Update permissions and editors", + "Url": "Url", + "Use current bounds": "Use current bounds", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.", + "User content credits": "User content credits", + "User interface options": "User interface options", + "Versions": "Versions", + "View Fullscreen": "View Fullscreen", + "Where do we go from here?": "Where do we go from here?", + "Whether to display or not polygons paths.": "Whether to display or not polygons paths.", + "Whether to fill polygons with color.": "Whether to fill polygons with color.", + "Who can edit": "Who can edit", + "Who can view": "Who can view", + "Will be displayed in the bottom right corner of the map": "Will be displayed in the bottom right corner of the map", + "Will be visible in the caption of the map": "Will be visible in the caption of the map", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.", + "You have unsaved changes.": "You have unsaved changes.", + "Zoom in": "Zoom in", + "Zoom level for automatic zooms": "Zoom level for automatic zooms", + "Zoom out": "Zoom out", + "Zoom to layer extent": "Zoom to layer extent", + "Zoom to the next": "Zoom to the next", + "Zoom to the previous": "Zoom to the previous", + "Zoom to this feature": "Zoom to this feature", + "Zoom to this place": "Zoom to this place", + "attribution": "attribution", + "by": "by", + "display name": "display name", + "height": "height", + "licence": "licence", + "max East": "max East", + "max North": "max North", + "max South": "max South", + "max West": "max West", + "max zoom": "max zoom", + "min zoom": "min zoom", + "next": "next", + "previous": "previous", + "width": "width", + "{count} errors during import: {message}": "{count} errors during import: {message}", + "Measure distances": "Measure distances", + "NM": "NM", + "kilometers": "kilometers", + "km": "km", + "mi": "mi", + "miles": "miles", + "nautical miles": "nautical miles", + "{area} acres": "{area} acres", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} miles", + "{distance} yd": "{distance} yd", + "1 day": "1 day", + "1 hour": "1 hour", + "5 min": "5 min", + "Cache proxied request": "Cache proxied request", + "No cache": "No cache", + "Popup": "Popup", + "Popup (large)": "Popup (large)", + "Popup content style": "Popup content style", + "Popup shape": "Popup shape", + "Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}", + "Optional.": "Optional.", + "Paste your data here": "Paste your data here", + "Please save the map first": "Please save the map first", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} \ No newline at end of file diff --git a/umap/static/umap/locale/zh_TW.js b/umap/static/umap/locale/zh_TW.js new file mode 100644 index 00000000..ebe874ca --- /dev/null +++ b/umap/static/umap/locale/zh_TW.js @@ -0,0 +1,376 @@ +var locale = { + "Add symbol": "新增圖示", + "Allow scroll wheel zoom?": "允許捲動放大?", + "Automatic": "自動", + "Ball": "球", + "Cancel": "取消", + "Caption": "標題", + "Change symbol": "更改圖示", + "Choose the data format": "選擇資料格式", + "Choose the layer of the feature": "選擇圖徵的圖層", + "Circle": "圓圈", + "Clustered": "群集後", + "Data browser": "資料檢視器", + "Default": "預設", + "Default zoom level": "預設縮放等級", + "Default: name": "預設: name", + "Display label": "顯示標籤", + "Display the control to open OpenStreetMap editor": "顯示開啟開放街圖編輯器的按鍵", + "Display the data layers control": "顯示資料圖層鍵", + "Display the embed control": "顯示嵌入鍵", + "Display the fullscreen control": "顯示全螢幕鍵", + "Display the locate control": "顯示定位鍵", + "Display the measure control": "顯示比例尺鍵", + "Display the search control": "顯示搜尋鍵", + "Display the tile layers control": "顯示圖層鍵", + "Display the zoom control": "顯示縮放鍵", + "Do you want to display a caption bar?": "您是否要顯示標題列?", + "Do you want to display a minimap?": "您想要顯示小型地圖嗎?", + "Do you want to display a panel on load?": "您是否要顯示", + "Do you want to display popup footer?": "您是否要顯示註腳彈出?", + "Do you want to display the scale control?": "您是否要顯示尺標?", + "Do you want to display the «more» control?": "您是否要顯示 《更多》?", + "Drop": "中止", + "GeoRSS (only link)": "GeoRSS (只有連結)", + "GeoRSS (title + image)": "GeoRSS (標題與圖片)", + "Heatmap": "熱點圖", + "Icon shape": "圖示圖形", + "Icon symbol": "圖示標誌", + "Inherit": "繼承", + "Label direction": "標籤方向", + "Label key": "標籤鍵", + "Labels are clickable": "標籤可點擊", + "None": "以上皆非", + "On the bottom": "在底部", + "On the left": "在左側", + "On the right": "在右側", + "On the top": "在頂部", + "Popup content template": "彈出內文範本", + "Set symbol": "設定標誌", + "Side panel": "側邊框", + "Simplify": "簡化", + "Symbol or url": "標誌或URL地址", + "Table": "表格", + "always": "經常", + "clear": "清除", + "collapsed": "收起", + "color": "色彩", + "dash array": "虛線排列", + "define": "定義", + "description": "描述", + "expanded": "展開", + "fill": "填入", + "fill color": "填入色彩", + "fill opacity": "填入不透明度", + "hidden": "隱藏", + "iframe": "iframe", + "inherit": "繼承", + "name": "名稱", + "never": "永不", + "new window": "新視窗", + "no": "否", + "on hover": "當滑過時", + "opacity": "不透明度", + "parent window": "父視窗", + "stroke": "筆畫粗細", + "weight": "寬度", + "yes": "是", + "{delay} seconds": "{delay} 秒", + "# one hash for main heading": "單個 # 代表主標題", + "## two hashes for second heading": "兩個 # 代表次標題", + "### three hashes for third heading": "三個 # 代表第三標題", + "**double star for bold**": "** 重複兩次星號代表粗體 **", + "*simple star for italic*": "*單個星號代表斜體*", + "--- for an horizontal rule": "-- 代表水平線", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "用逗號來分隔一列列的虛線模式,例如:\"5, 10, 15\"。", + "About": "關於", + "Action not allowed :(": "行為不被允許:(", + "Activate slideshow mode": "開啟幻燈片模式", + "Add a layer": "新增圖層", + "Add a line to the current multi": "新增線段", + "Add a new property": "新增屬性", + "Add a polygon to the current multi": "新增多邊形", + "Advanced actions": "進階動作", + "Advanced properties": "進階屬性", + "Advanced transition": "進階轉換", + "All properties are imported.": "所有物件皆已匯入", + "Allow interactions": "允許互動", + "An error occured": "發生錯誤", + "Are you sure you want to cancel your changes?": "您確定要取消您所做的變更?", + "Are you sure you want to clone this map and all its datalayers?": "您確定要複製此地圖及所有資料圖層?", + "Are you sure you want to delete the feature?": "您確定要刪除該圖徵?", + "Are you sure you want to delete this layer?": "你確定要刪除這個圖層嗎?", + "Are you sure you want to delete this map?": "您確定要刪除此地圖?", + "Are you sure you want to delete this property on all the features?": "您確定要刪除所有圖徵中的此項屬性?", + "Are you sure you want to restore this version?": "您確定要回復此一版本嗎?", + "Attach the map to my account": "將地圖加入到我的帳號", + "Auto": "自動", + "Autostart when map is loaded": "當讀取地圖時自動啟動", + "Bring feature to center": "將圖徵置中", + "Browse data": "瀏覽資料", + "Cancel edits": "取消編輯", + "Center map on your location": "將您的位置設為地圖中心", + "Change map background": "更改地圖背景", + "Change tilelayers": "改變地圖磚圖層", + "Choose a preset": "選擇一種預設值", + "Choose the format of the data to import": "選擇匯入的資料格式", + "Choose the layer to import in": "選擇匯入圖層", + "Click last point to finish shape": "點下最後一點後完成外形", + "Click to add a marker": "點選以新增標記", + "Click to continue drawing": "點擊以繼續繪製", + "Click to edit": "點擊開始編輯", + "Click to start drawing a line": "點擊以開始繪製直線", + "Click to start drawing a polygon": "點選開始繪製多邊形", + "Clone": "複製", + "Clone of {name}": "複製 {name}", + "Clone this feature": "複製此項目", + "Clone this map": "複製此地圖", + "Close": "關閉", + "Clustering radius": "群集分析半徑", + "Comma separated list of properties to use when filtering features": "以逗號分開列出篩選時要使用的屬性", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "使用逗號、定位鍵或是分號分隔的地理數據。預設座標系為 SRS WGS84。只會匯入地理座標點。匯入時抓取 «lat» 與 «lon» 開頭的欄位資料,不分大小寫。其他欄位則歸入屬性資料。", + "Continue line": "連續線段", + "Continue line (Ctrl+Click)": "連續線(Ctrl+點擊鍵)", + "Coordinates": "座標", + "Credits": "工作人員名單", + "Current view instead of default map view?": "將目前視點設為預設視點?", + "Custom background": "自訂背景", + "Data is browsable": "資料是可檢視的", + "Default interaction options": "預設互動選項", + "Default properties": "預設屬性", + "Default shape properties": "預設形狀屬性", + "Define link to open in a new window on polygon click.": "指定點多邊形連結時開新視窗。", + "Delay between two transitions when in play mode": "播放模式下兩個轉換間會延遲", + "Delete": "刪除", + "Delete all layers": "刪除所有圖層", + "Delete layer": "刪除圖層", + "Delete this feature": "刪除此圖徵", + "Delete this property on all the features": "從所有圖徵中刪除此屬性", + "Delete this shape": "刪除外形", + "Delete this vertex (Alt+Click)": "刪除頂點 (Alt+Click)", + "Directions from here": "從此處開始導航", + "Disable editing": "停用編輯功能", + "Display measure": "Display measure", + "Display on load": "載入時顯示", + "Download": "下載", + "Download data": "下載資料", + "Drag to reorder": "拖拽以排序", + "Draw a line": "描繪線條", + "Draw a marker": "描繪標記", + "Draw a polygon": "描繪多邊形", + "Draw a polyline": "描繪折線", + "Dynamic": "動態", + "Dynamic properties": "動態屬性", + "Edit": "編輯", + "Edit feature's layer": "編輯圖徵的圖層", + "Edit map properties": "編輯地圖屬性", + "Edit map settings": "編輯地圖設定值", + "Edit properties in a table": "在表格中編輯屬性", + "Edit this feature": "編輯此圖徵", + "Editing": "編輯", + "Embed and share this map": "將地圖內嵌並分享", + "Embed the map": "嵌入地圖", + "Empty": "空白", + "Enable editing": "啟用編輯功能", + "Error in the tilelayer URL": "地圖磚圖層 URL 錯誤", + "Error while fetching {url}": "擷取網址時發生錯誤 {url}", + "Exit Fullscreen": "結束全螢幕模式", + "Extract shape to separate feature": "由外形分離出圖徵", + "Fetch data each time map view changes.": "每次地圖檢視改變時截取資料。", + "Filter keys": "篩選鍵", + "Filter…": "篩選器", + "Format": "格式", + "From zoom": "由縮放大小", + "Full map data": "全部地圖資料", + "Go to «{feature}»": "轉至 «{feature}»", + "Heatmap intensity property": "熱點圖強度屬性", + "Heatmap radius": "熱點圖半徑", + "Help": "幫助", + "Hide controls": "隱藏控制列", + "Home": "首頁", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "在不同縮放比例下,多邊形的精簡程度 (精簡越多有較好的效率、多邊形越平滑,精簡越少圖形越精確)", + "If false, the polygon will act as a part of the underlying map.": "選擇「否」時,多邊形物件會被當成為底圖的一部分。", + "Iframe export options": "Iframe 匯出選項", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "自訂 iframe 高度 (以 px 為單位): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "自訂 iframe 高度和寬度 (以 px 為單位):{{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "自訂圖像的寬度(像素): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "圖像: {{http://image.url.com}}", + "Import": "匯入", + "Import data": "匯入資料", + "Import in a new layer": "匯入至新圖層", + "Imports all umap data, including layers and settings.": "匯入所有 umap 資料,包含圖層與設定。", + "Include full screen link?": "是否包含全螢幕的連結?", + "Interaction options": "互動選項", + "Invalid umap data": "無效的 umap 資料", + "Invalid umap data in {filename}": "無效的 umap 資料於檔案 {filename}", + "Keep current visible layers": "保留目前可見圖層", + "Latitude": "緯度", + "Layer": "圖層", + "Layer properties": "圖層屬性", + "Licence": "授權", + "Limit bounds": "限制範圍", + "Link to…": "連結至...", + "Link with text: [[http://example.com|text of the link]]": "帶有超連結的文字: [[http://example.com|text of the link]]", + "Long credits": "詳細工作人員名單", + "Longitude": "經度", + "Make main shape": "設為主要外形", + "Manage layers": "管理圖層", + "Map background credits": "地圖背景取自", + "Map has been attached to your account": "地圖已經加入至你的帳號", + "Map has been saved!": "地圖儲存已完成", + "Map user content has been published under licence": "使用者地圖資訊內容已經以以下授權發佈", + "Map's editors": "地圖編輯者", + "Map's owner": "地圖擁有者", + "Merge lines": "合併線段", + "More controls": "更多控制項目", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "必須是有效的 CSS 值 (例如:DarkBlue 或是 #123456)", + "No licence has been set": "尚未設定授權條例", + "No results": "沒有結果", + "Only visible features will be downloaded.": "只有可見的圖徵會被下載", + "Open download panel": "開啓下載管理界面", + "Open link in…": "開啓連結於...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "在地圖編輯器中打開此地圖,提供更多準確資料給 OpenStreetMap", + "Optional intensity property for heatmap": "選用的熱圖 heatmap 強度屬性", + "Optional. Same as color if not set.": "可選,若您未選取顏色,則採用預設值", + "Override clustering radius (default 80)": "覆蓋群集分析半徑 (預設80)", + "Override heatmap radius (default 25)": "覆蓋指定熱圖 heatmap 半徑 (預設 25)", + "Please be sure the licence is compliant with your use.": "請再次確認所選的授權方式符合您的需求", + "Please choose a format": "請選擇地圖格式", + "Please enter the name of the property": "請輸入物件名稱", + "Please enter the new name of this property": "請輸入新的物件名稱", + "Powered by Leaflet and Django, glued by uMap project.": "使用 LeafletDjango 技術﹐由 uMap 計畫 整合。", + "Problem in the response": "回應出現錯誤", + "Problem in the response format": "回應的格式出現錯誤", + "Properties imported:": "屬性匯入完成", + "Property to use for sorting features": "排序圖徵所使用的屬性", + "Provide an URL here": "提供 URL網址", + "Proxy request": "使用代理請求", + "Remote data": "遠端資料", + "Remove shape from the multi": "移除外形", + "Rename this property on all the features": "在所有特徵中重新命名該物件", + "Replace layer content": "取代圖層內容", + "Restore this version": "回復此版本", + "Save": "儲存", + "Save anyway": "通通都儲存吧!", + "Save current edits": "儲存近期的變更", + "Save this center and zoom": "保存地圖中心點位置與縮放大小", + "Save this location as new feature": "將地點存為新的圖徵", + "Search a place name": "搜尋一個地名", + "Search location": "搜尋地點", + "Secret edit link is:
    {link}": "不公開的私密編輯連結:
    {link}", + "See all": "觀看完整內容", + "See data layers": "檢視資料圖層", + "See full screen": "觀看全螢幕", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "設定為假時,在幻燈片時、資料檢視器和彈出式導航中可將此圖層隱藏...", + "Shape properties": "形狀屬性", + "Short URL": "短網址", + "Short credits": "簡短工作人員名單", + "Show/hide layer": "顯示/隱藏圖層", + "Simple link: [[http://example.com]]": "簡單連結: [[http://example.com]]", + "Slideshow": "投影片", + "Smart transitions": "智慧轉換", + "Sort key": "排序鍵", + "Split line": "分隔線", + "Start a hole here": "開始一個凹洞", + "Start editing": "開始編輯", + "Start slideshow": "開啟投影片", + "Stop editing": "停止編輯", + "Stop slideshow": "中止投影片", + "Supported scheme": "支援的模板", + "Supported variables that will be dynamically replaced": "支援的物件將直接動態轉換", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "屬性標誌 (symbol) 可以是任一Unicode字元或URL地址。你可以使用項目屬性 (feature properties) 作為變數,如:\"http://myserver.org/images/{name}.png\" 北一URL中,變數 {name} 將會由各標記 (marker) 的 \"name\" 數值取代。", + "TMS format": "TMS 格式", + "Text color for the cluster label": "叢集標籤的文字顏色", + "Text formatting": "文字格式", + "The name of the property to use as feature label (ex.: \"nom\")": "用作圖徵標籤的屬性名稱 (例如:“nom”)", + "The zoom and center have been setted.": "已完成置中及切換功能設定", + "To use if remote server doesn't allow cross domain (slower)": "如果遠端伺服器不允許跨網域存取時使用 (效率較差)", + "To zoom": "至縮放大小", + "Toggle edit mode (Shift+Click)": "切換編輯模式 (Shift+Click)", + "Transfer shape to edited feature": "將外形加到編輯中的特徵", + "Transform to lines": "轉換為線條", + "Transform to polygon": "轉換為多邊形", + "Type of layer": "圖層類型", + "Unable to detect format of file {filename}": "無法偵測 {filename} 的檔案格式", + "Untitled layer": "未命名圖層", + "Untitled map": "未命名地圖", + "Update permissions": "更新權限", + "Update permissions and editors": "更新可編輯權限及編輯者", + "Url": "網址", + "Use current bounds": "使用目前範圍", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "以圖徵的屬性加上括弧作為標記,例如 {name},這樣子就可以動態被取代成對應的數值。", + "User content credits": "使用者內容清單", + "User interface options": "使用者界面選項", + "Versions": "版本", + "View Fullscreen": "以全屏幕模式顯示", + "Where do we go from here?": "我們要去哪裡?", + "Whether to display or not polygons paths.": "是否顯示多邊形的路徑。", + "Whether to fill polygons with color.": "是否將多邊形填入色彩。", + "Who can edit": "誰可以編輯", + "Who can view": "誰可以檢視", + "Will be displayed in the bottom right corner of the map": "將會顯示在地圖的右下角", + "Will be visible in the caption of the map": "標題將出現在地圖上", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "糟糕,好像有人正在進行編輯,您仍可儲存資料,但您做的變更將被他人修改取代。", + "You have unsaved changes.": "您有變更尚未儲存", + "Zoom in": "放大", + "Zoom level for automatic zooms": "自動縮放的比例大小", + "Zoom out": "縮小", + "Zoom to layer extent": "切換至圖層範圍", + "Zoom to the next": "切換至下一頁", + "Zoom to the previous": "切換至前一頁", + "Zoom to this feature": "縮放至圖徵範圍", + "Zoom to this place": "縮放到這個地方", + "attribution": "表彰", + "by": "由", + "display name": "顯示名稱", + "height": "高度", + "licence": "授權", + "max East": "最東方", + "max North": "最北方", + "max South": "最南方", + "max West": "最西方", + "max zoom": "放到最大", + "min zoom": "縮至最小", + "next": "下一個", + "previous": "前一個", + "width": "寬度", + "{count} errors during import: {message}": "於匯入時發生 {count} 項錯誤: {message}", + "Measure distances": "測量距離", + "NM": "NM", + "kilometers": "公里", + "km": "km", + "mi": "mi", + "miles": "英里", + "nautical miles": "海里", + "{area} acres": "{area} ac", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mi", + "{distance} yd": "{distance} yd", + "1 day": "1日", + "1 hour": "1小時", + "5 min": "5分", + "Cache proxied request": "快取代理請求", + "No cache": "沒有快取内容", + "Popup": "彈出式視窗", + "Popup (large)": "彈出式視窗 (大)", + "Popup content style": "彈出式視窗内容樣式", + "Popup shape": "彈出式視窗形狀", + "Skipping unknown geometry.type: {type}": "略過不明的 geometry.type: {type}", + "Optional.": "可選", + "Paste your data here": "請在此貼上你的資料", + "Please save the map first": "請先儲存地圖", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +}; +L.registerLocale("zh_TW", locale); +L.setLocale("zh_TW"); \ No newline at end of file diff --git a/umap/static/umap/locale/zh_TW.json b/umap/static/umap/locale/zh_TW.json new file mode 100644 index 00000000..1356795b --- /dev/null +++ b/umap/static/umap/locale/zh_TW.json @@ -0,0 +1,374 @@ +{ + "Add symbol": "新增圖示", + "Allow scroll wheel zoom?": "允許捲動放大?", + "Automatic": "自動", + "Ball": "球", + "Cancel": "取消", + "Caption": "標題", + "Change symbol": "更改圖示", + "Choose the data format": "選擇資料格式", + "Choose the layer of the feature": "選擇圖徵的圖層", + "Circle": "圓圈", + "Clustered": "群集後", + "Data browser": "資料檢視器", + "Default": "預設", + "Default zoom level": "預設縮放等級", + "Default: name": "預設: name", + "Display label": "顯示標籤", + "Display the control to open OpenStreetMap editor": "顯示開啟開放街圖編輯器的按鍵", + "Display the data layers control": "顯示資料圖層鍵", + "Display the embed control": "顯示嵌入鍵", + "Display the fullscreen control": "顯示全螢幕鍵", + "Display the locate control": "顯示定位鍵", + "Display the measure control": "顯示比例尺鍵", + "Display the search control": "顯示搜尋鍵", + "Display the tile layers control": "顯示圖層鍵", + "Display the zoom control": "顯示縮放鍵", + "Do you want to display a caption bar?": "您是否要顯示標題列?", + "Do you want to display a minimap?": "您想要顯示小型地圖嗎?", + "Do you want to display a panel on load?": "您是否要顯示", + "Do you want to display popup footer?": "您是否要顯示註腳彈出?", + "Do you want to display the scale control?": "您是否要顯示尺標?", + "Do you want to display the «more» control?": "您是否要顯示 《更多》?", + "Drop": "中止", + "GeoRSS (only link)": "GeoRSS (只有連結)", + "GeoRSS (title + image)": "GeoRSS (標題與圖片)", + "Heatmap": "熱點圖", + "Icon shape": "圖示圖形", + "Icon symbol": "圖示標誌", + "Inherit": "繼承", + "Label direction": "標籤方向", + "Label key": "標籤鍵", + "Labels are clickable": "標籤可點擊", + "None": "以上皆非", + "On the bottom": "在底部", + "On the left": "在左側", + "On the right": "在右側", + "On the top": "在頂部", + "Popup content template": "彈出內文範本", + "Set symbol": "設定標誌", + "Side panel": "側邊框", + "Simplify": "簡化", + "Symbol or url": "標誌或URL地址", + "Table": "表格", + "always": "經常", + "clear": "清除", + "collapsed": "收起", + "color": "色彩", + "dash array": "虛線排列", + "define": "定義", + "description": "描述", + "expanded": "展開", + "fill": "填入", + "fill color": "填入色彩", + "fill opacity": "填入不透明度", + "hidden": "隱藏", + "iframe": "iframe", + "inherit": "繼承", + "name": "名稱", + "never": "永不", + "new window": "新視窗", + "no": "否", + "on hover": "當滑過時", + "opacity": "不透明度", + "parent window": "父視窗", + "stroke": "筆畫粗細", + "weight": "寬度", + "yes": "是", + "{delay} seconds": "{delay} 秒", + "# one hash for main heading": "單個 # 代表主標題", + "## two hashes for second heading": "兩個 # 代表次標題", + "### three hashes for third heading": "三個 # 代表第三標題", + "**double star for bold**": "** 重複兩次星號代表粗體 **", + "*simple star for italic*": "*單個星號代表斜體*", + "--- for an horizontal rule": "-- 代表水平線", + "A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "用逗號來分隔一列列的虛線模式,例如:\"5, 10, 15\"。", + "About": "關於", + "Action not allowed :(": "行為不被允許:(", + "Activate slideshow mode": "開啟幻燈片模式", + "Add a layer": "新增圖層", + "Add a line to the current multi": "新增線段", + "Add a new property": "新增屬性", + "Add a polygon to the current multi": "新增多邊形", + "Advanced actions": "進階動作", + "Advanced properties": "進階屬性", + "Advanced transition": "進階轉換", + "All properties are imported.": "所有物件皆已匯入", + "Allow interactions": "允許互動", + "An error occured": "發生錯誤", + "Are you sure you want to cancel your changes?": "您確定要取消您所做的變更?", + "Are you sure you want to clone this map and all its datalayers?": "您確定要複製此地圖及所有資料圖層?", + "Are you sure you want to delete the feature?": "您確定要刪除該圖徵?", + "Are you sure you want to delete this layer?": "你確定要刪除這個圖層嗎?", + "Are you sure you want to delete this map?": "您確定要刪除此地圖?", + "Are you sure you want to delete this property on all the features?": "您確定要刪除所有圖徵中的此項屬性?", + "Are you sure you want to restore this version?": "您確定要回復此一版本嗎?", + "Attach the map to my account": "將地圖加入到我的帳號", + "Auto": "自動", + "Autostart when map is loaded": "當讀取地圖時自動啟動", + "Bring feature to center": "將圖徵置中", + "Browse data": "瀏覽資料", + "Cancel edits": "取消編輯", + "Center map on your location": "將您的位置設為地圖中心", + "Change map background": "更改地圖背景", + "Change tilelayers": "改變地圖磚圖層", + "Choose a preset": "選擇一種預設值", + "Choose the format of the data to import": "選擇匯入的資料格式", + "Choose the layer to import in": "選擇匯入圖層", + "Click last point to finish shape": "點下最後一點後完成外形", + "Click to add a marker": "點選以新增標記", + "Click to continue drawing": "點擊以繼續繪製", + "Click to edit": "點擊開始編輯", + "Click to start drawing a line": "點擊以開始繪製直線", + "Click to start drawing a polygon": "點選開始繪製多邊形", + "Clone": "複製", + "Clone of {name}": "複製 {name}", + "Clone this feature": "複製此項目", + "Clone this map": "複製此地圖", + "Close": "關閉", + "Clustering radius": "群集分析半徑", + "Comma separated list of properties to use when filtering features": "以逗號分開列出篩選時要使用的屬性", + "Comma, tab or semi-colon separated values. SRS WGS84 is implied. Only Point geometries are imported. The import will look at the column headers for any mention of «lat» and «lon» at the begining of the header, case insensitive. All other column are imported as properties.": "使用逗號、定位鍵或是分號分隔的地理數據。預設座標系為 SRS WGS84。只會匯入地理座標點。匯入時抓取 «lat» 與 «lon» 開頭的欄位資料,不分大小寫。其他欄位則歸入屬性資料。", + "Continue line": "連續線段", + "Continue line (Ctrl+Click)": "連續線(Ctrl+點擊鍵)", + "Coordinates": "座標", + "Credits": "工作人員名單", + "Current view instead of default map view?": "將目前視點設為預設視點?", + "Custom background": "自訂背景", + "Data is browsable": "資料是可檢視的", + "Default interaction options": "預設互動選項", + "Default properties": "預設屬性", + "Default shape properties": "預設形狀屬性", + "Define link to open in a new window on polygon click.": "指定點多邊形連結時開新視窗。", + "Delay between two transitions when in play mode": "播放模式下兩個轉換間會延遲", + "Delete": "刪除", + "Delete all layers": "刪除所有圖層", + "Delete layer": "刪除圖層", + "Delete this feature": "刪除此圖徵", + "Delete this property on all the features": "從所有圖徵中刪除此屬性", + "Delete this shape": "刪除外形", + "Delete this vertex (Alt+Click)": "刪除頂點 (Alt+Click)", + "Directions from here": "從此處開始導航", + "Disable editing": "停用編輯功能", + "Display measure": "Display measure", + "Display on load": "載入時顯示", + "Download": "下載", + "Download data": "下載資料", + "Drag to reorder": "拖拽以排序", + "Draw a line": "描繪線條", + "Draw a marker": "描繪標記", + "Draw a polygon": "描繪多邊形", + "Draw a polyline": "描繪折線", + "Dynamic": "動態", + "Dynamic properties": "動態屬性", + "Edit": "編輯", + "Edit feature's layer": "編輯圖徵的圖層", + "Edit map properties": "編輯地圖屬性", + "Edit map settings": "編輯地圖設定值", + "Edit properties in a table": "在表格中編輯屬性", + "Edit this feature": "編輯此圖徵", + "Editing": "編輯", + "Embed and share this map": "將地圖內嵌並分享", + "Embed the map": "嵌入地圖", + "Empty": "空白", + "Enable editing": "啟用編輯功能", + "Error in the tilelayer URL": "地圖磚圖層 URL 錯誤", + "Error while fetching {url}": "擷取網址時發生錯誤 {url}", + "Exit Fullscreen": "結束全螢幕模式", + "Extract shape to separate feature": "由外形分離出圖徵", + "Fetch data each time map view changes.": "每次地圖檢視改變時截取資料。", + "Filter keys": "篩選鍵", + "Filter…": "篩選器", + "Format": "格式", + "From zoom": "由縮放大小", + "Full map data": "全部地圖資料", + "Go to «{feature}»": "轉至 «{feature}»", + "Heatmap intensity property": "熱點圖強度屬性", + "Heatmap radius": "熱點圖半徑", + "Help": "幫助", + "Hide controls": "隱藏控制列", + "Home": "首頁", + "How much to simplify the polyline on each zoom level (more = better performance and smoother look, less = more accurate)": "在不同縮放比例下,多邊形的精簡程度 (精簡越多有較好的效率、多邊形越平滑,精簡越少圖形越精確)", + "If false, the polygon will act as a part of the underlying map.": "選擇「否」時,多邊形物件會被當成為底圖的一部分。", + "Iframe export options": "Iframe 匯出選項", + "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "自訂 iframe 高度 (以 px 為單位): {{{http://iframe.url.com|height}}}", + "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "自訂 iframe 高度和寬度 (以 px 為單位):{{{http://iframe.url.com|height*width}}}", + "Iframe: {{{http://iframe.url.com}}}": "Iframe: {{{http://iframe.url.com}}}", + "Image with custom width (in px): {{http://image.url.com|width}}": "自訂圖像的寬度(像素): {{http://image.url.com|width}}", + "Image: {{http://image.url.com}}": "圖像: {{http://image.url.com}}", + "Import": "匯入", + "Import data": "匯入資料", + "Import in a new layer": "匯入至新圖層", + "Imports all umap data, including layers and settings.": "匯入所有 umap 資料,包含圖層與設定。", + "Include full screen link?": "是否包含全螢幕的連結?", + "Interaction options": "互動選項", + "Invalid umap data": "無效的 umap 資料", + "Invalid umap data in {filename}": "無效的 umap 資料於檔案 {filename}", + "Keep current visible layers": "保留目前可見圖層", + "Latitude": "緯度", + "Layer": "圖層", + "Layer properties": "圖層屬性", + "Licence": "授權", + "Limit bounds": "限制範圍", + "Link to…": "連結至...", + "Link with text: [[http://example.com|text of the link]]": "帶有超連結的文字: [[http://example.com|text of the link]]", + "Long credits": "詳細工作人員名單", + "Longitude": "經度", + "Make main shape": "設為主要外形", + "Manage layers": "管理圖層", + "Map background credits": "地圖背景取自", + "Map has been attached to your account": "地圖已經加入至你的帳號", + "Map has been saved!": "地圖儲存已完成", + "Map user content has been published under licence": "使用者地圖資訊內容已經以以下授權發佈", + "Map's editors": "地圖編輯者", + "Map's owner": "地圖擁有者", + "Merge lines": "合併線段", + "More controls": "更多控制項目", + "Must be a valid CSS value (eg.: DarkBlue or #123456)": "必須是有效的 CSS 值 (例如:DarkBlue 或是 #123456)", + "No licence has been set": "尚未設定授權條例", + "No results": "沒有結果", + "Only visible features will be downloaded.": "只有可見的圖徵會被下載", + "Open download panel": "開啓下載管理界面", + "Open link in…": "開啓連結於...", + "Open this map extent in a map editor to provide more accurate data to OpenStreetMap": "在地圖編輯器中打開此地圖,提供更多準確資料給 OpenStreetMap", + "Optional intensity property for heatmap": "選用的熱圖 heatmap 強度屬性", + "Optional. Same as color if not set.": "可選,若您未選取顏色,則採用預設值", + "Override clustering radius (default 80)": "覆蓋群集分析半徑 (預設80)", + "Override heatmap radius (default 25)": "覆蓋指定熱圖 heatmap 半徑 (預設 25)", + "Please be sure the licence is compliant with your use.": "請再次確認所選的授權方式符合您的需求", + "Please choose a format": "請選擇地圖格式", + "Please enter the name of the property": "請輸入物件名稱", + "Please enter the new name of this property": "請輸入新的物件名稱", + "Powered by Leaflet and Django, glued by uMap project.": "使用 LeafletDjango 技術﹐由 uMap 計畫 整合。", + "Problem in the response": "回應出現錯誤", + "Problem in the response format": "回應的格式出現錯誤", + "Properties imported:": "屬性匯入完成", + "Property to use for sorting features": "排序圖徵所使用的屬性", + "Provide an URL here": "提供 URL網址", + "Proxy request": "使用代理請求", + "Remote data": "遠端資料", + "Remove shape from the multi": "移除外形", + "Rename this property on all the features": "在所有特徵中重新命名該物件", + "Replace layer content": "取代圖層內容", + "Restore this version": "回復此版本", + "Save": "儲存", + "Save anyway": "通通都儲存吧!", + "Save current edits": "儲存近期的變更", + "Save this center and zoom": "保存地圖中心點位置與縮放大小", + "Save this location as new feature": "將地點存為新的圖徵", + "Search a place name": "搜尋一個地名", + "Search location": "搜尋地點", + "Secret edit link is:
    {link}": "不公開的私密編輯連結:
    {link}", + "See all": "觀看完整內容", + "See data layers": "檢視資料圖層", + "See full screen": "觀看全螢幕", + "Set it to false to hide this layer from the slideshow, the data browser, the popup navigation…": "設定為假時,在幻燈片時、資料檢視器和彈出式導航中可將此圖層隱藏...", + "Shape properties": "形狀屬性", + "Short URL": "短網址", + "Short credits": "簡短工作人員名單", + "Show/hide layer": "顯示/隱藏圖層", + "Simple link: [[http://example.com]]": "簡單連結: [[http://example.com]]", + "Slideshow": "投影片", + "Smart transitions": "智慧轉換", + "Sort key": "排序鍵", + "Split line": "分隔線", + "Start a hole here": "開始一個凹洞", + "Start editing": "開始編輯", + "Start slideshow": "開啟投影片", + "Stop editing": "停止編輯", + "Stop slideshow": "中止投影片", + "Supported scheme": "支援的模板", + "Supported variables that will be dynamically replaced": "支援的物件將直接動態轉換", + "Symbol can be either a unicode caracter or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "屬性標誌 (symbol) 可以是任一Unicode字元或URL地址。你可以使用項目屬性 (feature properties) 作為變數,如:\"http://myserver.org/images/{name}.png\" 北一URL中,變數 {name} 將會由各標記 (marker) 的 \"name\" 數值取代。", + "TMS format": "TMS 格式", + "Text color for the cluster label": "叢集標籤的文字顏色", + "Text formatting": "文字格式", + "The name of the property to use as feature label (ex.: \"nom\")": "用作圖徵標籤的屬性名稱 (例如:“nom”)", + "The zoom and center have been setted.": "已完成置中及切換功能設定", + "To use if remote server doesn't allow cross domain (slower)": "如果遠端伺服器不允許跨網域存取時使用 (效率較差)", + "To zoom": "至縮放大小", + "Toggle edit mode (Shift+Click)": "切換編輯模式 (Shift+Click)", + "Transfer shape to edited feature": "將外形加到編輯中的特徵", + "Transform to lines": "轉換為線條", + "Transform to polygon": "轉換為多邊形", + "Type of layer": "圖層類型", + "Unable to detect format of file {filename}": "無法偵測 {filename} 的檔案格式", + "Untitled layer": "未命名圖層", + "Untitled map": "未命名地圖", + "Update permissions": "更新權限", + "Update permissions and editors": "更新可編輯權限及編輯者", + "Url": "網址", + "Use current bounds": "使用目前範圍", + "Use placeholders with feature properties between brackets, eg. {name}, they will be dynamically replaced by the corresponding values.": "以圖徵的屬性加上括弧作為標記,例如 {name},這樣子就可以動態被取代成對應的數值。", + "User content credits": "使用者內容清單", + "User interface options": "使用者界面選項", + "Versions": "版本", + "View Fullscreen": "以全屏幕模式顯示", + "Where do we go from here?": "我們要去哪裡?", + "Whether to display or not polygons paths.": "是否顯示多邊形的路徑。", + "Whether to fill polygons with color.": "是否將多邊形填入色彩。", + "Who can edit": "誰可以編輯", + "Who can view": "誰可以檢視", + "Will be displayed in the bottom right corner of the map": "將會顯示在地圖的右下角", + "Will be visible in the caption of the map": "標題將出現在地圖上", + "Woops! Someone else seems to have edited the data. You can save anyway, but this will erase the changes made by others.": "糟糕,好像有人正在進行編輯,您仍可儲存資料,但您做的變更將被他人修改取代。", + "You have unsaved changes.": "您有變更尚未儲存", + "Zoom in": "放大", + "Zoom level for automatic zooms": "自動縮放的比例大小", + "Zoom out": "縮小", + "Zoom to layer extent": "切換至圖層範圍", + "Zoom to the next": "切換至下一頁", + "Zoom to the previous": "切換至前一頁", + "Zoom to this feature": "縮放至圖徵範圍", + "Zoom to this place": "縮放到這個地方", + "attribution": "表彰", + "by": "由", + "display name": "顯示名稱", + "height": "高度", + "licence": "授權", + "max East": "最東方", + "max North": "最北方", + "max South": "最南方", + "max West": "最西方", + "max zoom": "放到最大", + "min zoom": "縮至最小", + "next": "下一個", + "previous": "前一個", + "width": "寬度", + "{count} errors during import: {message}": "於匯入時發生 {count} 項錯誤: {message}", + "Measure distances": "測量距離", + "NM": "NM", + "kilometers": "公里", + "km": "km", + "mi": "mi", + "miles": "英里", + "nautical miles": "海里", + "{area} acres": "{area} ac", + "{area} ha": "{area} ha", + "{area} m²": "{area} m²", + "{area} mi²": "{area} mi²", + "{area} yd²": "{area} yd²", + "{distance} NM": "{distance} NM", + "{distance} km": "{distance} km", + "{distance} m": "{distance} m", + "{distance} miles": "{distance} mi", + "{distance} yd": "{distance} yd", + "1 day": "1日", + "1 hour": "1小時", + "5 min": "5分", + "Cache proxied request": "快取代理請求", + "No cache": "沒有快取内容", + "Popup": "彈出式視窗", + "Popup (large)": "彈出式視窗 (大)", + "Popup content style": "彈出式視窗内容樣式", + "Popup shape": "彈出式視窗形狀", + "Skipping unknown geometry.type: {type}": "略過不明的 geometry.type: {type}", + "Optional.": "可選", + "Paste your data here": "請在此貼上你的資料", + "Please save the map first": "請先儲存地圖", + "Unable to locate you.": "Unable to locate you.", + "Feature identifier key": "Feature identifier key", + "Open current feature on load": "Open current feature on load", + "Permalink": "Permalink", + "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier." +} diff --git a/umap/static/umap/map.css b/umap/static/umap/map.css new file mode 100644 index 00000000..45e1cd2a --- /dev/null +++ b/umap/static/umap/map.css @@ -0,0 +1,1374 @@ +/* *********** */ +/* Map details */ +/* *********** */ +#map { + height: 100%; + width: 100%; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + + +/* *********** */ +/* Controls */ +/* *********** */ + +.leaflet-control-zoom, +.umap-control { + background: none no-repeat scroll center center #fff; + border-radius: 4px; + border: 1px solid #bbb; +} +.umap-control a:hover { + background-color: #f4f4f4; +} +.leaflet-control-fullscreen a:hover, +.leaflet-control-fullscreen a { + height: 36px; + width: 36px; + background-size: 36px 68px; +} +.leaflet-touch .leaflet-control-fullscreen a { + height: 36px; + width: 36px; + background-position: 0px 0px; +} +.leaflet-touch.leaflet-fullscreen-on .leaflet-control-fullscreen a, +.leaflet-fullscreen-on .leaflet-control-fullscreen a { + background-position: 0 -32px; +} +.leaflet-measure-control a, +.umap-control a { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + height: 36px; + width: 36px; + line-height: 36px; + background-image: url('./img/24.png'); +} +.leaflet-control.display-on-more, +a.umap-control-less { + display: none; +} +.umap-control-more, +.umap-control-less { + background-image: url('./img/16-white.png'); + background-position: -121px -211px; +} +.umap-control-less { + background-position: -161px -211px; +} +.umap-more-controls .display-on-more, +.umap-more-controls .umap-control-less { + display: block; +} +.umap-more-controls .umap-control-more { + display: none; +} +.leaflet-control-embed a { + background-position: -81px -121px; +} +.leaflet-control-tilelayers a { + background-position: -82px -2px; +} +.leaflet-control-home a { + background-position: -122px -82px; +} +.leaflet-control-locate a { + background-position: -1px -121px; +} +.leaflet-control-locate.active a { + background-position: -80px -161px; + box-shadow: 0 0 4px 0 black inset; +} +.leaflet-control-search a { + background-position: -41px -121px; + display: block; +} +.leaflet-control-search a.loading { + background-image: url('./img/search.gif'); +} +a.umap-control-text { + float: right; + margin: 0; + width: 36px; + height: 23px; + line-height: 23px; + border: 1px solid #444; + border-radius: 2px; + background-color: #666; + color: #f8f8f8; + text-align: center; + font-size: 0.8em; +} +.leaflet-control-edit-enable a { + background-image: url('./img/24-white.png'); + background-position: -1px -1px; + background-color: #353c3e; +} +.leaflet-control-toolbar .leaflet-toolbar-icon.dark:hover, +.leaflet-control-edit-enable a:hover { + background-color: #4d5759; +} + + + + + +/* ***************** */ +/* Search panel */ +/* ***************** */ +ul.photon-autocomplete { + position: absolute; + background-color: white; + z-index: 1000; + display: none; +} +.photon-autocomplete li { + min-height: 40px; + line-height: 1em; + padding: 5px 10px; + overflow: hidden; + white-space: nowrap; + font-size: 1em; + border-left: 4px solid #efefef; +} +.photon-autocomplete li strong { + display: block; +} +.photon-autocomplete li.on { + border-left: 4px solid #2980b9; + cursor: pointer; +} +.photon-autocomplete li.photon-no-result { + text-align: center; + color: #666; + font-size: 0.9em; + line-height: 40px; +} +.photon-autocomplete .photon-feedback { + display: block; + text-align: right; + font-size: 0.8em; + padding: 3px; + color: #999; + border-top: 1px solid #eee; +} +.search-result-tools { + float: right; + display: block; +} + + + +/* *********** */ +/* Draw */ +/* *********** */ +.leaflet-drawing-icon, +.leaflet-editable-drawing { + cursor: crosshair; +} +.leaflet-control-toolbar > li > .leaflet-toolbar-icon, +.umap-toolbar a, +.umap-toolbar a:hover { + height: 40px; + width: 40px; + display: none; + margin-top: 0; + vertical-align: top; + border-bottom: none; + background-color: #323737; + border-right: 1px solid #eee; + background-repeat: no-repeat; + background-image: url('./img/24.png'); + background-size: auto auto; +} +.leaflet-control-toolbar li .leaflet-toolbar-icon.dark { + background-image: url('./img/24-white.png'); +} +.umap-toolbar { + margin-top: 0; +} +.update-map-extent, +.leaflet-container .umap-toolbar .update-map-extent { + background-position: 0 -40px; +} +.umap-toolbar .update-map-tilelayers, +.update-map-tilelayers { + background-position: -80px 0; +} +.manage-datalayers { + background-position: -40px -80px; +} +.umap-toolbar .update-map-permissions, +.update-map-permissions { + background-position: -40px -40px; +} +.umap-toolbar .upload-data, +.upload-data { + background-position: -160px 0; +} +.umap-toolbar .update-map-settings, +.update-map-settings { + background-position: -120px 0; +} +.umap-draw-marker, +.umap-toolbar .umap-draw-marker { + background-position: -160px -40px; +} +.umap-draw-polyline, +.umap-toolbar .umap-draw-polyline { + background-position: -120px -40px; +} +.umap-draw-polyline-multi, +.umap-toolbar .umap-draw-polyline-multi { + background-position: -42px -162px; +} +.umap-draw-polygon, +.umap-toolbar .umap-draw-polygon { + background-position: -80px -40px; +} +.umap-draw-polygon-multi, +.umap-toolbar .umap-draw-polygon-multi { + background-position: -2px -162px; +} +.umap-edit-enabled .leaflet-control-toolbar > li > .leaflet-toolbar-icon, +.umap-edit-enabled .umap-toolbar a { + display: block; +} + + +/* ********************************* */ +/* Third party plugin override */ +/* ********************************* */ + +.leaflet-control-edit-in-osm .leaflet-control-edit-in-osm-toggle { + background-image: url('img/24.png'); + background-position: -121px -121px; +} +.leaflet-measure-control, +.leaflet-control-edit-in-osm { + border: 1px solid #bbb; + border-radius: 4px; + box-shadow: none; +} +.leaflet-measure-control a { + background-position: -1px -81px; +} +.leaflet-control .leaflet-measure-toggle { + display: inline-block; + vertical-align: middle; +} + + +/* ********************************* */ +/* Help Lightbox */ +/* ********************************* */ +.umap-help-box { + z-index: 10001; + position: absolute; + margin: 0 calc(50% - 500px/2); + width: 500px; + padding: 40px 20px; + border: 1px solid #222; + background-color: #323737; + color: #efefef; + font-size: 0.8em; + visibility: hidden; + top: -100%; +} +.umap-help-box .umap-close-link { + float: right; +} +.umap-help-button { + display: inline-block; + width: 16px; + height: 16px; + margin-left: 5px; + background-position: -12px -12px; + background-repeat: no-repeat; + background-image: url('./img/16.png'); + vertical-align: middle; +} +.dark .umap-help-button { + background-image: url('./img/16-white.png'); +} +.umap-help-on .umap-help-box { + visibility: visible; + top: 100px; +} +.umap-help-entry + .umap-help-entry { + margin-top: 10px; + border-top: 1px solid #aaa; + padding-top: 10px; +} + + +/* ********************************* */ +/* Edit main toolbox */ +/* ********************************* */ + +.leaflet-container a.leaflet-control-edit-save, +.leaflet-container a.leaflet-control-edit-cancel, +.leaflet-container a.leaflet-control-edit-disable { + display: block; + height: 36px; + line-height: 36px; + color: #efefef; + border: none; + font-size: 11px; + margin-left: 10px; + float: right; +} +.leaflet-container a.leaflet-control-edit-cancel, +.leaflet-container a.leaflet-control-edit-save { + color: #f8f8f8; + width: auto; + height: 36px; + line-height: 36px; + min-height: 36px; + padding: 0 10px; + min-width: 100px; +} +.leaflet-container a.leaflet-control-edit-cancel { + background-color: #C60F13; +} +.leaflet-container a.leaflet-control-edit-save { + opacity: 0.5; + cursor: not-allowed; + background-color: #215d9c; +} +.umap-is-dirty a.leaflet-control-edit-save { + opacity: 1; + cursor: pointer; +} +.leaflet-container a.leaflet-control-edit-save, +.leaflet-container a.leaflet-control-edit-cancel, +.leaflet-container a.leaflet-control-edit-disable, +.umap-edit-enabled .leaflet-control-edit-enable { + display: none; +} +.umap-edit-enabled a.leaflet-control-edit-save, +.umap-edit-enabled a.leaflet-control-edit-disable, +.umap-edit-enabled .umap-is-dirty a.leaflet-control-edit-cancel { + display: inline-block; +} +.umap-is-dirty a.leaflet-control-edit-disable { + display: none; +} +.umap-click-to-edit { + color: #4a90d9; + font-weight: bold; +} +.umap-click-to-edit:after { + content: "\00a0"; + background-repeat: no-repeat; + background-position: center center; + cursor: pointer; + width: 26px; + height: 100%; + display: inline-block; + background-position: -82px -82px; +} +.umap-click-to-edit:hover:after { + background-image: url('./img/16.png'); +} +.dark .umap-click-to-edit:hover:after { + background-image: url('./img/16-white.png'); +} +.umap-caption-bar { + display: none; +} +.umap-main-edit-toolbox { + top: -46px; + position: absolute; + width: 100%; + left: 0; + right: 0; + height: 46px; + background-color: #323737; + padding: 5px; + text-align: left; + line-height: 36px; + cursor: auto; + border-bottom: 1px solid #222; + z-index: 1000; + opacity: 0.98; + color: #efefef; +} +.umap-edit-enabled .umap-main-edit-toolbox { + top: 0; +} +.umap-edit-enabled .umap-caption-bar { + display: none; +} +.umap-caption-bar h3, +.umap-main-edit-toolbox h3 { + display: inline; +} +.umap-edit-enabled .leaflet-top { + top: 48px; +} +.umap-caption-bar-enabled .umap-caption-bar { + display: block; + height: 46px; + background-color: #fff; + width: 100%; + position: absolute; + left: 0; + bottom: 0; + right: 0; + padding: 0 0 0 5px; + text-align: left; + line-height: 46px; + cursor: auto; + border-top: 1px solid #ddd; + opacity: 0.93; + z-index: 1000; +} +.umap-caption-bar-enabled .leaflet-bottom { + bottom: 46px; +} +.umap-help { + font-style: italic; +} +.umap-slideshow-toolbox { + float: right; + display: none; +} +.umap-slideshow-enabled .umap-slideshow-toolbox { + display: inline-block; +} +.umap-slideshow-toolbox li { + display: inline-block; + cursor: pointer; + font-size: 1.5em; + background-color: #464646; + color: #fff; + height: 46px; + width: 70px; + line-height: 46px; + vertical-align: middle; + text-align: center; +} +.umap-slideshow-toolbox li + li { + border-left: 1px solid #aaa; +} +.umap-slideshow-toolbox li:hover { + background-color: #666; +} +.umap-slideshow-active .umap-slideshow-toolbox .play, +.umap-slideshow-toolbox .play { + width: 100px; + text-align: left; + padding-left: 20px; +} +.umap-slideshow-toolbox .play:after { + content: ' ▶'; +} +.umap-slideshow-active .umap-slideshow-toolbox .play:after { + content: ' ❚❚'; +} +.umap-slideshow-toolbox .stop:before { + content: '■'; +} +.umap-slideshow-toolbox .next:before { + content: '➡'; +} +.umap-slideshow-toolbox .prev:before { + content: '⬅'; +} +.umap-slideshow-toolbox .play div { + height: 20px; + width: 20px; + margin: 0px auto; + position: relative; + top: 5px; + -webkit-animation: rotation 5s infinite linear; + -moz-animation: rotation 5s infinite linear; + -o-animation: rotation 5s infinite linear; + animation: rotation 5s infinite linear; + border-left: 3px solid rgba(255,255,239,.15); + border-right: 3px solid rgba(255,255,255,.15); + border-bottom: 3px solid rgba(255,255,255,.15); + border-top: 3px solid rgba(255,255,255,.8); + border-radius:100%; + display: inline-block; + visibility: hidden; +} +@-webkit-keyframes rotation { + from {-webkit-transform: rotate(0deg);} + to {-webkit-transform: rotate(359deg);} +} +@-moz-keyframes rotation { + from {-moz-transform: rotate(0deg);} + to {-moz-transform: rotate(359deg);} +} +@-o-keyframes rotation { + from {-o-transform: rotate(0deg);} + to {-o-transform: rotate(359deg);} +} +@keyframes rotation { + from {transform: rotate(0deg);} + to {transform: rotate(359deg);} +} +.umap-slideshow-active .umap-slideshow-toolbox .play .spinner { + visibility: visible; +} +.umap-datalayer-version { + padding: 5px 0; + border-bottom: 1px solid #202425; +} +.umap-datalayer-version a { + display: inline-block; + width: 20px; + height: 20px; + margin-left: 5px; + background-position: -209px -130px; + background-repeat: no-repeat; + background-image: url('./img/16-white.png'); + vertical-align: middle; + margin-right: 5px; + border: 1px solid #202425; + background-color: #2c3233; +} + + + +/* ********************************* */ +/* Datalayers Control */ +/* ********************************* */ + +.leaflet-control-browse .umap-browse-toggle { + background-image: url('./img/24.png'); + width: 36px; + height: 36px; + background-position: -41px -81px; +} +.leaflet-control-browse .umap-browse-actions { + background-color: #fff; + padding: 10px; + display: none; + line-height: 24px; + border-radius: 2px; +} +.leaflet-control-browse .umap-browse-datalayers { + max-height: 10em; + overflow-y: auto; +} +.search-result-tools i, +.leaflet-inplace-toolbar a, +.umap-browse-features i, +.umap-caption i, +.umap-browse-datalayers i { + background-repeat: no-repeat; + background-image: url('./img/16.png'); + display: inline; + padding: 0 10px; + cursor: pointer; + height: 24px; + line-height: 24px; + vertical-align: middle; +} +.dark .umap-browse-datalayers i { + background-image: url('./img/16-white.png'); +} +.umap-browse-datalayers li[draggable] .drag-handle { + float: right; + background-position: -130px -130px; + margin-right: 5px; + cursor: move; +} +.leaflet-inplace-toolbar a { + background-image: url('./img/16-white.png'); + background-color: #323737!important; +} +.leaflet-toolbar-tip { + background-color: #323737; +} +.leaflet-inplace-toolbar a:hover { + background-color: #353c3e!important; +} +.leaflet-control-browse .umap-browse-datalayers .off i { + cursor: inherit; +} +.layer-toggle { + background-position: -90px -51px; +} +.off .layer-toggle { + background-position: -130px -51px; +} +.feature-zoom_to { + background-position: -10px -88px; +} +.layer-zoom_to { + background-position: -10px -91px; +} +.layer-table-edit { + background-position: -90px -10px; +} +.layer-delete { + background-position: -209px -90px; +} +.feature-edit, +.layer-edit { + background-position: -90px -89px; +} +.umap-toggle-edit { + background-position: -85px -85px; +} +.off .layer-table-edit { + background-position: -129px -10px; +} +.off .layer-edit { + background-position: -90px -129px; +} +.off .layer-zoom_to { + background-position: -50px -91px; +} +.off .layer-delete { + background-position: -209px -208px; +} +.umap-new-hole { + background-position: -125px -165px; +} +.umap-delete-all { + background-position: -204px -85px; +} +.umap-delete-one-of-multi { + background-position: -165px -125px; +} +.umap-delete-one-of-one { + background-position: -204px -86px; +} +.umap-delete-vertex { + background-position: -205px -165px; +} +.umap-continue-line { + background-position: -165px -5px; +} +.umap-split-line { + background-position: -205px -45px; +} +.umap-extract-shape-from-multi{ + background-position: -205px -5px; +} +.umap-browse-features .feature-title, +.leaflet-control-browse .umap-browse-actions .layer-title { + width: inherit; + cursor: inherit; + padding-left: 6px; +} +.umap-browse-features .feature-title { + font-size: 12px; + cursor: pointer; +} +.leaflet-control-browse .umap-browse-actions .off .layer-title { + color: rgb(179, 179, 179); +} +.leaflet-control-browse.expanded > a { + display: none; +} +.leaflet-control-browse.expanded .umap-browse-actions { + display: block; +} +.leaflet-control-browse a.umap-browse-link { + background-image: none; + background-color: rgb(68, 68, 68); + color: white; + display: block; + height: 24px; + line-height: 24px; + margin-top: 14px; + padding: 0 5px; + text-align: right; + min-width: 160px; + width: 100%; + border-radius: 2px; +} +a.add-datalayer:before, +.leaflet-control-browse a.umap-browse-link:before { + background-image: url('./img/16.png'); + background-repeat: no-repeat; + background-position: -92px -168px; + width: 24px; + height: 24px; + content: " "; + display: block; + float: left; +} +a.add-datalayer:before { + background-position: -45px -45px; +} +a.add-datalayer:hover, +.leaflet-control-browse a.umap-browse-link:hover { + background-color: rgb(99, 99, 99); +} +.umap-browse-data .off .feature { + display: none; +} + + +/* ********************************* */ +/* Features browser panel */ +/* ********************************* */ + +.umap-browse-features > div { + border: 1px solid #d3d3d3; + margin-bottom: 14px; + border-radius: 2px; +} +.umap-browse-features h5 { + height: 30px; + line-height: 30px; + background-color: #eeeee0; + margin-bottom: 0; + color: #666; + overflow: hidden; + padding-left: 5px; +} +.umap-browse-features h5 span { + margin-left: 10px; +} +.umap-browse-features li { + padding: 2px 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.umap-browse-features li:nth-child(even) { + background-color: #f8f8f3; +} +.umap-browse-features .feature-color { + box-shadow: 0 0 4px 0 black inset; + background-size: 70% 70%; + border: 4px solid #f8f8f3; + cursor: inherit; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + box-sizing: border-box; + background-position: center; + display: inline-block; + padding: 0; + width: 24px; +} +.umap-browse-features .polygon .feature-color, +.umap-browse-features .polyline .feature-color { + box-shadow: 0 0 4px 0 black inset; + background-image: url('./img/24.png'); + background-size: 500%; +} +.umap-browse-features .polyline .feature-color { + background-position: -48px -16px; +} +.umap-browse-features .polygon .feature-color { + background-position: -32px -16px; +} +.show-on-edit { + display: none!important; +} +.umap-edit-enabled .show-on-edit { + display: inline-block!important; +} +.umap-edit-enabled .show-on-edit.inline { + display: inline!important; +} +.umap-edit-enabled .show-on-edit.block { + display: block!important; +} + +.umap-browse-description { + font-size: 0.9em; + margin-bottom: 14px; +} + + +/* ********************************* */ +/* Table Editor */ +/* ********************************* */ +#umap-ui-container.umap-table-editor { + padding-left: 0; + padding-right: 0; +} +#umap-ui-container.umap-table-editor .toolbox li { + float: left; +} + +.umap-table-editor .umap-close-link { + right: auto; + left: 20px; +} +.umap-table-editor .table { + display: table; + width: 100%; + white-space: nowrap; + table-layout: fixed; +} +.umap-table-editor .tbody { + display: table-row-group; +} +.umap-table-editor .thead, +.umap-table-editor .trow { + display: table-row; +} +.umap-table-editor .tcell { + display: table-cell; + width: 200px; +} +.umap-table-editor .thead { + text-align: center; + height: 48px; + line-height: 48px; + background-color: #2c3133; +} +.umap-table-editor .thead .tcell { + border-left: 1px solid #0b0c0c; +} +.umap-table-editor .tbody .trow input { + margin: 0; + border-right: none; + display: inline; +} +.umap-table-editor .tbody .trow + .trow input { + border-top: none; +} +.umap-table-editor .thead i { + display: none; + width: 50%; + cursor: pointer; + padding: 10px 0; + height: 24px; + line-height: 24px; +} +.umap-table-editor .thead i:before { + width: 40px; +} +.umap-table-editor .thead .tcell:hover i { + display: inline-block; +} +.umap-table-editor .thead .tcell i:hover { + background-color: #33393b; +} +.umap-table-editor .thead .tcell:hover span { + display: none; +} +.remotelayer .layer-table-edit { + display: none !important; +} + +/* ********************************* */ +/* Icons */ +/* ********************************* */ +.umap-icon-16 { + background-repeat: no-repeat; + background-image: url('./img/16.png'); + display: inline; + padding: 0 10px; + vertical-align: middle; +} +.umap-add { + background-position: -12px -49px; +} +.umap-list { + background-position: -52px -168px; +} +.umap-list-white { + background-position: -92px -168px; +} +.umap-caption { + background-position: -170px -52px; + padding: 0 10px; +} + +/* ********************************* */ +/* Tilelayer switcher */ +/* ********************************* */ + +.umap-tilelayer-switcher-container { + margin-top: 10px; +} +.umap-tilelayer-switcher-container li { + border: 1px solid rgb(116, 116, 116); + border-radius: 4px 4px 4px 4px; + margin-bottom: 14px; + overflow: hidden; + position: relative; + width: 256px; + cursor: pointer; + height: 200px; + margin-left: auto; + margin-right: auto; +} +.umap-tilelayer-switcher-container li div { + background-color: rgb(116, 116, 116); + bottom: 0; + color: rgb(247, 246, 241); + height: 56px; + line-height: 56px; + opacity: 0.9; + padding-left: 10px; + position: absolute; + width: 100%; + text-align: center; +} +.umap-tilelayer-switcher-container li:hover div:before, +.umap-tilelayer-switcher-container .selected div:before { + content: "✓"; + font-size: 1.3em; + line-height: 56px; + padding-right: 7px; + position: absolute; + left: 7px; +} +.umap-tilelayer-switcher-container li img { + display: block; + max-width: 100%; +} + +/* ********************************* */ +/* Caption */ +/* ********************************* */ +.datalayer-color { + display: inline-block; + width: 16px; + height: 16px; + margin-right: 10px; + border: 1px solid #000; + background-color: transparent; + vertical-align: middle; +} + + +/* ********************************* */ +/* Popup */ +/* ********************************* */ +.umap-popup { + display: flex; + flex-flow: column nowrap; + height:100%; +} + +.umap-popup-footer { + background-color: rgb(68, 68, 68); + color: white; + display: table; + width: 100%; + margin-top: auto; + min-width: 99px; + border-radius: 2px; + max-height: 24px; +} +.umap-popup-footer li { + line-height: 24px; + height: 24px; + display: table-cell; + width: 33.3%; + cursor: pointer; + text-align: center; +} +.umap-popup-footer li:before { + display: inline-block; + width: 16px; + height: 16px; + margin-left: 5px; + background-repeat: no-repeat; + background-image: url('./img/16.png'); + vertical-align: middle; + content: " "; +} +.umap-popup-footer li.zoom:before { + background-position: -12px -170px; +} +.umap-popup-footer li.previous:before { + background-position: -52px -130px; +} +.umap-popup-footer li.next:before { + background-position: -12px -130px; +} + + +/* ************* */ +/* Marker's Icon */ +/* ************* */ +.umap-div-icon .icon_container { + background-color: white; + border-radius: 4px 4px 4px 4px; + height: 32px; + width: 32px; + box-shadow: 7px 10px 8px -5px black; + opacity: 0.9; + background-color: #2470b5; + text-align: center; + line-height: 32px; +} +.umap-div-icon .icon_container img { + vertical-align: middle; + max-width: 24px!important; /* leaflet.css has !important, so... */ + max-height: 24px!important; +} +.umap-div-icon .icon_arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #2270b5; + height: 0; + left: 8px; + position: relative; + width: 0; + opacity: 0.9; + /*box-shadow: 4px 8px 6px -3px black;*/ +} +.umap-drop-icon .icon_arrow { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 16px solid #2270B5; + height: 0; + left: 6px; + position: relative; + top: -4px; + width: 0; +} +.umap-drop-icon .icon_container { + background-color: #2470B5; + border-radius: 16px 16px 16px 16px; + box-shadow: 6px 13px 8px -4px black; + height: 32px; + line-height: 32px; + opacity: 0.9; + text-align: center; + width: 32px; +} +.umap-drop-icon .icon_container img { + vertical-align: middle; + max-width: 24px !important; + max-height: 24px!important; +} +.umap-div-icon .icon_container span, +.umap-drop-icon .icon_container span { + vertical-align: middle; + color: white; + font-weight: bold; +} +.umap-circle-icon { + border: 1px solid white; + border-radius: 10px 10px 10px 10px; + height: 12px; + width: 12px; +} +.umap-ball-icon .icon_container { + background-color: darkblue; + background: radial-gradient(circle at 6px 38% , white -4px, darkblue 8px) repeat scroll 0 0 transparent; + border-radius: 8px 8px 8px 8px; + box-shadow: 1px 21px 6px -3px black; + height: 16px; + opacity: 0.9; + text-align: center; + width: 16px; +} +.umap-ball-icon .icon_arrow { + background-color: black; + height: 16px; + left: 7px; + opacity: 0.9; + position: relative; + top: -1px; + width: 2px; +} +.umap-edit-enabled .readonly { + cursor: not-allowed; +} + + +/* ********************************* */ +/* Ajax loader */ +/* ********************************* */ +.umap-loading .umap-loader +{ + display: block; + -webkit-animation: shift-rightwards 3s ease-in-out infinite; + -moz-animation: shift-rightwards 3s ease-in-out infinite; + -ms-animation: shift-rightwards 3s ease-in-out infinite; + -o-animation: shift-rightwards 3s ease-in-out infinite; + animation: shift-rightwards 3s ease-in-out infinite; + -webkit-animation-delay: .2s; + -moz-animation-delay: .2s; + -o-animation-delay: .2s; + animation-delay: .2s; +} +.umap-loader +{ + position: absolute; + display: none; + top: 0; + left: 0; + right: 0; + height: 4px; + z-index: 10100; + background-color: #79c1c0 !important; + -webkit-transform: translateX(100%); + -moz-transform: translateX(100%); + -o-transform: translateX(100%); + transform: translateX(100%); +} + + +@-webkit-keyframes shift-rightwards +{ + 0% + { + -webkit-transform:translateX(-100%); + -moz-transform:translateX(-100%); + -o-transform:translateX(-100%); + transform:translateX(-100%); + } + + 40% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 60% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 100% + { + -webkit-transform:translateX(100%); + -moz-transform:translateX(100%); + -o-transform:translateX(100%); + transform:translateX(100%); + } + +} +@-moz-keyframes shift-rightwards +{ + 0% + { + -webkit-transform:translateX(-100%); + -moz-transform:translateX(-100%); + -o-transform:translateX(-100%); + transform:translateX(-100%); + } + + 40% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 60% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 100% + { + -webkit-transform:translateX(100%); + -moz-transform:translateX(100%); + -o-transform:translateX(100%); + transform:translateX(100%); + } + +} +@-o-keyframes shift-rightwards +{ + 0% + { + -webkit-transform:translateX(-100%); + -moz-transform:translateX(-100%); + -o-transform:translateX(-100%); + transform:translateX(-100%); + } + + 40% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 60% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 100% + { + -webkit-transform:translateX(100%); + -moz-transform:translateX(100%); + -o-transform:translateX(100%); + transform:translateX(100%); + } + +} +@keyframes shift-rightwards +{ + 0% + { + -webkit-transform:translateX(-100%); + -moz-transform:translateX(-100%); + -o-transform:translateX(-100%); + transform:translateX(-100%); + } + + 40% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 60% + { + -webkit-transform:translateX(0%); + -moz-transform:translateX(0%); + -o-transform:translateX(0%); + transform:translateX(0%); + } + + 100% + { + -webkit-transform:translateX(100%); + -moz-transform:translateX(100%); + -o-transform:translateX(100%); + transform:translateX(100%); + } +} + +/* *************************** */ +/* Overriding leaflet defaults */ +/* *************************** */ + +.leaflet-control-zoom a, .leaflet-control-zoom a:hover { + height: 36px; + width: 36px; + line-height: 36px; +} +.leaflet-container .leaflet-control-zoom { + margin-left: 10px; +} +.leaflet-top { + z-index: 1001; +} +.leaflet-popup-content { + min-width: 100px; + line-height: inherit; +} +.leaflet-popup-content-wrapper, .leaflet-popup-tip { + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); +} +.leaflet-popup-content-wrapper { + border-radius: 4px; +} +.umap-popup-content { + max-height: 500px; + flex-grow: 1; + overflow-y: auto; + overflow-x: hidden; + margin-bottom: 4px; + display: flex; + flex-direction: column; +} +.umap-popup-content iframe { + min-width: 310px; +} +.umap-popup-container { + flex-grow: 1; + padding: 0 10px; +} +.leaflet-popup-content h3 { + margin-bottom: 0; +} +.leaflet-control-toolbar, +.leaflet-bar { + box-shadow: none; +} +.marker-cluster { + background-color: white; + width: 40px; + height: 40px; +} +.leaflet-contextmenu-icon { + display: none; +} +.umap-popup-large iframe, +.umap-popup-large img { + /* See https://github.com/Leaflet/Leaflet/commit/61d746818b99d362108545c151a27f09d60960ee#commitcomment-6061847 */ + max-width: 500px !important; +} +.umap-popup-content img { + max-width: 100%; +} +.umap-georss-link .popup-title { + text-align: center; +} +.leaflet-inplace-toolbar { + z-index: 10000!important; +} +.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar { + border-width: 1px; +} +.leaflet-touch .leaflet-bar a { + width: 36px; + height: 36px; + line-height: 36px; +} + +/* *********** */ +/* Geolocation */ +/* *********** */ +.geolocated { + width: 16px !important; + height: 16px!important; + background-color: #3388ff; + border: 1px solid white; + border-radius: 8px; + box-shadow: 1px 5px 5px black; +} + +/* ****** */ +/* Mobile */ +/* ****** */ + +@media all and (max-width: 480px) { + + .leaflet-control-layers-expanded label { + display: inline-block; + margin-right: 10px; + } + + .leaflet-control-layers-expanded { + margin-left: 10px; + } +} + +/* ****** */ +/* Print */ +/* ****** */ + +@media print { + + .leaflet-control-container { + display: none; + } +} diff --git a/umap/static/umap/nav.css b/umap/static/umap/nav.css index 2cf21774..48efa3c8 100644 --- a/umap/static/umap/nav.css +++ b/umap/static/umap/nav.css @@ -1,3 +1,33 @@ +header { + margin: 14px 0; +} + +footer { + height: 140px; + margin-top: 40px; + background-color: #2E3641; + text-align: center; + line-height: 140px; + color: #8F96A3; +} +footer a.branding { + background-image: url("./img/logo_filigree.png"); + background-position: left center; + background-repeat: no-repeat; + background-size: 60px auto; + font-size: 30px; + font-weight: bold; + height: 140px; + padding-left: 70px; + color: #8F96A3; + display: inline-block; +} + +footer .i18n_switch { + display: inline-block; +} + + .umap-nav { display: flex; flex-direction: column; diff --git a/umap/static/umap/test/.eslintrc b/umap/static/umap/test/.eslintrc new file mode 100644 index 00000000..08d92416 --- /dev/null +++ b/umap/static/umap/test/.eslintrc @@ -0,0 +1,22 @@ +{ + "globals": { + "describe": true, + "happen": true, + "assert": true, + "before": true, + "after": true, + "it": true, + "sinon": true, + "qs": true, + "enableEdit": true, + "disableEdit": true, + "changeInputValue": true, + "resetMap": true, + "initMap": true, + "clickCancel": true, + "map": true, + "qs": true, + "qsa": true, + "qst": true + } +} diff --git a/umap/static/umap/test/Controls.js b/umap/static/umap/test/Controls.js new file mode 100644 index 00000000..a0611f65 --- /dev/null +++ b/umap/static/umap/test/Controls.js @@ -0,0 +1,50 @@ +describe('L.Utorage.Controls', function(){ + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.map = initMap({umap_id: 99}); + this.server.respond(); + this.datalayer = this.map.getDataLayerByUmapId(62); + }); + after(function () { + this.server.restore(); + resetMap(); + }); + + describe('#databrowser()', function(){ + + it('should be opened at datalayer button click', function() { + var button = qs('.umap-browse-actions .umap-browse-link'); + assert.ok(button); + happen.click(button); + assert.ok(qs('#umap-ui-container .umap-browse-data')); + }); + + it('should contain datalayer section', function() { + assert.ok(qs('#browse_data_datalayer_62')); + }); + + it('should contain datalayer\'s features list', function() { + assert.equal(qsa('#browse_data_datalayer_62 ul li').length, 3); + }); + + it('should redraw datalayer\'s features list at feature delete', function() { + var oldConfirm = window.confirm; + window.confirm = function () {return true;}; + enableEdit(); + happen.once(qs('path[fill="DarkBlue"]'), {type: 'contextmenu'}); + happen.click(qs('.leaflet-contextmenu .umap-delete')); + assert.equal(qsa('#browse_data_datalayer_62 ul li').length, 2); + window.confirm = oldConfirm; + }); + + it('should redraw datalayer\'s features list on edit cancel', function() { + clickCancel(); + happen.click(qs('.umap-browse-actions .umap-browse-link')); + assert.equal(qsa('#browse_data_datalayer_62 ul li').length, 3); + }); + + }); + +}); diff --git a/umap/static/umap/test/DataLayer.js b/umap/static/umap/test/DataLayer.js new file mode 100644 index 00000000..72ece389 --- /dev/null +++ b/umap/static/umap/test/DataLayer.js @@ -0,0 +1,334 @@ +describe('L.U.DataLayer', function () { + var path = '/map/99/datalayer/edit/62/'; + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('GET', '/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.map = initMap({umap_id: 99}); + this.datalayer = this.map.getDataLayerByUmapId(62); + this.server.respond(); + enableEdit(); + }); + after(function () { + this.server.restore(); + resetMap(); + }); + + describe('#init()', function () { + + it('should be added in datalayers index', function () { + assert.notEqual(this.map.datalayers_index.indexOf(this.datalayer), -1); + }); + + }); + + describe('#edit()', function () { + var editButton, form, input, forceButton; + + it('row in control should be active', function () { + assert.notOk(qs('.leaflet-control-browse #browse_data_toggle_' + L.stamp(this.datalayer) + '.off')); + }); + + it('should have edit button', function () { + editButton = qs('#browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-edit'); + assert.ok(editButton); + }); + + it('should have toggle visibility element', function () { + assert.ok(qs('.leaflet-control-browse i.layer-toggle')); + }); + + it('should exist only one datalayer', function () { + assert.equal(qsa('.leaflet-control-browse i.layer-toggle').length, 1); + }); + + it('should build a form on edit button click', function () { + happen.click(editButton); + form = qs('form.umap-form'); + input = qs('form.umap-form input[name="name"]'); + assert.ok(form); + assert.ok(input); + }); + + it('should update name on input change', function () { + var new_name = 'This is a new name'; + input.value = new_name; + happen.once(input, {type: 'input'}); + assert.equal(this.datalayer.options.name, new_name); + }); + + it('should have made datalayer dirty', function () { + assert.ok(this.datalayer.isDirty); + assert.notEqual(this.map.dirty_datalayers.indexOf(this.datalayer), -1); + }); + + it('should have made Map dirty', function () { + assert.ok(this.map.isDirty); + }); + + it('should call datalayer.save on save button click', function (done) { + sinon.spy(this.datalayer, 'save'); + this.server.flush(); + this.server.respondWith('POST', '/map/99/update/settings/', JSON.stringify({id: 99})); + this.server.respondWith('POST', '/map/99/datalayer/update/62/', JSON.stringify(defaultDatalayerData())); + clickSave(); + this.server.respond(); + this.server.respond(); + assert(this.datalayer.save.calledOnce); + this.datalayer.save.restore(); + done(); + }); + + it('should show alert if server respond 412', function () { + cleanAlert(); + this.server.flush(); + this.server.respondWith('POST', '/map/99/update/settings/', JSON.stringify({id: 99})); + this.server.respondWith('POST', '/map/99/datalayer/update/62/', [412, {}, '']); + happen.click(editButton); + input = qs('form.umap-form input[name="name"]'); + input.value = 'a new name'; + happen.once(input, {type: 'input'}); + clickSave(); + this.server.respond(); + this.server.respond(); + assert(L.DomUtil.hasClass(this.map._container, 'umap-alert')); + assert.notEqual(this.map.dirty_datalayers.indexOf(this.datalayer), -1); + forceButton = qs('#umap-alert-container .umap-action'); + assert.ok(forceButton); + }); + + it('should save anyway on force save button click', function () { + sinon.spy(this.map, 'continueSaving'); + happen.click(forceButton); + this.server.flush(); + this.server.respond('POST', '/map/99/datalayer/update/62/', JSON.stringify(defaultDatalayerData())); + assert.notOk(qs('#umap-alert-container .umap-action')); + assert(this.map.continueSaving.calledOnce); + this.map.continueSaving.restore(); + assert.equal(this.map.dirty_datalayers.indexOf(this.datalayer), -1); + }); + + }); + + describe('#save() new', function () { + var newLayerButton, form, input, newDatalayer, editButton, manageButton; + + it('should have a manage datalayers action', function () { + enableEdit(); + manageButton = qs('.manage-datalayers'); + assert.ok(manageButton); + happen.click(manageButton); + }); + + it('should have a new layer button', function () { + newLayerButton = qs('#umap-ui-container .add-datalayer'); + assert.ok(newLayerButton); + }); + + it('should build a form on new layer button click', function () { + happen.click(newLayerButton); + form = qs('form.umap-form'); + input = qs('form.umap-form input[name="name"]'); + assert.ok(form); + assert.ok(input); + }); + + it('should have an empty name', function () { + assert.notOk(input.value); + }); + + it('should have created a new datalayer', function () { + assert.equal(this.map.datalayers_index.length, 2); + newDatalayer = this.map.datalayers_index[1]; + }); + + it('should have made Map dirty', function () { + assert.ok(this.map.isDirty); + }); + + it('should update name on input change', function () { + var new_name = 'This is a new name'; + input.value = new_name; + happen.once(input, {type: 'input'}); + assert.equal(newDatalayer.options.name, new_name); + }); + + it('should set umap_id on save callback', function () { + assert.notOk(newDatalayer.umap_id); + this.server.flush(); + this.server.respondWith('POST', '/map/99/update/settings/', JSON.stringify({id: 99})); + this.server.respondWith('POST', '/map/99/datalayer/create/', JSON.stringify(defaultDatalayerData({id: 63}))); + clickSave(); + this.server.respond(); + this.server.respond(); // First respond will then trigger another Xhr request (continueSaving) + assert.equal(newDatalayer.umap_id, 63); + }); + + it('should have unset map dirty', function () { + assert.notOk(this.map.isDirty); + }); + + it('should have edit button', function () { + editButton = qs('#browse_data_toggle_' + L.stamp(newDatalayer) + ' .layer-edit'); + assert.ok(editButton); + }); + + it('should call update if we edit again', function () { + happen.click(editButton); + assert.notOk(this.map.isDirty); + input = qs('form.umap-form input[name="name"]'); + input.value = 'a new name again but we don\'t care which'; + happen.once(input, {type: 'input'}); + assert.ok(this.map.isDirty); + var response = function (request) { + return request.respond(200, {}, JSON.stringify(defaultDatalayerData({pk: 63}))); + }; + var spy = sinon.spy(response); + this.server.flush(); + this.server.respondWith('POST', '/map/99/update/settings/', JSON.stringify({id: 99})); + this.server.respondWith('POST', '/map/99/datalayer/update/63/', spy); + clickSave(); + this.server.respond(); + this.server.respond(); + assert.ok(spy.calledOnce); + }); + + }); + + describe('#iconClassChange()', function () { + + it('should change icon class', function () { + happen.click(qs('[data-id="' + this.datalayer._leaflet_id +'"] .layer-edit')); + changeSelectValue(qs('form#datalayer-advanced-properties select[name=iconClass]'), 'Circle'); + assert.notOk(qs('div.umap-div-icon')); + assert.ok(qs('div.umap-circle-icon')); + happen.click(qs('form#datalayer-advanced-properties .umap-field-iconClass .undefine')); + assert.notOk(qs('div.umap-circle-icon')); + assert.ok(qs('div.umap-div-icon')); + clickCancel(); + }); + + }); + + describe('#show/hide', function () { + + it('should hide features on hide', function () { + assert.ok(qs('div.umap-div-icon')); + assert.ok(qs('path[fill="none"]')); + this.datalayer.hide(); + assert.notOk(qs('div.umap-div-icon')); + assert.notOk(qs('path[fill="none"]')); + }); + + it('should show features on show', function () { + assert.notOk(qs('div.umap-div-icon')); + assert.notOk(qs('path[fill="none"]')); + this.datalayer.show(); + assert.ok(qs('div.umap-div-icon')); + assert.ok(qs('path[fill="none"]')); + }); + + }); + + describe('#clone()', function () { + + it('should clone everything but the id and the name', function () { + enableEdit(); + var clone = this.datalayer.clone(); + assert.notOk(clone.umap_id); + assert.notEqual(clone.options.name, this.datalayer.name); + assert.ok(clone.options.name); + assert.equal(clone.options.color, this.datalayer.options.color); + assert.equal(clone.options.stroke, this.datalayer.options.stroke); + clone._delete(); + clickSave(); + }); + + }); + + describe('#restore()', function () { + var oldConfirm, + newConfirm = function () { + return true; + }; + + before(function () { + oldConfirm = window.confirm; + window.confirm = newConfirm; + }); + after(function () { + window.confirm = oldConfirm; + }); + + it('should restore everything', function () { + enableEdit(); + var geojson = L.Util.CopyJSON(RESPONSES.datalayer62_GET); + geojson.features.push({ + 'geometry': { + 'type': 'Point', + 'coordinates': [-1.274658203125, 50.57634993749885] + }, + 'type': 'Feature', + 'id': 1807, + 'properties': {_umap_options: {}, name: 'new point from restore'} + }); + geojson._umap_options.color = 'Chocolate'; + this.server.respondWith('GET', '/datalayer/62/olderversion.geojson', JSON.stringify(geojson)); + sinon.spy(window, 'confirm'); + this.datalayer.restore('olderversion.geojson'); + this.server.respond(); + assert(window.confirm.calledOnce); + window.confirm.restore(); + assert.equal(this.datalayer.umap_id, 62); + assert.ok(this.datalayer.isDirty); + assert.equal(this.datalayer._index.length, 4); + assert.ok(qs('path[fill="Chocolate"]')); + }); + + it('should revert anything on cancel click', function () { + clickCancel(); + assert.equal(this.datalayer._index.length, 3); + assert.notOk(qs('path[fill="Chocolate"]')); + }); + + }); + + describe('#delete()', function () { + var deleteLink, deletePath = '/map/99/datalayer/delete/62/'; + + it('should have a delete link in update form', function () { + enableEdit(); + happen.click(qs('#browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-edit')); + deleteLink = qs('a.delete_datalayer_button'); + assert.ok(deleteLink); + }); + + it('should delete features on datalayer delete', function () { + happen.click(deleteLink); + assert.notOk(qs('div.icon_container')); + }); + + it('should have set map dirty', function () { + assert.ok(this.map.isDirty); + }); + + it('should delete layer control row on delete', function () { + assert.notOk(qs('.leaflet-control-browse #browse_data_toggle_' + L.stamp(this.datalayer))); + }); + + it('should be removed from map.datalayers_index', function () { + assert.equal(this.map.datalayers_index.indexOf(this.datalayer), -1); + }); + + it('should be removed from map.datalayers', function () { + assert.notOk(this.map.datalayers[L.stamp(this.datalayer)]); + }); + + it('should be visible again on edit cancel', function () { + clickCancel(); + assert.ok(qs('div.icon_container')); + }); + + }); + +}); diff --git a/umap/static/umap/test/Feature.js b/umap/static/umap/test/Feature.js new file mode 100644 index 00000000..ee908e4f --- /dev/null +++ b/umap/static/umap/test/Feature.js @@ -0,0 +1,245 @@ +describe('L.U.FeatureMixin', function () { + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('GET', '/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.map = initMap({umap_id: 99}); + this.datalayer = this.map.getDataLayerByUmapId(62); + this.server.respond(); + }); + after(function () { + this.server.restore(); + resetMap(); + }); + + describe('#edit()', function () { + var link; + + it('should have datalayer features created', function () { + assert.equal(document.querySelectorAll('#map > .leaflet-map-pane > .leaflet-overlay-pane path.leaflet-interactive').length, 2); + assert.ok(qs('path[fill="none"]')); // Polyline + assert.ok(qs('path[fill="DarkBlue"]')); // Polygon + }); + + it('should take into account styles changes made in the datalayer', function () { + enableEdit(); + happen.click(qs('#browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-edit')); + var colorInput = qs('form#datalayer-advanced-properties input[name=color]'); + changeInputValue(colorInput, 'DarkRed'); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + assert.notOk(qs('path[fill="DarkBlue"]')); + assert.ok(qs('path[fill="DarkRed"]')); + }); + + it('should open a popup toolbar on feature click', function () { + enableEdit(); + happen.click(qs('path[fill="DarkRed"]')); + var toolbar = qs('ul.leaflet-inplace-toolbar'); + assert.ok(toolbar); + link = qs('a.umap-toggle-edit', toolbar); + assert.ok(link); + }); + + it('should open a form on popup toolbar toggle edit click', function () { + happen.click(link); + var form = qs('form#umap-feature-properties'); + var input = qs('form#umap-feature-properties input[name="name"]'); + assert.ok(form); + assert.ok(input); + }); + + it('should not handle _umap_options has normal property', function () { + assert.notOk(qs('form#umap-feature-properties input[name="_umap_options"]')); + }); + + it('should give precedence to feature style over datalayer styles', function () { + var input = qs('#umap-ui-container form input[name="color"]'); + assert.ok(input); + changeInputValue(input, 'DarkGreen'); + assert.notOk(qs('path[fill="DarkRed"]')); + assert.notOk(qs('path[fill="DarkBlue"]')); + assert.ok(qs('path[fill="DarkGreen"]')); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + }); + + it('should remove stroke if set to no', function () { + assert.notOk(qs('path[stroke="none"]')); + var defineButton = qs('#umap-feature-shape-properties .formbox:nth-child(4) .define'); + happen.click(defineButton); + var input = qs('#umap-feature-shape-properties input[name="stroke"]'); + assert.ok(input); + input.checked = false; + happen.once(input, {type: 'change'}); + assert.ok(qs('path[stroke="none"]')); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + }); + + it('should not override already set style on features', function () { + happen.click(qs('#browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-edit')); + changeInputValue(qs('#umap-ui-container form input[name=color]'), 'Chocolate'); + assert.notOk(qs('path[fill="DarkBlue"]')); + assert.notOk(qs('path[fill="DarkRed"]')); + assert.notOk(qs('path[fill="Chocolate"]')); + assert.ok(qs('path[fill="DarkGreen"]')); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + }); + + it('should reset style on cancel click', function () { + clickCancel(); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + assert.ok(qs('path[fill="DarkBlue"]')); + assert.notOk(qs('path[fill="DarkRed"]')); + }); + + it('should set map.editedFeature on edit', function () { + enableEdit(); + assert.notOk(this.map.editedFeature); + happen.click(qs('path[fill="DarkBlue"]')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + assert.ok(this.map.editedFeature); + disableEdit(); + }); + + it('should reset map.editedFeature on panel open', function (done) { + enableEdit(); + assert.notOk(this.map.editedFeature); + happen.click(qs('path[fill="DarkBlue"]')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + assert.ok(this.map.editedFeature); + this.map.displayCaption(); + window.setTimeout(function () { + assert.notOk(this.map.editedFeature); + disableEdit(); + done(); + }, 1001); // CSS transition time. + }); + + }); + + describe('#utils()', function () { + var poly, marker; + function setFeatures (datalayer) { + datalayer.eachLayer(function (layer) { + if (!poly && layer instanceof L.Polygon) { + poly = layer; + } + if (!marker && layer instanceof L.Marker) { + marker = layer; + } + }); + } + it('should generate a valid geojson', function () { + setFeatures(this.datalayer); + assert.ok(poly); + assert.deepEqual(poly.toGeoJSON().geometry, {'type': 'Polygon', 'coordinates': [[[11.25, 53.585984], [10.151367, 52.975108], [12.689209, 52.167194], [14.084473, 53.199452], [12.634277, 53.618579], [11.25, 53.585984], [11.25, 53.585984]]]}); + // Ensure original latlngs has not been modified + assert.equal(poly.getLatLngs()[0].length, 6); + }); + + it('should remove empty _umap_options from exported geojson', function () { + setFeatures(this.datalayer); + assert.ok(poly); + assert.deepEqual(poly.toGeoJSON().properties, {name: 'name poly'}); + assert.ok(marker); + assert.deepEqual(marker.toGeoJSON().properties, {_umap_options: {color: 'OliveDrab'}, name: 'test'}); + }); + + }); + + describe('#changeDataLayer()', function () { + + it('should change style on datalayer select change', function () { + enableEdit(); + happen.click(qs('.manage-datalayers')); + happen.click(qs('#umap-ui-container .add-datalayer')); + changeInputValue(qs('form.umap-form input[name="name"]'), 'New layer'); + changeInputValue(qs('form#datalayer-advanced-properties input[name=color]'), 'MediumAquaMarine'); + happen.click(qs('path[fill="DarkBlue"]')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + var select = qs('select[name=datalayer]'); + select.selectedIndex = 0; + happen.once(select, {type: 'change'}); + assert.ok(qs('path[fill="none"]')); // Polyline fill is unchanged + assert.notOk(qs('path[fill="DarkBlue"]')); + assert.ok(qs('path[fill="MediumAquaMarine"]')); + clickCancel(); + }); + + }); + + describe('#openPopup()', function () { + + it('should open a popup on click', function () { + assert.notOk(qs('.leaflet-popup-content')); + happen.click(qs('path[fill="DarkBlue"]')); + var title = qs('.leaflet-popup-content'); + assert.ok(title); + assert.ok(title.innerHTML.indexOf('name poly')); + }); + + }); + + describe('#tooltip', function () { + + it('should have a tooltip when active and allow variables', function () { + this.map.options.showLabel = true; + this.map.options.labelKey = "Foo {name}"; + this.datalayer.redraw(); + assert.equal(qs('.leaflet-tooltip-pane .leaflet-tooltip').textContent, "Foo name poly"); + }); + + }); + + describe('#properties()', function () { + + it('should rename property', function () { + var poly = this.datalayer._lineToLayer({}, [[0, 0], [0, 1], [0, 2]]); + poly.properties.prop1 = 'xxx'; + poly.renameProperty('prop1', 'prop2'); + assert.equal(poly.properties.prop2, 'xxx'); + assert.ok(typeof poly.properties.prop1 === 'undefined'); + }); + + it('should not create property when renaming', function () { + var poly = this.datalayer._lineToLayer({}, [[0, 0], [0, 1], [0, 2]]); + delete poly.properties.prop2; // Make sure it doesn't exist + poly.renameProperty('prop1', 'prop2'); + assert.ok(typeof poly.properties.prop2 === 'undefined'); + }); + + it('should delete property', function () { + var poly = this.datalayer._lineToLayer({}, [[0, 0], [0, 1], [0, 2]]); + poly.properties.prop = 'xxx'; + assert.equal(poly.properties.prop, 'xxx'); + poly.deleteProperty('prop'); + assert.ok(typeof poly.properties.prop === 'undefined'); + }); + + }); + + describe('#matchFilter()', function () { + var poly; + + it('should filter on properties', function () { + poly = this.datalayer._lineToLayer({}, [[0, 0], [0, 1], [0, 2]]); + poly.properties.name = 'mooring'; + assert.ok(poly.matchFilter('moo', ['name'])); + assert.notOk(poly.matchFilter('foo', ['name'])); + }); + + it('should be case unsensitive', function () { + assert.ok(poly.matchFilter('Moo', ['name'])); + }); + + it('should match also in the middle of a string', function () { + assert.ok(poly.matchFilter('oor', ['name'])); + }); + + it('should handle multiproperties', function () { + poly.properties.city = 'Teulada'; + assert.ok(poly.matchFilter('eul', ['name', 'city', 'foo'])); + }); + + }); + +}); diff --git a/umap/static/umap/test/Map.js b/umap/static/umap/test/Map.js new file mode 100644 index 00000000..e0135684 --- /dev/null +++ b/umap/static/umap/test/Map.js @@ -0,0 +1,316 @@ +describe('L.U.Map', function(){ + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.options = { + umap_id: 99 + }; + this.map = initMap({umap_id: 99}); + this.server.respond(); + this.datalayer = this.map.getDataLayerByUmapId(62); + }); + after(function () { + this.server.restore(); + clickCancel(); + resetMap(); + }); + + describe('#init()', function(){ + + it('should be initialized', function(){ + assert.equal(this.map.options.umap_id, 99); + }); + + it('should have created the edit button', function(){ + assert.ok(qs('div.leaflet-control-edit-enable')); + }); + + it('should have datalayer control div', function(){ + assert.ok(qs('div.leaflet-control-browse')); + }); + + it('should have datalayer actions div', function(){ + assert.ok(qs('div.umap-browse-actions')); + }); + + it('should have icon container div', function(){ + assert.ok(qs('div.icon_container')); + }); + + it('should hide icon container div when hiding datalayer', function() { + var el = qs('.leaflet-control-browse #browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-toggle'); + happen.click(el); + assert.notOk(qs('div.icon_container')); + }); + + it('enable edit on click on toggle button', function () { + var el = qs('div.leaflet-control-edit-enable a'); + happen.click(el); + assert.isTrue(L.DomUtil.hasClass(document.body, 'umap-edit-enabled')); + }); + + it('should have only one datalayer in its index', function () { + assert.equal(this.map.datalayers_index.length, 1); + }); + }); + + describe('#editMetadata()', function () { + var form, input; + + it('should build a form on editMetadata control click', function (done) { + var button = qs('a.update-map-settings'); + assert.ok(button); + happen.click(button); + form = qs('form.umap-form'); + input = qs('form[class="umap-form"] input[name="name"]'); + assert.ok(form); + assert.ok(input); + done(); + }); + + it('should update map name on input change', function () { + var new_name = 'This is a new name'; + input.value = new_name; + happen.once(input, {type: 'input'}); + assert.equal(this.map.options.name, new_name); + }); + + it('should have made Map dirty', function () { + assert.ok(this.map.isDirty); + }); + + it('should have added dirty class on map container', function () { + assert.ok(L.DomUtil.hasClass(this.map._container, 'umap-is-dirty')); + }); + + }); + + describe('#delete()', function () { + var path = '/map/99/delete/', + oldConfirm, + newConfirm = function () { + return true; + }; + + before(function () { + oldConfirm = window.confirm; + window.confirm = newConfirm; + }); + after(function () { + window.confirm = oldConfirm; + }); + + it('should ask for confirmation on delete link click', function (done) { + var button = qs('a.update-map-settings'); + assert.ok(button, 'update map info button exists'); + happen.click(button); + var deleteLink = qs('a.umap-delete'); + assert.ok(deleteLink, 'delete map button exists'); + sinon.spy(window, 'confirm'); + this.server.respondWith('POST', path, JSON.stringify({redirect: '#'})); + happen.click(deleteLink); + this.server.respond(); + assert(window.confirm.calledOnce); + window.confirm.restore(); + done(); + }); + + }); + + describe('#importData()', function () { + var fileInput, textarea, submit, formatSelect, layerSelect, clearFlag; + + it('should build a form on click', function () { + happen.click(qs('a.upload-data')); + fileInput = qs('.umap-upload input[type="file"]'); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + layerSelect = qs('.umap-upload select[name="datalayer"]'); + assert.ok(fileInput); + assert.ok(submit); + assert.ok(textarea); + assert.ok(formatSelect); + assert.ok(layerSelect); + }); + + it('should import geojson from textarea', function () { + this.datalayer.empty() + assert.equal(this.datalayer._index.length, 0); + textarea.value = '{"type": "FeatureCollection", "features": [{"geometry": {"type": "Point", "coordinates": [6.922931671142578, 47.481161607175736]}, "type": "Feature", "properties": {"color": "", "name": "Chez R\u00e9my", "description": ""}}, {"geometry": {"type": "LineString", "coordinates": [[2.4609375, 48.88639177703194], [2.48291015625, 48.76343113791796], [2.164306640625, 48.719961222646276]]}, "type": "Feature", "properties": {"color": "", "name": "P\u00e9rif", "description": ""}}]}'; + changeSelectValue(formatSelect, 'geojson'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 2); + }); + + it('should import osm from textarea', function () { + this.datalayer.empty() + happen.click(qs('a.upload-data')); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + assert.equal(this.datalayer._index.length, 0); + textarea.value = '{"version": 0.6,"generator": "Overpass API 0.7.55.4 3079d8ea","osm3s": {"timestamp_osm_base": "2018-09-22T05:26:02Z","copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."},"elements": [{"type": "node","id": 3619112991,"lat": 48.9352995,"lon": 2.3570684,"tags": {"information": "map","map_size": "city","map_type": "scheme","tourism": "information"}},{"type": "node","id": 3682500756,"lat": 48.9804426,"lon": 2.2719725,"tags": {"information": "map","level": "0","tourism": "information"}}]}'; + changeSelectValue(formatSelect, 'osm'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 2); + assert.equal(this.datalayer._layers[this.datalayer._index[0]].properties.tourism, 'information'); + }); + + it('should import kml from textarea', function () { + this.datalayer.empty() + happen.click(qs('a.upload-data')); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + assert.equal(this.datalayer._index.length, 0); + textarea.value = kml_example; + changeSelectValue(formatSelect, 'kml'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 3); + }); + + it('should import gpx from textarea', function () { + this.datalayer.empty() + happen.click(qs('a.upload-data')); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + assert.equal(this.datalayer._index.length, 0); + textarea.value = gpx_example; + changeSelectValue(formatSelect, 'gpx'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 2); + }); + + it('should import csv from textarea', function () { + this.datalayer.empty() + happen.click(qs('a.upload-data')); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + assert.equal(this.datalayer._index.length, 0); + textarea.value = csv_example; + changeSelectValue(formatSelect, 'csv'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 1); + }); + + it('should replace content if asked so', function () { + happen.click(qs('a.upload-data')); + textarea = qs('.umap-upload textarea'); + submit = qs('.umap-upload input[type="button"]'); + formatSelect = qs('.umap-upload select[name="format"]'); + clearFlag = qs('.umap-upload input[name="clear"]'); + clearFlag.checked = true; + assert.equal(this.datalayer._index.length, 1); + textarea.value = csv_example; + changeSelectValue(formatSelect, 'csv'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 1); + }); + + + it('should import GeometryCollection from textarea', function () { + this.datalayer.empty() + textarea.value = '{"type": "GeometryCollection","geometries": [{"type": "Point","coordinates": [-80.66080570220947,35.04939206472683]},{"type": "Polygon","coordinates": [[[-80.66458225250244,35.04496519190309],[-80.66344499588013,35.04603679820616],[-80.66258668899536,35.045580049697556],[-80.66387414932251,35.044280059194946],[-80.66458225250244,35.04496519190309]]]},{"type": "LineString","coordinates": [[-80.66237211227417,35.05950973022538],[-80.66269397735596,35.0592638296087],[-80.66284418106079,35.05893010615862],[-80.66308021545409,35.05833291342246],[-80.66359519958496,35.057753281001425],[-80.66387414932251,35.05740198662245],[-80.66441059112549,35.05703312589789],[-80.66486120223999,35.056787217822475],[-80.66541910171509,35.05650617911516],[-80.66563367843628,35.05631296444281],[-80.66601991653441,35.055891403570705],[-80.66619157791138,35.05545227534804],[-80.66619157791138,35.05517123204622],[-80.66625595092773,35.05489018777713],[-80.6662130355835,35.054222703761525],[-80.6662130355835,35.05392409072499],[-80.66595554351807,35.05290528508858],[-80.66569805145262,35.052044560077285],[-80.66550493240356,35.0514824490509],[-80.665762424469,35.05048117920187],[-80.66617012023926,35.04972582715769],[-80.66651344299316,35.049286665781096],[-80.66692113876343,35.0485313026898],[-80.66700696945189,35.048215102112344],[-80.66707134246826,35.04777593261294],[-80.66704988479614,35.04738946150025],[-80.66696405410767,35.04698542156371],[-80.66681385040283,35.046353007216055],[-80.66659927368164,35.04596652937105],[-80.66640615463257,35.04561518428889],[-80.6659984588623,35.045193568195565],[-80.66552639007568,35.044877354697526],[-80.6649899482727,35.04454357245502],[-80.66449642181396,35.04417465365292],[-80.66385269165039,35.04387600387859],[-80.66303730010986,35.043717894732545]]}]}'; + formatSelect = qs('.umap-upload select[name="format"]'); + changeSelectValue(formatSelect, 'geojson'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 3); + }); + + it('should import multipolygon', function () { + this.datalayer.empty() + textarea.value = '{"type": "Feature", "properties": { "name": "Some states" }, "geometry": { "type": "MultiPolygon", "coordinates": [[[[-109, 36], [-109, 40], [-102, 37], [-109, 36]], [[-108, 39], [-107, 37], [-104, 37], [-108, 39]]], [[[-119, 42], [-120, 39], [-114, 41], [-119, 42]]]] }}'; + changeSelectValue(formatSelect, 'geojson'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 1); + var layer = this.datalayer.getFeatureByIndex(0); + assert.equal(layer._latlngs.length, 2); // Two shapes. + assert.equal(layer._latlngs[0].length, 2); // Hole. + }); + + it('should import multipolyline', function () { + this.datalayer.empty() + textarea.value = '{"type": "FeatureCollection", "features": [{ "type": "Feature", "properties": {}, "geometry": { "type": "MultiLineString", "coordinates": [[[-108, 46], [-113, 43]], [[-112, 45], [-115, 44]]] } }]}'; + changeSelectValue(formatSelect, 'geojson'); + happen.click(submit); + assert.equal(this.datalayer._index.length, 1); + var layer = this.datalayer.getFeatureByIndex(0); + assert.equal(layer._latlngs.length, 2); // Two shapes. + }); + + it('should import raw umap data from textarea', function () { + //Right now, the import function will try to save and reload. Stop this from happening. + var disabledSaveFunction = this.map.save; + this.map.save = function(){}; + happen.click(qs('a.upload-data')); + var initialLayerCount = Object.keys(this.map.datalayers).length; + formatSelect = qs('.umap-upload select[name="format"]'); + textarea = qs('.umap-upload textarea'); + textarea.value = '{ "type": "umap", "geometry": { "type": "Point", "coordinates": [3.0528, 50.6269] }, "properties": { "umap_id": 666, "longCredit": "the illustrious mapmaker", "shortCredit": "the mapmaker", "slideshow": {}, "captionBar": true, "dashArray": "5,5", "fillOpacity": "0.5", "fillColor": "Crimson", "fill": true, "weight": "2", "opacity": "0.9", "smoothFactor": "1", "iconClass": "Drop", "color": "Red", "limitBounds": {}, "tilelayer": { "maxZoom": 18, "url_template": "http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg", "minZoom": 0, "attribution": "Map tiles by [[http://stamen.com|Stamen Design]], under [[http://creativecommons.org/licenses/by/3.0|CC BY 3.0]]. Data by [[http://openstreetmap.org|OpenStreetMap]], under [[http://creativecommons.org/licenses/by-sa/3.0|CC BY SA]].", "name": "Watercolor" }, "licence": { "url": "", "name": "No licence set" }, "description": "Map description", "name": "Imported map", "tilelayersControl": true, "onLoadPanel": "caption", "displayPopupFooter": true, "miniMap": true, "moreControl": true, "scaleControl": true, "zoomControl": true, "scrollWheelZoom": true, "datalayersControl": true, "zoom": 6 }, "layers": [{ "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [4.2939, 50.8893], [4.2441, 50.8196], [4.3869, 50.7642], [4.4813, 50.7929], [4.413, 50.9119], [4.2939, 50.8893] ] ] }, "properties": { "name": "Bruxelles", "description": "polygon" } }, { "type": "Feature", "geometry": { "type": "Point", "coordinates": [3.0528, 50.6269] }, "properties": { "_umap_options": { "color": "Orange" }, "name": "Lille", "description": "une ville" } }], "_umap_options": { "displayOnLoad": true, "name": "Cities", "id": 108, "remoteData": {}, "description": "A layer with some cities", "color": "Navy", "iconClass": "Drop", "smoothFactor": "1", "dashArray": "5,1", "fillOpacity": "0.5", "fillColor": "Blue", "fill": true } }, { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [1.7715, 50.9255], [1.6589, 50.9696], [1.4941, 51.0128], [1.4199, 51.0638], [1.2881, 51.1104] ] }, "properties": { "_umap_options": { "weight": "4" }, "name": "tunnel sous la Manche" } }], "_umap_options": { "displayOnLoad": true, "name": "Tunnels", "id": 109, "remoteData": {} } }]}'; + formatSelect.value = 'umap'; + submit = qs('.umap-upload input[type="button"]'); + happen.click(submit); + assert.equal(Object.keys(this.map.datalayers).length, initialLayerCount + 2); + assert.equal(this.map.options.name, "Imported map"); + var foundFirstLayer = false; + var foundSecondLayer = false; + for (var idx in this.map.datalayers) { + var datalayer = this.map.datalayers[idx]; + if (datalayer.options.name === "Cities") { + foundFirstLayer = true; + assert.equal(datalayer._index.length, 2); + } + if (datalayer.options.name === "Tunnels") { + foundSecondLayer = true; + assert.equal(datalayer._index.length, 1); + } + } + assert.equal(foundFirstLayer, true); + assert.equal(foundSecondLayer, true); + + }); + + it('should only import options on the whitelist (umap format import)', function () { + assert.equal(this.map.options.umap_id, 99); + }); + + it('should update title bar (umap format import)', function () { + var title = qs("#map div.umap-main-edit-toolbox h3 a.umap-click-to-edit"); + assert.equal(title.innerHTML, "Imported map"); + }); + + it('should reinitialize controls (umap format import)', function () { + var minimap = qs("#map div.leaflet-control-container div.leaflet-control-minimap"); + assert.ok(minimap); + }); + + it('should update the tilelayer switcher control (umap format import)', function () { + //The tilelayer in the imported data isn't in the tilelayer list (set in _pre.js), there should be no selection on the tilelayer switcher + var selectedLayer = qs(".umap-tilelayer-switcher-container li.selected"); + assert.equal(selectedLayer, null); + }); + + it('should set the tilelayer (umap format import)', function () { + assert.equal(this.map.selected_tilelayer._url, "http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg"); + }); + + }); + + describe('#localizeUrl()', function () { + + it('should replace known variables', function () { + assert.equal(this.map.localizeUrl('http://example.org/{zoom}'), 'http://example.org/' + this.map.getZoom()); + }); + + it('should keep unknown variables', function () { + assert.equal(this.map.localizeUrl('http://example.org/{unkown}'), 'http://example.org/{unkown}'); + }); + + }); + + +}); diff --git a/umap/static/umap/test/Marker.js b/umap/static/umap/test/Marker.js new file mode 100644 index 00000000..9d607621 --- /dev/null +++ b/umap/static/umap/test/Marker.js @@ -0,0 +1,82 @@ +describe('L.U.Marker', function () { + + before(function () { + this.server = sinon.fakeServer.create(); + var datalayer_response = JSON.parse(JSON.stringify(RESPONSES.datalayer62_GET)); // Copy. + datalayer_response._umap_options.iconClass = 'Drop'; + this.server.respondWith('GET', '/datalayer/62/', JSON.stringify(datalayer_response)); + this.map = initMap({umap_id: 99}); + this.datalayer = this.map.getDataLayerByUmapId(62); + this.server.respond(); + }); + after(function () { + this.server.restore(); + resetMap(); + }); + + describe('#iconClassChange()', function () { + + it('should change icon class', function () { + enableEdit(); + happen.click(qs('div.umap-drop-icon')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + changeSelectValue(qs('form#umap-feature-shape-properties .umap-field-iconClass select[name=iconClass]'), 'Circle'); + assert.notOk(qs('div.umap-drop-icon')); + assert.ok(qs('div.umap-circle-icon')); + happen.click(qs('form#umap-feature-shape-properties .umap-field-iconClass .undefine')); + assert.notOk(qs('div.umap-circle-icon')); + assert.ok(qs('div.umap-drop-icon')); + clickCancel(); + }); + + }); + + describe('#iconSymbolChange()', function () { + + it('should change icon symbol', function () { + enableEdit(); + happen.click(qs('div.umap-drop-icon')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + changeInputValue(qs('form#umap-feature-shape-properties .umap-field-iconUrl input[name=iconUrl]'), '1'); + assert.equal(qs('div.umap-drop-icon span').textContent, '1'); + changeInputValue(qs('form#umap-feature-shape-properties .umap-field-iconUrl input[name=iconUrl]'), '{name}'); + assert.equal(qs('div.umap-drop-icon span').textContent, 'test'); + clickCancel(); + }); + + }); + + describe('#iconClassChange()', function () { + + it('should change icon class', function () { + enableEdit(); + happen.click(qs('div.umap-drop-icon')); + happen.click(qs('ul.leaflet-inplace-toolbar a.umap-toggle-edit')); + changeSelectValue(qs('form#umap-feature-shape-properties .umap-field-iconClass select[name=iconClass]'), 'Circle'); + assert.notOk(qs('div.umap-drop-icon')); + assert.ok(qs('div.umap-circle-icon')); + happen.click(qs('form#umap-feature-shape-properties .umap-field-iconClass .undefine')); + assert.notOk(qs('div.umap-circle-icon')); + assert.ok(qs('div.umap-drop-icon')); + clickCancel(); + }); + + }); + + describe('#clone', function () { + + it('should clone marker', function () { + var layer = new L.U.Marker(this.map, [10, 20], {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 4); + other = layer.clone(); + assert.ok(this.map.hasLayer(other)); + assert.equal(this.datalayer._index.length, 5); + // Must not be the same reference + assert.notEqual(layer._latlng, other._latlng); + assert.equal(L.Util.formatNum(layer._latlng.lat), other._latlng.lat); + assert.equal(L.Util.formatNum(layer._latlng.lng), other._latlng.lng); + }); + + }); + +}); diff --git a/umap/static/umap/test/Permissions.js b/umap/static/umap/test/Permissions.js new file mode 100644 index 00000000..7ead6bc7 --- /dev/null +++ b/umap/static/umap/test/Permissions.js @@ -0,0 +1,77 @@ +describe('L.Permissions', function () { + var path = '/map/99/datalayer/edit/62/'; + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('GET', '/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.map = initMap({umap_id: 99}); + this.datalayer = this.map.getDataLayerByUmapId(62); + this.server.respond(); + enableEdit(); + }); + after(function () { + clickCancel(); + this.server.restore(); + resetMap(); + }); + + describe('#open()', function () { + var button; + + it('should exist update permissions link', function () { + button = qs('a.update-map-permissions'); + expect(button).to.be.ok; + }); + + it('should open table button click', function () { + happen.click(button); + expect(qs('.permissions-panel')).to.be.ok; + }); + + }); + describe('#anonymous with cookie', function () { + var button; + + it('should only allow edit_status', function () { + this.map.permissions.options.anonymous_edit_url = 'http://anonymous.url'; + button = qs('a.update-map-permissions'); + happen.click(button); + expect(qs('select[name="edit_status"]')).to.be.ok; + expect(qs('select[name="share_status"]')).not.to.be.ok; + expect(qs('input.edit-owner')).not.to.be.ok; + }); + + }); + + describe('#editor', function () { + var button; + + it('should only allow editors', function () { + this.map.permissions.options.owner = {id: 1, url: '/url', name: 'jojo'}; + button = qs('a.update-map-permissions'); + happen.click(button); + expect(qs('select[name="edit_status"]')).not.to.be.ok; + expect(qs('select[name="share_status"]')).not.to.be.ok; + expect(qs('input.edit-owner')).not.to.be.ok; + expect(qs('input.edit-editors')).to.be.ok; + }); + + }); + + describe('#owner', function () { + var button; + + it('should allow everything', function () { + this.map.permissions.options.owner = {id: 1, url: '/url', name: 'jojo'}; + this.map.options.user = {id: 1, url: '/url', name: 'jojo'}; + button = qs('a.update-map-permissions'); + happen.click(button); + expect(qs('select[name="edit_status"]')).to.be.ok; + expect(qs('select[name="share_status"]')).to.be.ok; + expect(qs('input.edit-owner')).to.be.ok; + expect(qs('input.edit-editors')).to.be.ok; + }); + + }); + +}); diff --git a/umap/static/umap/test/Polygon.js b/umap/static/umap/test/Polygon.js new file mode 100644 index 00000000..2dfdbc60 --- /dev/null +++ b/umap/static/umap/test/Polygon.js @@ -0,0 +1,288 @@ +describe('L.U.Polygon', function () { + var p2ll, map; + + before(function () { + this.map = map = initMap({umap_id: 99}); + enableEdit(); + p2ll = function (x, y) { + return map.containerPointToLatLng([x, y]); + }; + this.datalayer = this.map.createDataLayer(); + this.datalayer.connectToMap();; + }); + + after(function () { + clickCancel(); + resetMap(); + }); + + afterEach(function () { + this.datalayer.empty(); + }); + + describe('#isMulti()', function () { + + it('should return false for basic Polygon', function () { + var layer = new L.U.Polygon(this.map, [[1, 2], [3, 4], [5, 6]], {datalayer: this.datalayer}); + assert.notOk(layer.isMulti()) + }); + + it('should return false for nested basic Polygon', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}); + assert.notOk(layer.isMulti()) + }); + + it('should return false for simple Polygon with hole', function () { + var layer = new L.U.Polygon(this.map, [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]], {datalayer: this.datalayer}); + assert.notOk(layer.isMulti()) + }); + + it('should return true for multi Polygon', function () { + var latLngs = [ + [ + [[1, 2], [3, 4], [5, 6]] + ], + [ + [[7, 8], [9, 10], [11, 12]] + ] + ]; + var layer = new L.U.Polygon(this.map, latLngs, {datalayer: this.datalayer}); + assert.ok(layer.isMulti()) + }); + + it('should return true for multi Polygon with hole', function () { + var latLngs = [ + [[[10, 20], [30, 40], [50, 60]]], + [[[0, 10], [10, 10], [10, 0]], [[2, 3], [2, 4], [3, 4]]] + ]; + var layer = new L.U.Polygon(this.map, latLngs, {datalayer: this.datalayer}); + assert.ok(layer.isMulti()) + }); + + }); + + describe('#contextmenu', function () { + + afterEach(function () { + // Make sure contextmenu is hidden + happen.once(document, {type: 'keydown', keyCode: 27}); + }); + + describe('#in edit mode', function () { + + it('should allow to remove shape when multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]], + [[p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.equal(qst('Remove shape from the multi'), 1); + }); + + it('should not allow to remove shape when not multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Remove shape from the multi')); + }); + + it('should not allow to isolate shape when not multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Extract shape to separate feature')); + }); + + it('should allow to isolate shape when multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]], + [[p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.ok(qst('Extract shape to separate feature')); + }); + + it('should not allow to transform to lines when multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]], + [[p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Transform to lines')); + }); + + it('should not allow to transform to lines when hole', function () { + var latlngs = [ + [ + [p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)], + [p2ll(120, 150), p2ll(150, 180), p2ll(180, 120)] + ] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Transform to lines')); + }); + + it('should allow to transform to lines when not multi', function () { + var latlngs = [ + [[p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)]] + ]; + new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.at('contextmenu', 150, 150); + assert.equal(qst('Transform to lines'), 1); + }); + + it('should not allow to transfer shape when not editedFeature', function () { + new L.U.Polygon(this.map, [p2ll(100, 150), p2ll(100, 200), p2ll(200, 150)], {datalayer: this.datalayer}).addTo(this.datalayer); + happen.at('contextmenu', 110, 160); + assert.equal(qst('Delete this feature'), 1); // Make sure we have right clicked on the polygon. + assert.notOk(qst('Transfer shape to edited feature')); + }); + + it('should not allow to transfer shape when editedFeature is not a polygon', function () { + var layer = new L.U.Polygon(this.map, [p2ll(100, 150), p2ll(100, 200), p2ll(200, 150)], {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polyline(this.map, [p2ll(200, 250), p2ll(200, 300)], {datalayer: this.datalayer}).addTo(this.datalayer); + other.edit(); + happen.once(layer._path, {type: 'contextmenu'}); + assert.equal(qst('Delete this feature'), 1); // Make sure we have right clicked on the polygon. + assert.notOk(qst('Transfer shape to edited feature')); + }); + + it('should allow to transfer shape when another polygon is edited', function (done) { + this.datalayer.empty(); + var layer = new L.U.Polygon(this.map, [p2ll(200, 300), p2ll(300, 200), p2ll(200, 100)], {datalayer: this.datalayer}).addTo(this.datalayer); + layer.edit(); // This moves the map to put "other" at the center. + var other = new L.U.Polygon(this.map, [p2ll(100, 150), p2ll(100, 200), p2ll(200, 150)], {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(other._path, {type: 'contextmenu'}); + assert.equal(qst('Transfer shape to edited feature'), 1); + done(); + }); + + }); + + }); + + describe('#addShape', function () { + + it('"add shape" control should not be visible by default', function () { + assert.notOk(qs('.umap-draw-polygon-multi')); + }); + + it('"add shape" control should be visible when editing a Polygon', function () { + var layer = new L.U.Polygon(this.map, [p2ll(100, 100), p2ll(100, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + layer.edit(); + assert.ok(qs('.umap-draw-polygon-multi')); + }); + + it('"add shape" control should extend the same multi', function () { + var layer = new L.U.Polygon(this.map, [p2ll(100, 150), p2ll(150, 200), p2ll(200, 100)], {datalayer: this.datalayer}).addTo(this.datalayer); + layer.edit(); + assert.notOk(layer.isMulti()); + happen.click(qs('.umap-draw-polygon-multi')); + happen.at('mousemove', 300, 300); + happen.at('click', 300, 300); + happen.at('mousemove', 350, 300); + happen.at('click', 350, 300); + happen.at('click', 350, 300); + assert.ok(layer.isMulti()); + assert.equal(this.datalayer._index.length, 1); + }); + + }); + + describe('#transferShape', function () { + + it('should transfer simple polygon shape to another polygon', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polygon(this.map, [p2ll(200, 350), p2ll(200, 300), p2ll(300, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + assert.ok(this.map.hasLayer(layer)); + layer.transferShape(p2ll(150, 150), other); + assert.equal(other._latlngs.length, 2); + assert.deepEqual(other._latlngs[1][0], latlngs); + assert.notOk(this.map.hasLayer(layer)); + }); + + it('should transfer multipolygon shape to another polygon', function () { + var latlngs = [ + [ + [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + [p2ll(120, 150), p2ll(150, 180), p2ll(180, 120)] + ], + [[p2ll(200, 300), p2ll(300, 200)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polygon(this.map, [p2ll(200, 350), p2ll(200, 300), p2ll(300, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + assert.ok(this.map.hasLayer(layer)); + layer.transferShape(p2ll(150, 150), other); + assert.equal(other._latlngs.length, 2); + assert.deepEqual(other._latlngs[1][0], latlngs[0][0]); + assert.ok(this.map.hasLayer(layer)); + assert.equal(layer._latlngs.length, 1); + }); + + }); + + describe('#isolateShape', function () { + + it('should not allow to isolate simple polygon', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + assert.ok(this.map.hasLayer(layer)); + layer.isolateShape(p2ll(150, 150)); + assert.equal(layer._latlngs[0].length, 3); + assert.equal(this.datalayer._index.length, 1); + }); + + it('should isolate multipolygon shape', function () { + var latlngs = [ + [ + [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + [p2ll(120, 150), p2ll(150, 180), p2ll(180, 120)] + ], + [[p2ll(200, 300), p2ll(300, 200)]] + ], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + assert.ok(this.map.hasLayer(layer)); + var other = layer.isolateShape(p2ll(150, 150)); + assert.equal(this.datalayer._index.length, 2); + assert.equal(other._latlngs.length, 2); + assert.deepEqual(other._latlngs[0], latlngs[0][0]); + assert.ok(this.map.hasLayer(layer)); + assert.ok(this.map.hasLayer(other)); + assert.equal(layer._latlngs.length, 1); + other.remove(); + }); + + }); + + describe('#clone', function () { + + it('should clone polygon', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polygon(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + other = layer.clone(); + assert.ok(this.map.hasLayer(other)); + assert.equal(this.datalayer._index.length, 2); + // Must not be the same reference + assert.notEqual(layer._latlngs, other._latlngs); + assert.equal(L.Util.formatNum(layer._latlngs[0][0].lat), other._latlngs[0][0].lat); + assert.equal(L.Util.formatNum(layer._latlngs[0][0].lng), other._latlngs[0][0].lng); + }); + + }); + +}); diff --git a/umap/static/umap/test/Polyline.js b/umap/static/umap/test/Polyline.js new file mode 100644 index 00000000..c92b19d0 --- /dev/null +++ b/umap/static/umap/test/Polyline.js @@ -0,0 +1,326 @@ +describe('L.Utorage.Polyline', function () { + var p2ll, map; + + before(function () { + this.map = map = initMap({umap_id: 99}); + enableEdit(); + p2ll = function (x, y) { + return map.containerPointToLatLng([x, y]); + }; + this.datalayer = this.map.createDataLayer(); + this.datalayer.connectToMap();; + }); + + after(function () { + clickCancel(); + resetMap(); + }); + + afterEach(function () { + this.datalayer.empty(); + }); + + describe('#isMulti()', function () { + + it('should return false for basic Polyline', function () { + var layer = new L.U.Polyline(this.map, [[1, 2], [3, 4], [5, 6]], {datalayer: this.datalayer}); + assert.notOk(layer.isMulti()) + }); + + it('should return false for nested basic Polyline', function () { + var layer = new L.U.Polyline(this.map, [[[1, 2], [3, 4], [5, 6]]], {datalayer: this.datalayer}); + assert.notOk(layer.isMulti()) + }); + + it('should return true for multi Polyline', function () { + var latLngs = [ + [ + [[1, 2], [3, 4], [5, 6]] + ], + [ + [[7, 8], [9, 10], [11, 12]] + ] + ]; + var layer = new L.U.Polyline(this.map, latLngs, {datalayer: this.datalayer}); + assert.ok(layer.isMulti()) + }); + + }); + + describe('#contextmenu', function () { + + afterEach(function () { + // Make sure contextmenu is hidden. + happen.once(document, {type: 'keydown', keyCode: 27}); + }); + + describe('#in edit mode', function () { + + it('should allow to remove shape when multi', function () { + var latlngs = [ + [p2ll(100, 100), p2ll(100, 200)], + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}) + assert.equal(qst('Remove shape from the multi'), 1); + }); + + it('should not allow to remove shape when not multi', function () { + var latlngs = [ + [p2ll(100, 100), p2ll(100, 200)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}) + assert.notOk(qst('Remove shape from the multi')); + }); + + it('should not allow to isolate shape when not multi', function () { + var latlngs = [ + [p2ll(100, 100), p2ll(100, 200)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}) + assert.notOk(qst('Extract shape to separate feature')); + }); + + it('should allow to isolate shape when multi', function () { + var latlngs = [ + [p2ll(100, 150), p2ll(100, 200)], + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.ok(qst('Extract shape to separate feature')); + }); + + it('should not allow to transform to polygon when multi', function () { + var latlngs = [ + [p2ll(100, 150), p2ll(100, 200)], + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Transform to polygon')); + }); + + it('should allow to transform to polygon when not multi', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.equal(qst('Transform to polygon'), 1); + }); + + it('should not allow to transfer shape when not editedFeature', function () { + var layer = new L.U.Polyline(this.map, [p2ll(100, 150), p2ll(100, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Transfer shape to edited feature')); + }); + + it('should not allow to transfer shape when editedFeature is not a line', function () { + var layer = new L.U.Polyline(this.map, [p2ll(100, 150), p2ll(100, 200)], {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polygon(this.map, [p2ll(200, 300), p2ll(300, 200), p2ll(200, 100)], {datalayer: this.datalayer}).addTo(this.datalayer); + other.edit(); + happen.once(layer._path, {type: 'contextmenu'}); + assert.notOk(qst('Transfer shape to edited feature')); + }); + + it('should allow to transfer shape when another line is edited', function () { + var layer = new L.U.Polyline(this.map, [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polyline(this.map, [p2ll(200, 300), p2ll(300, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + other.edit(); + happen.once(layer._path, {type: 'contextmenu'}); + assert.equal(qst('Transfer shape to edited feature'), 1); + }); + + it('should allow to merge lines when multi', function () { + var latlngs = [ + [p2ll(100, 100), p2ll(100, 200)], + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}) + assert.equal(qst('Merge lines'), 1); + }); + + it('should not allow to merge lines when not multi', function () { + var latlngs = [ + [p2ll(100, 100), p2ll(100, 200)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + happen.once(layer._path, {type: 'contextmenu'}) + assert.notOk(qst('Merge lines')); + }); + + it('should allow to split lines when clicking on vertex', function () { + var latlngs = [ + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + layer.enableEdit(); + happen.at('contextmenu', 350, 400); + assert.equal(qst('Split line'), 1); + }); + + it('should not allow to split lines when clicking on first vertex', function () { + var latlngs = [ + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + layer.enableEdit(); + happen.at('contextmenu', 300, 350); + assert.equal(qst('Delete this feature'), 1); // Make sure we have clicked on the vertex. + assert.notOk(qst('Split line')); + }); + + it('should not allow to split lines when clicking on last vertex', function () { + var latlngs = [ + [p2ll(300, 350), p2ll(350, 400), p2ll(400, 300)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + layer.enableEdit(); + happen.at('contextmenu', 400, 300); + assert.equal(qst('Delete this feature'), 1); // Make sure we have clicked on the vertex. + assert.notOk(qst('Split line')); + }); + + }); + + }); + + describe('#addShape', function () { + + it('"add shape" control should not be visible by default', function () { + assert.notOk(qs('.umap-draw-polyline-multi')); + }); + + it('"add shape" control should be visible when editing a Polyline', function () { + var layer = new L.U.Polyline(this.map, [p2ll(100, 100), p2ll(100, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + layer.edit(); + assert.ok(qs('.umap-draw-polyline-multi')); + }); + + it('"add shape" control should extend the same multi', function () { + var layer = new L.U.Polyline(this.map, [p2ll(100, 100), p2ll(100, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + layer.edit(); + assert.notOk(layer.isMulti()); + happen.click(qs('.umap-draw-polyline-multi')); + happen.at('mousemove', 300, 300); + happen.at('click', 300, 300); + happen.at('mousemove', 350, 300); + happen.at('click', 350, 300); + happen.at('click', 350, 300); + assert.ok(layer.isMulti()); + assert.equal(this.datalayer._index.length, 1); + }); + + }); + + describe('#transferShape', function () { + + it('should transfer simple line shape to another line', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polyline(this.map, [p2ll(200, 300), p2ll(300, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + assert.ok(this.map.hasLayer(layer)); + layer.transferShape(p2ll(150, 150), other); + assert.equal(other._latlngs.length, 2); + assert.deepEqual(other._latlngs[1], latlngs); + assert.notOk(this.map.hasLayer(layer)); + }); + + it('should transfer multi line shape to another line', function () { + var latlngs = [ + [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + [p2ll(200, 300), p2ll(300, 200)] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer), + other = new L.U.Polyline(this.map, [p2ll(250, 300), p2ll(350, 200)], {datalayer: this.datalayer}).addTo(this.datalayer); + assert.ok(this.map.hasLayer(layer)); + layer.transferShape(p2ll(150, 150), other); + assert.equal(other._latlngs.length, 2); + assert.deepEqual(other._latlngs[1], latlngs[0]); + assert.ok(this.map.hasLayer(layer)); + assert.equal(layer._latlngs.length, 1); + }); + + }); + + describe('#mergeShapes', function () { + + it('should remove duplicated join point when merging', function () { + var latlngs = [ + [[0, 0], [0, 1]], + [[0, 1], [0, 2]], + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + layer.mergeShapes(); + layer.disableEdit(); // Remove vertex from latlngs to compare them. + assert.deepEqual(layer.getLatLngs(), [L.latLng([0, 0]), L.latLng([0, 1]), L.latLng([0, 2])]); + assert(this.map.isDirty); + }); + + it('should revert candidate if first point is closer', function () { + var latlngs = [ + [[0, 0], [0, 1]], + [[0, 2], [0, 1]], + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + layer.mergeShapes(); + layer.disableEdit(); + assert.deepEqual(layer.getLatLngs(), [L.latLng([0, 0]), L.latLng([0, 1]), L.latLng([0, 2])]); + }); + + }); + + + describe('#isolateShape', function () { + + it('should not allow to isolate simple line', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + assert.ok(this.map.hasLayer(layer)); + layer.isolateShape(p2ll(150, 150)); + assert.equal(layer._latlngs.length, 3); + assert.equal(this.datalayer._index.length, 1); + }); + + it('should isolate multipolyline shape', function () { + var latlngs = [ + [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + [[p2ll(200, 300), p2ll(300, 200)]] + ], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + assert.ok(this.map.hasLayer(layer)); + var other = layer.isolateShape(p2ll(150, 150)); + assert.equal(this.datalayer._index.length, 2); + assert.equal(other._latlngs.length, 3); + assert.deepEqual(other._latlngs, latlngs[0]); + assert.ok(this.map.hasLayer(layer)); + assert.ok(this.map.hasLayer(other)); + assert.equal(layer._latlngs.length, 1); + other.remove(); + }); + + }); + + describe('#clone', function () { + + it('should clone polyline', function () { + var latlngs = [p2ll(100, 150), p2ll(100, 200), p2ll(200, 100)], + layer = new L.U.Polyline(this.map, latlngs, {datalayer: this.datalayer}).addTo(this.datalayer); + assert.equal(this.datalayer._index.length, 1); + other = layer.clone(); + assert.ok(this.map.hasLayer(other)); + assert.equal(this.datalayer._index.length, 2); + // Must not be the same reference + assert.notEqual(layer._latlngs, other._latlngs); + assert.equal(L.Util.formatNum(layer._latlngs[0].lat), other._latlngs[0].lat); + assert.equal(L.Util.formatNum(layer._latlngs[0].lng), other._latlngs[0].lng); + }); + + }); + +}); diff --git a/umap/static/umap/test/TableEditor.js b/umap/static/umap/test/TableEditor.js new file mode 100644 index 00000000..6672c16a --- /dev/null +++ b/umap/static/umap/test/TableEditor.js @@ -0,0 +1,94 @@ +describe('L.TableEditor', function () { + var path = '/map/99/datalayer/edit/62/'; + + before(function () { + this.server = sinon.fakeServer.create(); + this.server.respondWith('GET', '/datalayer/62/', JSON.stringify(RESPONSES.datalayer62_GET)); + this.map = initMap({umap_id: 99}); + this.datalayer = this.map.getDataLayerByUmapId(62); + this.server.respond(); + enableEdit(); + }); + after(function () { + clickCancel(); + this.server.restore(); + resetMap(); + }); + + describe('#open()', function () { + var button; + + it('should exist table click on edit mode', function () { + button = qs('#browse_data_toggle_' + L.stamp(this.datalayer) + ' .layer-table-edit'); + expect(button).to.be.ok; + }); + + it('should open table button click', function () { + happen.click(button); + expect(qs('#umap-ui-container div.table')).to.be.ok; + expect(qsa('#umap-ui-container div.table form').length).to.eql(3); // One per feature. + expect(qsa('#umap-ui-container div.table input').length).to.eql(3); // One per feature and per property. + }); + + }); + describe('#properties()', function () { + var feature; + + before(function () { + var firstIndex = this.datalayer._index[0]; + feature = this.datalayer._layers[firstIndex]; + }); + + it('should create new property column', function () { + var newPrompt = function () { + return 'newprop'; + }; + var oldPrompt = window.prompt; + window.prompt = newPrompt; + var button = qs('#umap-ui-container .add-property'); + expect(button).to.be.ok; + happen.click(button); + expect(qsa('#umap-ui-container div.table input').length).to.eql(6); // One per feature and per property. + window.prompt = oldPrompt; + }); + + it('should populate feature property on fill', function () { + var input = qs('form#umap-feature-properties_' + L.stamp(feature) + ' input[name=newprop]'); + changeInputValue(input, 'the value'); + expect(feature.properties.newprop).to.eql('the value'); + }); + + it('should update property name on update click', function () { + var newPrompt = function () { + return 'newname'; + }; + var oldPrompt = window.prompt; + window.prompt = newPrompt; + var button = qs('#umap-ui-container div.thead div.tcell:last-of-type .umap-edit'); + expect(button).to.be.ok; + happen.click(button); + expect(qsa('#umap-ui-container div.table input').length).to.eql(6); + expect(feature.properties.newprop).to.be.undefined; + expect(feature.properties.newname).to.eql('the value'); + window.prompt = oldPrompt; + }); + + it('should update property on delete click', function () { + var oldConfirm, + newConfirm = function () { + return true; + }; + oldConfirm = window.confirm; + window.confirm = newConfirm; + var button = qs('#umap-ui-container div.thead div.tcell:last-of-type .umap-delete'); + expect(button).to.be.ok; + happen.click(button); + FEATURE = feature; + expect(qsa('#umap-ui-container div.table input').length).to.eql(3); + expect(feature.properties.newname).to.be.undefined; + window.confirm = oldConfirm; + }); + + }); + +}); diff --git a/umap/static/umap/test/Util.js b/umap/static/umap/test/Util.js new file mode 100644 index 00000000..03004efc --- /dev/null +++ b/umap/static/umap/test/Util.js @@ -0,0 +1,246 @@ +describe('L.Util', function () { + + describe('#toHTML()', function () { + + it('should handle title', function () { + assert.equal(L.Util.toHTML('# A title'), '

    A title

    '); + }); + + it('should handle title in the middle of the content', function () { + assert.equal(L.Util.toHTML('A phrase\n## A title'), 'A phrase
    \n

    A title

    '); + }); + + it('should handle hr', function () { + assert.equal(L.Util.toHTML('---'), '
    '); + }); + + it('should handle bold', function () { + assert.equal(L.Util.toHTML('Some **bold**'), 'Some bold'); + }); + + it('should handle italic', function () { + assert.equal(L.Util.toHTML('Some *italic*'), 'Some italic'); + }); + + it('should handle newlines', function () { + assert.equal(L.Util.toHTML('two\nlines'), 'two
    \nlines'); + }); + + it('should not change last newline', function () { + assert.equal(L.Util.toHTML('two\nlines\n'), 'two
    \nlines\n'); + }); + + it('should handle two successive newlines', function () { + assert.equal(L.Util.toHTML('two\n\nlines\n'), 'two
    \n
    \nlines\n'); + }); + + it('should handle links without formatting', function () { + assert.equal(L.Util.toHTML('A simple http://osm.org link'), 'A simple http://osm.org link'); + }); + + it('should handle simple link in title', function () { + assert.equal(L.Util.toHTML('# http://osm.org'), '

    http://osm.org

    '); + }); + + it('should handle links with url parameter', function () { + assert.equal(L.Util.toHTML('A simple https://osm.org/?url=https%3A//anotherurl.com link'), 'A simple https://osm.org/?url=https%3A//anotherurl.com link'); + }); + + it('should handle simple link inside parenthesis', function () { + assert.equal(L.Util.toHTML('A simple link (http://osm.org)'), 'A simple link (http://osm.org)'); + }); + + it('should handle simple link with formatting', function () { + assert.equal(L.Util.toHTML('A simple [[http://osm.org]] link'), 'A simple http://osm.org link'); + }); + + it('should handle simple link with formatting and content', function () { + assert.equal(L.Util.toHTML('A simple [[http://osm.org|link]]'), 'A simple link'); + }); + + it('should handle simple link followed by a carriage return', function () { + assert.equal(L.Util.toHTML('A simple link http://osm.org\nAnother line'), 'A simple link http://osm.org
    \nAnother line'); + }); + + it('should handle image', function () { + assert.equal(L.Util.toHTML('A simple image: {{http://osm.org/pouet.png}}'), 'A simple image: '); + }); + + it('should handle image without text', function () { + assert.equal(L.Util.toHTML('{{http://osm.org/pouet.png}}'), ''); + }); + + it('should handle image with width', function () { + assert.equal(L.Util.toHTML('A simple image: {{http://osm.org/pouet.png|100}}'), 'A simple image: '); + }); + + it('should handle iframe', function () { + assert.equal(L.Util.toHTML('A simple iframe: {{{http://osm.org/pouet.html}}}'), 'A simple iframe:
    '); + }); + + it('should handle iframe with height', function () { + assert.equal(L.Util.toHTML('A simple iframe: {{{http://osm.org/pouet.html|200}}}'), 'A simple iframe:
    '); + }); + + it('should handle iframe with height and width', function () { + assert.equal(L.Util.toHTML('A simple iframe: {{{http://osm.org/pouet.html|200*400}}}'), 'A simple iframe:
    '); + }); + + it('should handle iframe with height with px', function () { + assert.equal(L.Util.toHTML('A simple iframe: {{{http://osm.org/pouet.html|200px}}}'), 'A simple iframe:
    '); + }); + + it('should handle iframe with url parameter', function () { + assert.equal(L.Util.toHTML('A simple iframe: {{{https://osm.org/?url=https%3A//anotherurl.com}}}'), 'A simple iframe:
    '); + }); + + it('should handle iframe with height with px', function () { + assert.equal(L.Util.toHTML('A double iframe: {{{https://osm.org/pouet}}}{{{https://osm.org/boudin}}}'), 'A double iframe:
    '); + }); + + it('http link with http link as parameter as variable', function () { + assert.equal(L.Util.toHTML('A phrase with a [[http://iframeurl.com?to=http://another.com]].'), 'A phrase with a http://iframeurl.com?to=http://another.com.'); + }); + + }); + + describe('#escapeHTML', function () { + + it('should escape HTML tags', function () { + assert.equal(L.Util.escapeHTML(''), '<a href="pouet">'); + }); + + it('should not fail with int value', function () { + assert.equal(L.Util.escapeHTML(25), '25'); + }); + + it('should not fail with null value', function () { + assert.equal(L.Util.escapeHTML(null), ''); + }); + + }); + + describe('#greedyTemplate', function () { + + it('should replace simple props', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {variable}.', {variable: 'thing'}), 'A phrase with a thing.'); + }); + + it('should not fail when missing key', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {missing}', {}), 'A phrase with a '); + }); + + it('should process brakets in brakets', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {{{variable}}}.', {variable: 'value'}), 'A phrase with a {{value}}.'); + }); + + it('should not process http links', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {{{http://iframeurl.com}}}.', {'http://iframeurl.com': 'value'}), 'A phrase with a {{{http://iframeurl.com}}}.'); + }); + + it('should not accept dash', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {var-iable}.', {'var-iable': 'value'}), 'A phrase with a {var-iable}.'); + }); + + it('should accept colon', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {variable:fr}.', {'variable:fr': 'value'}), 'A phrase with a value.'); + }); + + it('should replace even with ignore if key is found', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {variable:fr}.', {'variable:fr': 'value'}, true), 'A phrase with a value.'); + }); + + it('should keep string when using ignore if key is not found', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {variable:fr}.', {}, true), 'A phrase with a {variable:fr}.'); + }); + + it('should replace nested variables', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {fr.var}.', {fr: {var: 'value'}}), 'A phrase with a value.'); + }); + + it('should not fail if nested variable is missing', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {fr.var.foo}.', {fr: {var: 'value'}}), 'A phrase with a .'); + }); + + it('should not fail with nested variables and no data', function () { + assert.equal(L.Util.greedyTemplate('A phrase with a {fr.var.foo}.', {}), 'A phrase with a .'); + }); + + }); + + describe('#TextColorFromBackgroundColor', function () { + + it('should output white for black', function () { + document.body.style.backgroundColor = 'black'; + assert.equal(L.DomUtil.TextColorFromBackgroundColor(document.body), '#ffffff'); + }); + + it('should output white for brown', function () { + document.body.style.backgroundColor = 'brown'; + assert.equal(L.DomUtil.TextColorFromBackgroundColor(document.body), '#ffffff'); + }); + + it('should output black for white', function () { + document.body.style.backgroundColor = 'white'; + assert.equal(L.DomUtil.TextColorFromBackgroundColor(document.body), '#000000'); + }); + + it('should output black for tan', function () { + document.body.style.backgroundColor = 'tan'; + assert.equal(L.DomUtil.TextColorFromBackgroundColor(document.body), '#000000'); + }); + + it('should output black by default', function () { + document.body.style.backgroundColor = 'transparent'; + assert.equal(L.DomUtil.TextColorFromBackgroundColor(document.body), '#000000'); + }); + + }); + + + describe('#flattenCoordinates()', function () { + + it('should not alter already flat coords', function () { + var coords = [[1, 2], [3, 4]]; + assert.deepEqual(L.Util.flattenCoordinates(coords), coords); + }) + + it('should flatten nested coords', function () { + var coords = [[[1, 2], [3, 4]]]; + assert.deepEqual(L.Util.flattenCoordinates(coords), coords[0]); + coords = [[[[1, 2], [3, 4]]]]; + assert.deepEqual(L.Util.flattenCoordinates(coords), coords[0][0]); + }) + + it('should not fail on empty coords', function () { + var coords = []; + assert.deepEqual(L.Util.flattenCoordinates(coords), coords); + }) + + }); + + describe('#usableOption()', function () { + + it('should consider false', function () { + assert.ok(L.Util.usableOption({key: false}, 'key')); + }) + + it('should consider 0', function () { + assert.ok(L.Util.usableOption({key: 0}, 'key')); + }) + + it('should not consider undefined', function () { + assert.notOk(L.Util.usableOption({}, 'key')); + }) + + it('should not consider empty string', function () { + assert.notOk(L.Util.usableOption({key: ''}, 'key')); + }) + + it('should consider null', function () { + assert.ok(L.Util.usableOption({key: null}, 'key')); + }) + + }); + +}); diff --git a/umap/static/umap/test/_pre.js b/umap/static/umap/test/_pre.js new file mode 100644 index 00000000..1bd25878 --- /dev/null +++ b/umap/static/umap/test/_pre.js @@ -0,0 +1,301 @@ +var qs = function (selector, element) {return (element || document).querySelector(selector);}; +var qsa = function (selector) {return document.querySelectorAll(selector);}; +var qst = function (text, parent) { + // find element by its text content + var r = document.evaluate("descendant::*[contains(text(),'" + text + "')]", parent || qs('#map'), null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null), count = 0; + while(r.iterateNext()) console.log(++count); + return count; +}; +happen.at = function (what, x, y, props) { + this.once(document.elementFromPoint(x, y), L.Util.extend({ + type: what, + clientX: x, + clientY: y, + screenX: x, + screenY: y, + which: 1, + button: 0 + }, props || {})); +}; +var resetMap = function () { + var mapElement = qs('#map'); + mapElement.innerHTML = 'Done'; + delete mapElement._leaflet_id; + document.body.className = ''; +}; +var enableEdit = function () { + happen.click(qs('div.leaflet-control-edit-enable a')); +}; +var disableEdit = function () { + happen.click(qs('a.leaflet-control-edit-disable')); +}; +var clickSave = function () { + happen.click(qs('a.leaflet-control-edit-save')); +}; +var clickCancel = function () { + var _confirm = window.confirm; + window.confirm = function (text) { + return true; + }; + happen.click(qs('a.leaflet-control-edit-cancel')); + happen.once(document.body, {type: 'keypress', keyCode: 13}); + window.confirm = _confirm; +}; +var changeInputValue = function (input, value) { + input.value = value; + happen.once(input, {type: 'input'}); + happen.once(input, {type: 'blur'}); +}; +var changeSelectValue = function (path_or_select, value) { + if (typeof path_or_select === 'string') path_or_select = qs(path_or_select); + var found = false; + for (var i = 0; i < path_or_select.length; i++) { + if (path_or_select.options[i].value === value) { + path_or_select.options[i].selected = true; + found = true; + } + } + happen.once(path_or_select, {type: 'change'}); + if (!found) throw new Error('Value ' + value + 'not found in select ' + path_or_select); + return path_or_select; +} +var cleanAlert = function () { + L.DomUtil.removeClass(qs('#map'), 'umap-alert'); + L.DomUtil.get('umap-alert-container').innerHTML = ''; + UI_ALERT_ID = null; // Prevent setTimeout to be called +}; +var defaultDatalayerData = function (custom) { + var _default = { + iconClass: 'Default', + name: 'Elephants', + displayOnLoad: true, + id: 62, + pictogram_url: null, + opacity: null, + weight: null, + fillColor: '', + color: '', + stroke: true, + smoothFactor: null, + dashArray: '', + fillOpacity: null, + fill: true + }; + return L.extend({}, _default, custom); +}; + +function initMap (options) { + default_options = { + "geometry": { + "type": "Point", + "coordinates": [5.0592041015625, 52.05924589011585] + }, + "type": "Feature", + "properties": { + "umap_id": 42, + "datalayers": [], + "urls": { + "map": "/map/{slug}_{pk}", + "datalayer_view": "/datalayer/{pk}/", + "map_update": "/map/{map_id}/update/settings/", + "map_old_url": "/map/{username}/{slug}/", + "map_clone": "/map/{map_id}/update/clone/", + "map_short_url": "/m/{pk}/", + "map_anonymous_edit_url": "/map/anonymous-edit/{signature}", + "map_new": "/map/new/", + "datalayer_update": "/map/{map_id}/datalayer/update/{pk}/", + "map_delete": "/map/{map_id}/update/delete/", + "map_create": "/map/create/", + "logout": "/logout/", + "datalayer_create": "/map/{map_id}/datalayer/create/", + "login_popup_end": "/login/popupd/", + "login": "/login/", + "datalayer_delete": "/map/{map_id}/datalayer/delete/{pk}/", + "datalayer_versions": "/map/{map_id}/datalayer/{pk}/versions/", + "datalayer_version": "/datalayer/{pk}/{name}", + "pictogram_list_json": "/pictogram/json/", + "map_update_permissions": "/map/{map_id}/update/permissions/" + }, + "default_iconUrl": "../src/img/marker.png", + "zoom": 6, + "tilelayers": [ + { + "attribution": "\u00a9 OSM Contributors", + "name": "OpenStreetMap", + "url_template": "http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", + "minZoom": 0, + "maxZoom": 18, + "id": 1, + "selected": true + }, + { + "attribution": "HOT and friends", + "name": "HOT OSM-fr server", + "url_template": "http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", + "rank": 99, + "minZoom": 0, + "maxZoom": 20, + "id": 2 + }], + "tilelayer": { + "attribution": "HOT and friends", + "name": "HOT OSM-fr server", + "url_template": "http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", + "rank": 99, + "minZoom": 0, + "maxZoom": 20, + "id": 2 + }, + "licences": { + "No licence set": { + "url": "", + "name": "No licence set" + }, + "Licence ouverte/Open Licence": { + "url": "http://www.data.gouv.fr/Licence-Ouverte-Open-Licence", + "name": "Licence ouverte/Open Licence" + }, + "WTFPL": { + "url": "http://www.wtfpl.net/", + "name": "WTFPL" + }, + "ODbl": { + "url": "http://opendatacommons.org/licenses/odbl/", + "name": "ODbl" + } + }, + "name": "name of the map", + "description": "The description of the map", + "allowEdit": true, + "moreControl": true, + "scaleControl": true, + "miniMap": true, + "datalayersControl": true, + "displayCaptionOnLoad": false, + "displayPopupFooter": false, + "displayDataBrowserOnLoad": false + } + }; + default_options.properties.datalayers.push(defaultDatalayerData()); + options.properties = L.extend({}, default_options.properties, options); + return new L.U.Map("map", options); +} + +var RESPONSES = { + 'datalayer62_GET': { + "crs": null, + "type": "FeatureCollection", + "_umap_options": defaultDatalayerData(), + "features": [{ + "geometry": { + "type": "Point", + "coordinates": [-0.274658203125, 52.57634993749885] + }, + "type": "Feature", + "id": 1807, + "properties": {_umap_options: {color: "OliveDrab"}, name: "test"} + }, + { + "geometry": { + "type": "LineString", + "coordinates": [[-0.5712890625, 54.47642158429295], [0.439453125, 54.610254981579146], [1.724853515625, 53.44880683542759], [4.163818359375, 53.98839506479995], [5.306396484375, 53.533778184257805], [6.591796875, 53.70971358510174], [7.042236328124999, 53.35055131839989]] + }, + "type": "Feature", + "id": 20, "properties": {"_umap_options": {"fill": false}, "name": "test"} + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [[[11.25, 53.585983654559804], [10.1513671875, 52.9751081817353], [12.689208984375, 52.16719363541221], [14.084472656249998, 53.199451902831555], [12.63427734375, 53.61857936489517], [11.25, 53.585983654559804], [11.25, 53.585983654559804]]] + }, + "type": "Feature", + "id": 76, + "properties": {name: "name poly"} + }] + } +}; + + +sinon.fakeServer.getRequest = function (path, method) { + var request; + for (var i=0, l=this.requests.length; i' + +''+ +'Simple point'+ +'Here is a simple description.'+ +''+ +'-122.0822035425683,37.42228990140251,0'+ +''+ +''+ +''+ +'Simple path'+ +'Simple description'+ +''+ +'-112.2550785337791,36.07954952145647,2357 -112.2549277039738,36.08117083492122,2357 -112.2552505069063,36.08260761307279,2357'+ +''+ +''+ +''+ +'Simple polygon'+ +'A description.'+ +''+ +''+ +''+ +''+ +' -77.05788457660967,38.87253259892824,100 '+ +' -77.05465973756702,38.87291016281703,100 '+ +' -77.05315536854791,38.87053267794386,100 '+ +' -77.05788457660967,38.87253259892824,100 '+ +''+ +''+ +''+ +''+ +''+ +''; + +var gpx_example = '' + +' 1374Simple PointSimple description' + +' ' + +' Simple path' + +' Simple description' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +''; + +var csv_example = 'Foo,Latitude,Longitude,title,description\n' + +'bar,41.34,122.86,a point somewhere,the description of this point'; + +// Make Sinon log readable +sinon.format = function (what) { + if (typeof what === 'object') { + return JSON.stringify(what, null, 4); + } else if (typeof what === "undefined") { + return ''; + } else { + return what.toString(); + } +}; diff --git a/umap/static/umap/test/index.html b/umap/static/umap/test/index.html new file mode 100644 index 00000000..f8bdaae5 --- /dev/null +++ b/umap/static/umap/test/index.html @@ -0,0 +1,117 @@ + + + Umap front Tests + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + diff --git a/umap/static/umap/umap.png b/umap/static/umap/umap.png deleted file mode 100644 index 7edbeff2..00000000 Binary files a/umap/static/umap/umap.png and /dev/null differ diff --git a/umap/templates/auth/user_detail.html b/umap/templates/auth/user_detail.html index 51374464..363b1529 100644 --- a/umap/templates/auth/user_detail.html +++ b/umap/templates/auth/user_detail.html @@ -9,7 +9,7 @@
    {% if maps %} - {% include "leaflet_storage/map_list.html" %} + {% include "umap/map_list.html" %} {% else %}
    {% blocktrans %}{{ current_user }} has no maps.{% endblocktrans %} diff --git a/umap/templates/base.html b/umap/templates/base.html index f6f1be68..1ea6fd24 100644 --- a/umap/templates/base.html +++ b/umap/templates/base.html @@ -1,25 +1,11 @@ {% load compress umap_tags i18n %} - + {% block head_title %}{{ SITE_NAME }}{% endblock %} - {% compress css %} - - - - - - {% endcompress css %} - - {% block extra_head %} {% endblock extra_head %} - {% compress js %} - - {% endcompress js %} diff --git a/umap/templates/leaflet_storage/js.html b/umap/templates/leaflet_storage/js.html deleted file mode 100644 index 79e6cb2d..00000000 --- a/umap/templates/leaflet_storage/js.html +++ /dev/null @@ -1,42 +0,0 @@ -{% load compress %} -{% compress js %} - - - - - - - - - - - - - - - - - - - - - - -{% endcompress %} -{% if locale %} - -{% endif %} -{% compress js %} - - - - - - - - - - - - -{% endcompress %} diff --git a/umap/templates/leaflet_storage/map_detail.html b/umap/templates/leaflet_storage/map_detail.html deleted file mode 100644 index 07c629ef..00000000 --- a/umap/templates/leaflet_storage/map_detail.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "base.html" %} -{% load leaflet_storage_tags compress i18n %} -{% block head_title %}{{ map.name }} - {{ SITE_NAME }}{% endblock %} -{% block body_class %}map_detail{% endblock %} - -{% block extra_head %} - {% compress css %} - {% leaflet_storage_css %} - {% endcompress %} - {% leaflet_storage_js locale=locale %} - {% if object.share_status != object.PUBLIC %} - - {% endif %} -{% endblock %} - -{% block content %} - {% block map_init %} - {% include "leaflet_storage/map_init.html" %} - {% endblock %} - {% include "leaflet_storage/map_messages.html" %} - -{% endblock %} diff --git a/umap/templates/registration/login.html b/umap/templates/registration/login.html index 3d052eb4..265af5d6 100644 --- a/umap/templates/registration/login.html +++ b/umap/templates/registration/login.html @@ -29,7 +29,7 @@ diff --git a/umap/templates/umap/about_summary.html b/umap/templates/umap/about_summary.html index 2771537e..c580cf83 100644 --- a/umap/templates/umap/about_summary.html +++ b/umap/templates/umap/about_summary.html @@ -3,7 +3,7 @@
    -

    {% blocktrans with osm_url="http://osm.org" %}uMap let you create maps with OpenStreetMap layers in a minute and embed them in your site.{% endblocktrans %}

    +

    {% blocktrans with osm_url="http://osm.org" %}uMap lets you create maps with OpenStreetMap layers in a minute and embed them in your site.{% endblocktrans %}

    @@ -25,14 +25,16 @@
    -
    +
    {% spaceless %} + {% endspaceless %}
    diff --git a/umap/templates/umap/content.html b/umap/templates/umap/content.html index 8435d7fd..ca7fb698 100644 --- a/umap/templates/umap/content.html +++ b/umap/templates/umap/content.html @@ -1,14 +1,14 @@ {% extends "base.html" %} -{% load leaflet_storage_tags compress i18n %} +{% load umap_tags compress i18n %} {% block body_class %}content{% endblock %} {% block extra_head %} {% compress css %} - {% leaflet_storage_css %} + {% umap_css %} {% endcompress css %} - {% leaflet_storage_js %} + {% umap_js %} {% endblock %} {% block header %} @@ -26,8 +26,8 @@ {{ block.super }} + + + + + + + + + + + + + + + + + + + + + +{% endcompress %} +{% if locale %} + +{% endif %} +{% compress js %} + + + + + + + + + + + + + + +{% endcompress %} diff --git a/umap/templates/umap/locale.js b/umap/templates/umap/locale.js new file mode 100644 index 00000000..374a6206 --- /dev/null +++ b/umap/templates/umap/locale.js @@ -0,0 +1,3 @@ +var locale = {{ locale|safe }}; +L.registerLocale("{{ locale_code }}", locale); +L.setLocale("{{ locale_code }}"); \ No newline at end of file diff --git a/umap/templates/umap/login_popup_end.html b/umap/templates/umap/login_popup_end.html new file mode 100644 index 00000000..fe2c1bfc --- /dev/null +++ b/umap/templates/umap/login_popup_end.html @@ -0,0 +1,18 @@ +{% load i18n %} +

    {% trans "You are logged in. Continuing..." %}

    + + diff --git a/umap/templates/umap/map_detail.html b/umap/templates/umap/map_detail.html new file mode 100644 index 00000000..fd9994f5 --- /dev/null +++ b/umap/templates/umap/map_detail.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} +{% load umap_tags compress i18n %} +{% block head_title %}{{ map.name }} - {{ SITE_NAME }}{% endblock %} +{% block body_class %}map_detail{% endblock %} + +{% block extra_head %} + {% compress css %} + {% umap_css %} + {% endcompress %} + {% umap_js locale=locale %} + {% if object.share_status != object.PUBLIC %} + + {% endif %} +{% endblock %} + +{% block content %} + {% block map_init %} + {% include "umap/map_init.html" %} + {% endblock %} + {% include "umap/map_messages.html" %} +{% endblock %} diff --git a/umap/templates/umap/map_fragment.html b/umap/templates/umap/map_fragment.html new file mode 100644 index 00000000..ddeb4525 --- /dev/null +++ b/umap/templates/umap/map_fragment.html @@ -0,0 +1,5 @@ +{% load umap_tags %} +
    + diff --git a/umap/templates/umap/map_init.html b/umap/templates/umap/map_init.html new file mode 100644 index 00000000..50af1a17 --- /dev/null +++ b/umap/templates/umap/map_init.html @@ -0,0 +1,5 @@ +{% load umap_tags %} +
    + diff --git a/umap/templates/leaflet_storage/map_list.html b/umap/templates/umap/map_list.html similarity index 83% rename from umap/templates/leaflet_storage/map_list.html rename to umap/templates/umap/map_list.html index 73d9b607..672aa6a8 100644 --- a/umap/templates/leaflet_storage/map_list.html +++ b/umap/templates/umap/map_list.html @@ -1,9 +1,9 @@ -{% load leaflet_storage_tags umap_tags i18n %} +{% load umap_tags umap_tags i18n %} {% for map_inst in maps %}
    - {% map_fragment map_inst prefix=prefix %} + {% map_fragment map_inst prefix=prefix page=request.GET.p %}
    {{ map_inst.name }}{% if map_inst.owner %} {% trans "by" %} {{ map_inst.owner }}{% endif %}
    {% endfor %} diff --git a/umap/templates/umap/map_messages.html b/umap/templates/umap/map_messages.html new file mode 100644 index 00000000..646cfd0a --- /dev/null +++ b/umap/templates/umap/map_messages.html @@ -0,0 +1,10 @@ + diff --git a/umap/templates/umap/search.html b/umap/templates/umap/search.html index da860da7..074c54c6 100644 --- a/umap/templates/umap/search.html +++ b/umap/templates/umap/search.html @@ -8,7 +8,7 @@
    {% if maps %} - {% include "leaflet_storage/map_list.html" with prefix='search_map_' %} + {% include "umap/map_list.html" with prefix='search_map' %} {% else %} {% trans "Not map found." %} {% endif %} diff --git a/umap/templates/umap/success.html b/umap/templates/umap/success.html new file mode 100644 index 00000000..b5754e20 --- /dev/null +++ b/umap/templates/umap/success.html @@ -0,0 +1 @@ +ok \ No newline at end of file diff --git a/umap/templatetags/umap_tags.py b/umap/templatetags/umap_tags.py index b86c8a62..c40691d1 100644 --- a/umap/templatetags/umap_tags.py +++ b/umap/templatetags/umap_tags.py @@ -1,14 +1,85 @@ +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] + map_settings = map_instance.settings + if "properties" not in map_settings: + map_settings['properties'] = {} + map_settings['properties'].update({ + 'tilelayers': [TileLayer.get_default().json], + 'datalayers': datalayer_data, + 'urls': _urls_for_js(), + 'STATIC_URL': settings.STATIC_URL, + "allowEdit": False, + 'hash': False, + 'attributionControl': False, + 'scrollWheelZoom': False, + 'umapAttributionControl': False, + 'noControl': True, + 'umap_id': map_instance.pk, + 'onLoadPanel': "none", + 'captionBar': False, + 'default_iconUrl': "%sumap/img/marker.png" % settings.STATIC_URL, + 'slideshow': {} + }) + map_settings['properties'].update(kwargs) + prefix = kwargs.pop('prefix', None) or 'map' + page = kwargs.pop('page', None) or '' + unique_id = prefix + str(page) + "_" + str(map_instance.pk) + return { + "map_settings": json.dumps(map_settings), + "map": map_instance, + "unique_id": unique_id + } + + +@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) - qs["p"] = page + qs["p"] = str(page) return qs.urlencode() diff --git a/umap/tests/__init__.py b/umap/tests/__init__.py index 92018579..e69de29b 100644 --- a/umap/tests/__init__.py +++ b/umap/tests/__init__.py @@ -1 +0,0 @@ -from .test_views import * diff --git a/umap/tests/base.py b/umap/tests/base.py new file mode 100644 index 00000000..b2c64942 --- /dev/null +++ b/umap/tests/base.py @@ -0,0 +1,96 @@ +import json + +import factory +from django.contrib.auth import get_user_model +from django.urls import reverse + +from umap.forms import DEFAULT_CENTER +from umap.models import DataLayer, Licence, Map, TileLayer + +User = get_user_model() + + +class LicenceFactory(factory.DjangoModelFactory): + name = "WTFPL" + + class Meta: + model = Licence + + +class TileLayerFactory(factory.DjangoModelFactory): + name = "Test zoom layer" + url_template = "http://{s}.test.org/{z}/{x}/{y}.png" + attribution = "Test layer attribution" + + class Meta: + model = TileLayer + + +class UserFactory(factory.DjangoModelFactory): + username = 'Joe' + email = factory.LazyAttribute( + lambda a: '{0}@example.com'.format(a.username).lower()) + password = factory.PostGenerationMethodCall('set_password', '123123') + + class Meta: + model = User + + +class MapFactory(factory.DjangoModelFactory): + name = "test map" + slug = "test-map" + center = DEFAULT_CENTER + settings = { + 'geometry': { + 'coordinates': [13.447265624999998, 48.94415123418794], + 'type': 'Point' + }, + 'properties': { + 'datalayersControl': True, + 'description': 'Which is just the Danube, at the end', + 'displayCaptionOnLoad': False, + 'displayDataBrowserOnLoad': False, + 'displayPopupFooter': False, + 'licence': '', + 'miniMap': False, + 'moreControl': True, + 'name': 'Cruising on the Donau', + 'scaleControl': True, + 'tilelayer': { + 'attribution': u'\xa9 OSM Contributors', + 'maxZoom': 18, + 'minZoom': 0, + 'url_template': 'http://{s}.osm.fr/{z}/{x}/{y}.png' + }, + 'tilelayersControl': True, + 'zoom': 7, + 'zoomControl': True + }, + 'type': 'Feature' + } + + licence = factory.SubFactory(LicenceFactory) + owner = factory.SubFactory(UserFactory) + + class Meta: + model = Map + + +class DataLayerFactory(factory.DjangoModelFactory): + map = factory.SubFactory(MapFactory) + name = "test datalayer" + description = "test description" + display_on_load = True + geojson = factory.django.FileField(data="""{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[13.68896484375,48.55297816440071]},"properties":{"_umap_options":{"color":"DarkCyan","iconClass":"Ball"},"name":"Here","description":"Da place anonymous again 755"}}],"_umap_options":{"displayOnLoad":true,"name":"Donau","id":926}}""") # noqa + + class Meta: + model = DataLayer + + +def login_required(response): + assert response.status_code == 200 + j = json.loads(response.content.decode()) + assert 'login_required' in j + redirect_url = reverse('login') + assert j['login_required'] == redirect_url + return True diff --git a/umap/tests/conftest.py b/umap/tests/conftest.py new file mode 100644 index 00000000..e3d237e3 --- /dev/null +++ b/umap/tests/conftest.py @@ -0,0 +1,65 @@ +import shutil +import tempfile + +import pytest +from django.core.signing import get_cookie_signer + +from .base import DataLayerFactory, MapFactory, UserFactory +from umap.models import Licence, TileLayer + +TMP_ROOT = tempfile.mkdtemp() + + +def pytest_configure(config): + from django.conf import settings + settings.MEDIA_ROOT = TMP_ROOT + + +def pytest_unconfigure(config): + shutil.rmtree(TMP_ROOT, ignore_errors=True) + + +@pytest.fixture +def user(): + return UserFactory(password="123123") + + +@pytest.fixture +def licence(): + # Should be created by the migrations. + return Licence.objects.last() + + +@pytest.fixture +def map(licence, tilelayer): + user = UserFactory(username="Gabriel", password="123123") + return MapFactory(owner=user, licence=licence) + + +@pytest.fixture +def anonymap(map): + map.owner = None + map.save() + return map + + +@pytest.fixture +def cookieclient(client, map): + key, value = map.signed_cookie_elements + client.cookies[key] = get_cookie_signer(salt=key).sign(value) + return client + + +@pytest.fixture +def allow_anonymous(settings): + settings.UMAP_ALLOW_ANONYMOUS = True + + +@pytest.fixture +def datalayer(map): + return DataLayerFactory(map=map, name="Default Datalayer") + + +@pytest.fixture +def tilelayer(): + return TileLayer.objects.last() diff --git a/umap/tests/fixtures/test_upload_data.csv b/umap/tests/fixtures/test_upload_data.csv new file mode 100644 index 00000000..107f2510 --- /dev/null +++ b/umap/tests/fixtures/test_upload_data.csv @@ -0,0 +1,2 @@ +Foo,Latitude,geo_Longitude,title,description +bar,41.34,122.86,a point somewhere,the description of this point \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_data.gpx b/umap/tests/fixtures/test_upload_data.gpx new file mode 100644 index 00000000..ea7e1080 --- /dev/null +++ b/umap/tests/fixtures/test_upload_data.gpx @@ -0,0 +1,17 @@ + + 1374Simple PointSimple description + + Simple path + Simple description + + + + + + + \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_data.json b/umap/tests/fixtures/test_upload_data.json new file mode 100644 index 00000000..8d7fc002 --- /dev/null +++ b/umap/tests/fixtures/test_upload_data.json @@ -0,0 +1,188 @@ +{ + "crs": null, + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Point", + "coordinates": [ + -0.1318359375, + 51.474540439419755 + ] + }, + "type": "Feature", + "properties": { + "name": "London", + "description": "London description", + "color": "Pink" + } + }, + { + "geometry": { + "type": "Point", + "coordinates": [ + 4.350585937499999, + 51.26878915771344 + ] + }, + "type": "Feature", + "properties": { + "name": "Antwerpen", + "description": "" + } + }, + { + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4005126953125, + 48.81228985866255 + ], + [ + 2.78228759765625, + 48.89903236496008 + ], + [ + 2.845458984375, + 48.89903236496008 + ], + [ + 2.86468505859375, + 48.96218736991556 + ], + [ + 2.9278564453125, + 48.93693495409401 + ], + [ + 2.93060302734375, + 48.99283383694349 + ], + [ + 3.04046630859375, + 49.01085236926211 + ], + [ + 3.0157470703125, + 48.96038404976431 + ], + [ + 3.12286376953125, + 48.94415123418794 + ], + [ + 3.1805419921874996, + 48.99824008113872 + ], + [ + 3.2684326171875, + 48.95497369808868 + ], + [ + 3.53759765625, + 49.0900564769189 + ], + [ + 3.57330322265625, + 49.057670047140604 + ], + [ + 3.72161865234375, + 49.095452162534826 + ], + [ + 3.9578247070312496, + 49.06486885623368 + ] + ] + }, + "type": "Feature", + "properties": { + "name": "2011" + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 10.04150390625, + 52.70967533219883 + ], + [ + 8.800048828125, + 51.80182150078305 + ], + [ + 11.271972656249998, + 51.12421275782688 + ], + [ + 12.689208984375, + 52.214338608258196 + ], + [ + 10.04150390625, + 52.70967533219883 + ] + ] + ] + }, + "type": "Feature", + "properties": { + "name": "test" + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 7.327880859374999, + 50.52041218671901 + ], + [ + 6.064453125, + 49.6462914122132 + ], + [ + 7.503662109375, + 49.54659778073743 + ], + [ + 6.8115234375, + 49.167338606291075 + ], + [ + 9.635009765625, + 48.99463598353408 + ], + [ + 10.557861328125, + 49.937079756975294 + ], + [ + 8.4814453125, + 49.688954878870305 + ], + [ + 9.173583984375, + 51.04830113331224 + ], + [ + 7.327880859374999, + 50.52041218671901 + ] + ] + ] + }, + "type": "Feature", + "properties": { + "name": "test polygon 2" + } + } + ] +} \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_data.kml b/umap/tests/fixtures/test_upload_data.kml new file mode 100644 index 00000000..af857078 --- /dev/null +++ b/umap/tests/fixtures/test_upload_data.kml @@ -0,0 +1,33 @@ + + + + Simple point + Here is a simple description. + + -122.0822035425683,37.42228990140251,0 + + + + Simple path + Simple description + + -112.2550785337791,36.07954952145647,2357 -112.2549277039738,36.08117083492122,2357 -112.2552505069063,36.08260761307279,2357 + + + + Simple polygon + A description. + + + + + -77.05788457660967,38.87253259892824,100 + -77.05465973756702,38.87291016281703,100 + -77.05315536854791,38.87053267794386,100 + -77.05788457660967,38.87253259892824,100 + + + + + + \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_empty_coordinates.json b/umap/tests/fixtures/test_upload_empty_coordinates.json new file mode 100644 index 00000000..65f8dd16 --- /dev/null +++ b/umap/tests/fixtures/test_upload_empty_coordinates.json @@ -0,0 +1,36 @@ +{ + "crs": null, + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Point", + "coordinates": [] + }, + "type": "Feature", + "properties": { + "name": "London" + } + }, + { + "geometry": { + "type": "LineString", + "coordinates": [] + }, + "type": "Feature", + "properties": { + "name": "2011" + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [[]] + }, + "type": "Feature", + "properties": { + "name": "test" + } + } + ] +} \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_missing_name.json b/umap/tests/fixtures/test_upload_missing_name.json new file mode 100644 index 00000000..e4e4acbf --- /dev/null +++ b/umap/tests/fixtures/test_upload_missing_name.json @@ -0,0 +1,153 @@ +{ + "crs": null, + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Point", + "coordinates": [ + -0.1318359375, + 51.474540439419755 + ] + }, + "type": "Feature", + "properties": { + "name": "London" + } + }, + { + "geometry": { + "type": "Point", + "coordinates": [ + 4.350585937499999, + 51.26878915771344 + ] + }, + "type": "Feature", + "properties": { + "noname": "this feature is missing a name", + "name": null + } + }, + { + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4005126953125, + 48.81228985866255 + ], + [ + 2.78228759765625, + 48.89903236496008 + ], + [ + 2.845458984375, + 48.89903236496008 + ], + [ + 2.86468505859375, + 48.96218736991556 + ], + [ + 2.9278564453125, + 48.93693495409401 + ], + [ + 2.93060302734375, + 48.99283383694349 + ], + [ + 3.04046630859375, + 49.01085236926211 + ], + [ + 3.0157470703125, + 48.96038404976431 + ], + [ + 3.12286376953125, + 48.94415123418794 + ], + [ + 3.1805419921874996, + 48.99824008113872 + ], + [ + 3.2684326171875, + 48.95497369808868 + ], + [ + 3.53759765625, + 49.0900564769189 + ], + [ + 3.57330322265625, + 49.057670047140604 + ], + [ + 3.72161865234375, + 49.095452162534826 + ], + [ + 3.9578247070312496, + 49.06486885623368 + ] + ] + }, + "type": "Feature", + "properties": { + "name": "2011" + } + }, + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 7.327880859374999, + 50.52041218671901 + ], + [ + 6.064453125, + 49.6462914122132 + ], + [ + 7.503662109375, + 49.54659778073743 + ], + [ + 6.8115234375, + 49.167338606291075 + ], + [ + 9.635009765625, + 48.99463598353408 + ], + [ + 10.557861328125, + 49.937079756975294 + ], + [ + 8.4814453125, + 49.688954878870305 + ], + [ + 9.173583984375, + 51.04830113331224 + ], + [ + 7.327880859374999, + 50.52041218671901 + ] + ] + ] + }, + "type": "Feature", + "properties": { + "name": "test polygon 2" + } + } + ] +} \ No newline at end of file diff --git a/umap/tests/fixtures/test_upload_non_linear_ring.json b/umap/tests/fixtures/test_upload_non_linear_ring.json new file mode 100644 index 00000000..db22bb0b --- /dev/null +++ b/umap/tests/fixtures/test_upload_non_linear_ring.json @@ -0,0 +1,51 @@ +{ + "crs": null, + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 7.327880859374999, + 50.52041218671901 + ], + [ + 6.064453125, + 49.6462914122132 + ], + [ + 7.503662109375, + 49.54659778073743 + ], + [ + 6.8115234375, + 49.167338606291075 + ], + [ + 9.635009765625, + 48.99463598353408 + ], + [ + 10.557861328125, + 49.937079756975294 + ], + [ + 8.4814453125, + 49.688954878870305 + ], + [ + 9.173583984375, + 51.04830113331224 + ] + ] + ] + }, + "type": "Feature", + "properties": { + "name": "non linear ring" + } + } + ] +} \ No newline at end of file diff --git a/umap/tests/settings.py b/umap/tests/settings.py index a018ce88..38fb0d6f 100644 --- a/umap/tests/settings.py +++ b/umap/tests/settings.py @@ -1,3 +1,4 @@ from umap.settings.base import * # pylint: disable=W0614,W0401 SECRET_KEY = 'justfortests' +COMPRESS_ENABLED = False diff --git a/umap/tests/test_datalayer.py b/umap/tests/test_datalayer.py new file mode 100644 index 00000000..e1566e0f --- /dev/null +++ b/umap/tests/test_datalayer.py @@ -0,0 +1,81 @@ +import os + +import pytest +from django.core.files.base import ContentFile + +from .base import DataLayerFactory, MapFactory + +pytestmark = pytest.mark.django_db + + +def test_datalayers_should_be_ordered_by_rank(map, datalayer): + datalayer.rank = 5 + datalayer.save() + c4 = DataLayerFactory(map=map, rank=4) + c1 = DataLayerFactory(map=map, rank=1) + c3 = DataLayerFactory(map=map, rank=3) + c2 = DataLayerFactory(map=map, rank=2) + assert list(map.datalayer_set.all()) == [c1, c2, c3, c4, datalayer] + + +def test_upload_to(map, datalayer): + map.pk = 302 + datalayer.pk = 17 + assert datalayer.upload_to().startswith('datalayer/2/0/302/17_') + + +def test_save_should_use_pk_as_name(map, datalayer): + assert "/{}_".format(datalayer.pk) in datalayer.geojson.name + + +def test_same_geojson_file_name_will_be_suffixed(map, datalayer): + before = datalayer.geojson.name + datalayer.geojson.save(before, ContentFile("{}")) + assert datalayer.geojson.name != before + assert "/{}_".format(datalayer.pk) in datalayer.geojson.name + + +def test_clone_should_return_new_instance(map, datalayer): + clone = datalayer.clone() + assert datalayer.pk != clone.pk + assert datalayer.name == clone.name + assert datalayer.map == clone.map + + +def test_clone_should_update_map_if_passed(datalayer, user, licence): + map = MapFactory(owner=user, licence=licence) + clone = datalayer.clone(map_inst=map) + assert datalayer.pk != clone.pk + assert datalayer.name == clone.name + assert datalayer.map != clone.map + assert map == clone.map + + +def test_clone_should_clone_geojson_too(datalayer): + clone = datalayer.clone() + assert datalayer.pk != clone.pk + assert clone.geojson is not None + assert clone.geojson.path != datalayer.geojson.path + + +def test_should_remove_old_versions_on_save(datalayer, map, settings): + settings.UMAP_KEEP_VERSIONS = 3 + root = datalayer.storage_root() + before = len(datalayer.geojson.storage.listdir(root)[1]) + newer = '%s/%s_1440924889.geojson' % (root, datalayer.pk) + medium = '%s/%s_1440923687.geojson' % (root, datalayer.pk) + older = '%s/%s_1440918637.geojson' % (root, datalayer.pk) + for path in [medium, newer, older]: + datalayer.geojson.storage.save(path, ContentFile("{}")) + datalayer.geojson.storage.save(path + '.gz', ContentFile("{}")) + assert len(datalayer.geojson.storage.listdir(root)[1]) == 6 + before + datalayer.save() + files = datalayer.geojson.storage.listdir(root)[1] + assert len(files) == 5 + assert os.path.basename(newer) in files + assert os.path.basename(newer + '.gz') in files + assert os.path.basename(medium) in files + assert os.path.basename(medium + '.gz') in files + assert os.path.basename(datalayer.geojson.path) in files + assert os.path.basename(older) not in files + assert os.path.basename(older + '.gz') not in files diff --git a/umap/tests/test_datalayer_views.py b/umap/tests/test_datalayer_views.py new file mode 100644 index 00000000..d88bdd69 --- /dev/null +++ b/umap/tests/test_datalayer_views.py @@ -0,0 +1,170 @@ +import json + +import pytest +from django.core.files.base import ContentFile +from django.urls import reverse + +from umap.models import DataLayer, Map + +from .base import MapFactory + +pytestmark = pytest.mark.django_db + + +@pytest.fixture +def post_data(): + return { + "name": 'name', + "display_on_load": True, + "rank": 0, + "geojson": '{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-3.1640625,53.014783245859235],[-3.1640625,51.86292391360244],[-0.50537109375,51.385495069223204],[1.16455078125,52.38901106223456],[-0.41748046875,53.91728101547621],[-2.109375,53.85252660044951],[-3.1640625,53.014783245859235]]]},"properties":{"_umap_options":{},"name":"Ho god, sounds like a polygouine"}},{"type":"Feature","geometry":{"type":"LineString","coordinates":[[1.8017578124999998,51.16556659836182],[-0.48339843749999994,49.710272582105695],[-3.1640625,50.0923932109388],[-5.60302734375,51.998410382390325]]},"properties":{"_umap_options":{},"name":"Light line"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.63720703125,51.15178610143037]},"properties":{"_umap_options":{},"name":"marker he"}}],"_umap_options":{"displayOnLoad":true,"name":"new name","id":1668,"remoteData":{},"color":"LightSeaGreen","description":"test"}}' # noqa + } + + +def test_get(client, settings, datalayer): + url = reverse('datalayer_view', args=(datalayer.pk, )) + response = client.get(url) + if getattr(settings, 'UMAP_XSENDFILE_HEADER', None): + assert response['ETag'] is not None + assert response['Last-Modified'] is not None + assert response['Cache-Control'] is not None + assert 'Content-Encoding' not in response + j = json.loads(response.content.decode()) + assert '_umap_options' in j + assert 'features' in j + assert j['type'] == 'FeatureCollection' + + +def test_update(client, datalayer, map, post_data): + url = reverse('datalayer_update', args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password="123123") + name = 'new name' + rank = 2 + post_data['name'] = name + post_data['rank'] = rank + response = client.post(url, post_data, follow=True) + assert response.status_code == 200 + modified_datalayer = DataLayer.objects.get(pk=datalayer.pk) + assert modified_datalayer.name == name + assert modified_datalayer.rank == rank + # Test response is a json + j = json.loads(response.content.decode()) + assert "id" in j + assert datalayer.pk == j['id'] + + +def test_should_not_be_possible_to_update_with_wrong_map_id_in_url(client, datalayer, map, post_data): # noqa + other_map = MapFactory(owner=map.owner) + url = reverse('datalayer_update', args=(other_map.pk, datalayer.pk)) + client.login(username=map.owner.username, password="123123") + name = 'new name' + post_data['name'] = name + response = client.post(url, post_data, follow=True) + assert response.status_code == 403 + modified_datalayer = DataLayer.objects.get(pk=datalayer.pk) + assert modified_datalayer.name == datalayer.name + + +def test_delete(client, datalayer, map): + url = reverse('datalayer_delete', args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password='123123') + response = client.post(url, {}, follow=True) + assert response.status_code == 200 + assert not DataLayer.objects.filter(pk=datalayer.pk).count() + # Check that map has not been impacted + assert Map.objects.filter(pk=map.pk).exists() + # Test response is a json + j = json.loads(response.content.decode()) + assert 'info' in j + + +def test_should_not_be_possible_to_delete_with_wrong_map_id_in_url(client, datalayer, map): # noqa + other_map = MapFactory(owner=map.owner) + url = reverse('datalayer_delete', args=(other_map.pk, datalayer.pk)) + client.login(username=map.owner.username, password='123123') + response = client.post(url, {}, follow=True) + assert response.status_code == 403 + assert DataLayer.objects.filter(pk=datalayer.pk).exists() + + +def test_get_gzipped(client, datalayer, settings): + url = reverse('datalayer_view', args=(datalayer.pk, )) + response = client.get(url, HTTP_ACCEPT_ENCODING='gzip') + if getattr(settings, 'UMAP_XSENDFILE_HEADER', None): + assert response['ETag'] is not None + assert response['Last-Modified'] is not None + assert response['Cache-Control'] is not None + assert response['Content-Encoding'] == 'gzip' + + +def test_optimistic_concurrency_control_with_good_etag(client, datalayer, map, post_data): # noqa + # Get Etag + url = reverse('datalayer_view', args=(datalayer.pk, )) + response = client.get(url) + etag = response['ETag'] + url = reverse('datalayer_update', + args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password="123123") + name = 'new name' + post_data['name'] = 'new name' + response = client.post(url, post_data, follow=True, HTTP_IF_MATCH=etag) + assert response.status_code == 200 + modified_datalayer = DataLayer.objects.get(pk=datalayer.pk) + assert modified_datalayer.name == name + + +def test_optimistic_concurrency_control_with_bad_etag(client, datalayer, map, post_data): # noqa + url = reverse('datalayer_update', args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password='123123') + name = 'new name' + post_data['name'] = name + response = client.post(url, post_data, follow=True, HTTP_IF_MATCH='xxx') + assert response.status_code == 412 + modified_datalayer = DataLayer.objects.get(pk=datalayer.pk) + assert modified_datalayer.name != name + + +def test_optimistic_concurrency_control_with_empty_etag(client, datalayer, map, post_data): # noqa + url = reverse('datalayer_update', args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password='123123') + name = 'new name' + post_data['name'] = name + response = client.post(url, post_data, follow=True, HTTP_IF_MATCH=None) + assert response.status_code == 200 + modified_datalayer = DataLayer.objects.get(pk=datalayer.pk) + assert modified_datalayer.name == name + + +def test_versions_should_return_versions(client, datalayer, map, settings): + root = datalayer.storage_root() + datalayer.geojson.storage.save( + '%s/%s_1440924889.geojson' % (root, datalayer.pk), + ContentFile("{}")) + datalayer.geojson.storage.save( + '%s/%s_1440923687.geojson' % (root, datalayer.pk), + ContentFile("{}")) + datalayer.geojson.storage.save( + '%s/%s_1440918637.geojson' % (root, datalayer.pk), + ContentFile("{}")) + url = reverse('datalayer_versions', args=(datalayer.pk, )) + versions = json.loads(client.get(url).content.decode()) + assert len(versions['versions']) == 4 + version = {'name': '%s_1440918637.geojson' % datalayer.pk, 'size': 2, + 'at': '1440918637'} + assert version in versions['versions'] + + +def test_version_should_return_one_version_geojson(client, datalayer, map): + root = datalayer.storage_root() + name = '%s_1440924889.geojson' % datalayer.pk + datalayer.geojson.storage.save('%s/%s' % (root, name), ContentFile("{}")) + url = reverse('datalayer_version', args=(datalayer.pk, name)) + assert client.get(url).content.decode() == "{}" + + +def test_update_readonly(client, datalayer, map, post_data, settings): + settings.UMAP_READONLY = True + url = reverse('datalayer_update', args=(map.pk, datalayer.pk)) + client.login(username=map.owner.username, password="123123") + response = client.post(url, post_data, follow=True) + assert response.status_code == 403 diff --git a/umap/tests/test_licence.py b/umap/tests/test_licence.py new file mode 100644 index 00000000..fd5e606b --- /dev/null +++ b/umap/tests/test_licence.py @@ -0,0 +1,12 @@ +import pytest + +from umap.models import DataLayer, Map + +pytestmark = pytest.mark.django_db + + +def test_licence_delete_should_not_remove_linked_maps(map, licence, datalayer): + assert map.licence == licence + licence.delete() + assert Map.objects.filter(pk=map.pk).exists() + assert DataLayer.objects.filter(pk=datalayer.pk).exists() diff --git a/umap/tests/test_map.py b/umap/tests/test_map.py new file mode 100644 index 00000000..f54a8afa --- /dev/null +++ b/umap/tests/test_map.py @@ -0,0 +1,108 @@ +import pytest +from django.contrib.auth.models import AnonymousUser +from django.urls import reverse + +from umap.models import Map + +from .base import MapFactory + +pytestmark = pytest.mark.django_db + + +def test_anonymous_can_edit_if_status_anonymous(map): + anonymous = AnonymousUser() + map.edit_status = map.ANONYMOUS + map.save() + assert map.can_edit(anonymous) + + +def test_anonymous_cannot_edit_if_not_status_anonymous(map): + anonymous = AnonymousUser() + map.edit_status = map.OWNER + map.save() + assert not map.can_edit(anonymous) + + +def test_non_editors_can_edit_if_status_anonymous(map, user): + assert map.owner != user + map.edit_status = map.ANONYMOUS + map.save() + assert map.can_edit(user) + + +def test_non_editors_cannot_edit_if_not_status_anonymous(map, user): + map.edit_status = map.OWNER + map.save() + assert not map.can_edit(user) + + +def test_editors_cannot_edit_if_status_owner(map, user): + map.edit_status = map.OWNER + map.editors.add(user) + map.save() + assert not map.can_edit(user) + + +def test_editors_can_edit_if_status_editors(map, user): + map.edit_status = map.EDITORS + map.editors.add(user) + map.save() + assert map.can_edit(user) + + +def test_logged_in_user_should_be_allowed_for_anonymous_map_with_anonymous_edit_status(map, user, rf): # noqa + map.owner = None + map.edit_status = map.ANONYMOUS + map.save() + url = reverse('map_update', kwargs={'map_id': map.pk}) + request = rf.get(url) + request.user = user + assert map.can_edit(user, request) + + +def test_clone_should_return_new_instance(map, user): + clone = map.clone() + assert map.pk != clone.pk + assert u"Clone of " + map.name == clone.name + assert map.settings == clone.settings + assert map.center == clone.center + assert map.zoom == clone.zoom + assert map.licence == clone.licence + + +def test_clone_should_keep_editors(map, user): + map.editors.add(user) + clone = map.clone() + assert map.pk != clone.pk + assert user in map.editors.all() + assert user in clone.editors.all() + + +def test_clone_should_update_owner_if_passed(map, user): + clone = map.clone(owner=user) + assert map.pk != clone.pk + assert map.owner != clone.owner + assert user == clone.owner + + +def test_clone_should_clone_datalayers_and_features_too(map, user, datalayer): + clone = map.clone() + assert map.pk != clone.pk + assert map.datalayer_set.count() == 1 + assert clone.datalayer_set.count() == 1 + other = clone.datalayer_set.all()[0] + assert datalayer in map.datalayer_set.all() + assert other.pk != datalayer.pk + assert other.name == datalayer.name + assert other.geojson is not None + assert other.geojson.path != datalayer.geojson.path + + +def test_publicmanager_should_get_only_public_maps(map, user, licence): + map.share_status = map.PUBLIC + open_map = MapFactory(owner=user, licence=licence, share_status=Map.OPEN) + private_map = MapFactory(owner=user, licence=licence, + share_status=Map.PRIVATE) + assert map in Map.public.all() + assert open_map not in Map.public.all() + assert private_map not in Map.public.all() diff --git a/umap/tests/test_map_views.py b/umap/tests/test_map_views.py new file mode 100644 index 00000000..a33f9996 --- /dev/null +++ b/umap/tests/test_map_views.py @@ -0,0 +1,516 @@ +import json + +import pytest +from django.contrib.auth import get_user_model +from django.urls import reverse + +from umap.models import DataLayer, Map + +from .base import login_required + +pytestmark = pytest.mark.django_db +User = get_user_model() + + +@pytest.fixture +def post_data(): + return { + 'name': 'name', + 'center': '{"type":"Point","coordinates":[13.447265624999998,48.94415123418794]}', # noqa + 'settings': '{"type":"Feature","geometry":{"type":"Point","coordinates":[5.0592041015625,52.05924589011585]},"properties":{"tilelayer":{"maxZoom":20,"url_template":"http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png","minZoom":0,"attribution":"HOT and friends"},"licence":"","description":"","name":"test enrhûmé","tilelayersControl":true,"displayDataBrowserOnLoad":false,"displayPopupFooter":true,"displayCaptionOnLoad":false,"miniMap":true,"moreControl":true,"scaleControl":true,"zoomControl":true,"datalayersControl":true,"zoom":8}}' # noqa + } + + +def test_create(client, user, post_data): + url = reverse('map_create') + # POST only mendatory fields + name = 'test-map-with-new-name' + post_data['name'] = name + client.login(username=user.username, password="123123") + response = client.post(url, post_data) + assert response.status_code == 200 + j = json.loads(response.content.decode()) + created_map = Map.objects.latest('pk') + assert j['id'] == created_map.pk + assert created_map.name == name + assert created_map.center.x == 13.447265624999998 + assert created_map.center.y == 48.94415123418794 + assert j['permissions'] == { + 'edit_status': 3, + 'share_status': 1, + 'owner': { + 'id': user.pk, + 'name': 'Joe', + 'url': '/en/user/Joe/' + }, + 'editors': [], + 'anonymous_edit_url': ('http://umap.org' + + created_map.get_anonymous_edit_url()) + } + + +def test_map_create_permissions(client, settings): + settings.UMAP_ALLOW_ANONYMOUS = False + url = reverse('map_create') + # POST anonymous + response = client.post(url, {}) + assert login_required(response) + + +def test_map_update_access(client, map, user): + url = reverse('map_update', kwargs={'map_id': map.pk}) + # GET anonymous + response = client.get(url) + assert login_required(response) + # POST anonymous + response = client.post(url, {}) + assert login_required(response) + # GET with wrong permissions + client.login(username=user.username, password="123123") + response = client.get(url) + assert response.status_code == 403 + # POST with wrong permissions + client.login(username=user.username, password="123123") + response = client.post(url, {}) + assert response.status_code == 403 + + +def test_map_update_permissions_access(client, map, user): + url = reverse('map_update_permissions', kwargs={'map_id': map.pk}) + # GET anonymous + response = client.get(url) + assert login_required(response) + # POST anonymous + response = client.post(url, {}) + assert login_required(response) + # GET with wrong permissions + client.login(username=user.username, password="123123") + response = client.get(url) + assert response.status_code == 403 + # POST with wrong permissions + client.login(username=user.username, password="123123") + response = client.post(url, {}) + assert response.status_code == 403 + + +def test_update(client, map, post_data): + url = reverse('map_update', kwargs={'map_id': map.pk}) + # POST only mendatory fields + name = 'new map name' + post_data['name'] = name + client.login(username=map.owner.username, password="123123") + response = client.post(url, post_data) + assert response.status_code == 200 + j = json.loads(response.content.decode()) + assert 'html' not in j + updated_map = Map.objects.get(pk=map.pk) + assert j['id'] == updated_map.pk + assert updated_map.name == name + + +def test_delete(client, map, datalayer): + url = reverse('map_delete', args=(map.pk, )) + client.login(username=map.owner.username, password="123123") + response = client.post(url, {}, follow=True) + assert response.status_code == 200 + assert not Map.objects.filter(pk=map.pk).exists() + assert not DataLayer.objects.filter(pk=datalayer.pk).exists() + # Check that user has not been impacted + assert User.objects.filter(pk=map.owner.pk).exists() + # Test response is a json + j = json.loads(response.content.decode()) + assert 'redirect' in j + + +def test_wrong_slug_should_redirect_to_canonical(client, map): + url = reverse('map', kwargs={'pk': map.pk, 'slug': 'wrong-slug'}) + canonical = reverse('map', kwargs={'pk': map.pk, + 'slug': map.slug}) + response = client.get(url) + assert response.status_code == 301 + assert response['Location'] == canonical + + +def test_wrong_slug_should_redirect_with_query_string(client, map): + url = reverse('map', kwargs={'pk': map.pk, 'slug': 'wrong-slug'}) + url = "{}?allowEdit=0".format(url) + canonical = reverse('map', kwargs={'pk': map.pk, + 'slug': map.slug}) + canonical = "{}?allowEdit=0".format(canonical) + response = client.get(url) + assert response.status_code == 301 + assert response['Location'] == canonical + + +def test_should_not_consider_the_query_string_for_canonical_check(client, map): + url = reverse('map', kwargs={'pk': map.pk, 'slug': map.slug}) + url = "{}?allowEdit=0".format(url) + response = client.get(url) + assert response.status_code == 200 + + +def test_short_url_should_redirect_to_canonical(client, map): + url = reverse('map_short_url', kwargs={'pk': map.pk}) + canonical = reverse('map', kwargs={'pk': map.pk, + 'slug': map.slug}) + response = client.get(url) + assert response.status_code == 301 + assert response['Location'] == canonical + + +def test_clone_map_should_create_a_new_instance(client, map): + assert Map.objects.count() == 1 + url = reverse('map_clone', kwargs={'map_id': map.pk}) + client.login(username=map.owner.username, password="123123") + response = client.post(url) + assert response.status_code == 200 + assert Map.objects.count() == 2 + clone = Map.objects.latest('pk') + assert clone.pk != map.pk + assert clone.name == u"Clone of " + map.name + + +def test_user_not_allowed_should_not_clone_map(client, map, user, settings): + settings.UMAP_ALLOW_ANONYMOUS = False + assert Map.objects.count() == 1 + url = reverse('map_clone', kwargs={'map_id': map.pk}) + map.edit_status = map.OWNER + map.save() + response = client.post(url) + assert login_required(response) + client.login(username=user.username, password="123123") + response = client.post(url) + assert response.status_code == 403 + map.edit_status = map.ANONYMOUS + map.save() + client.logout() + response = client.post(url) + assert response.status_code == 403 + assert Map.objects.count() == 1 + + +def test_clone_should_set_cloner_as_owner(client, map, user): + url = reverse('map_clone', kwargs={'map_id': map.pk}) + map.edit_status = map.EDITORS + map.editors.add(user) + map.save() + client.login(username=user.username, password="123123") + response = client.post(url) + assert response.status_code == 200 + assert Map.objects.count() == 2 + clone = Map.objects.latest('pk') + assert clone.pk != map.pk + assert clone.name == u"Clone of " + map.name + assert clone.owner == user + + +def test_map_creation_should_allow_unicode_names(client, map, post_data): + url = reverse('map_create') + # POST only mendatory fields + name = u'Академический' + post_data['name'] = name + client.login(username=map.owner.username, password="123123") + response = client.post(url, post_data) + assert response.status_code == 200 + j = json.loads(response.content.decode()) + created_map = Map.objects.latest('pk') + assert j['id'] == created_map.pk + assert created_map.name == name + # Lower case of the russian original name + # self.assertEqual(created_map.slug, u"академический") + # for now we fallback to "map", see unicode_name branch + assert created_map.slug == 'map' + + +def test_anonymous_can_access_map_with_share_status_public(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.PUBLIC + map.save() + response = client.get(url) + assert response.status_code == 200 + + +def test_anonymous_can_access_map_with_share_status_open(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.OPEN + map.save() + response = client.get(url) + assert response.status_code == 200 + + +def test_anonymous_cannot_access_map_with_share_status_private(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.PRIVATE + map.save() + response = client.get(url) + assert response.status_code == 403 + + +def test_owner_can_access_map_with_share_status_private(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.PRIVATE + map.save() + client.login(username=map.owner.username, password="123123") + response = client.get(url) + assert response.status_code == 200 + + +def test_editors_can_access_map_with_share_status_private(client, map, user): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.PRIVATE + map.editors.add(user) + map.save() + client.login(username=user.username, password="123123") + response = client.get(url) + assert response.status_code == 200 + + +def test_anonymous_cannot_access_map_with_share_status_blocked(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.BLOCKED + map.save() + response = client.get(url) + assert response.status_code == 403 + + +def test_owner_cannot_access_map_with_share_status_blocked(client, map): + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.BLOCKED + map.save() + client.login(username=map.owner.username, password="123123") + response = client.get(url) + assert response.status_code == 403 + + +def test_non_editor_cannot_access_map_if_share_status_private(client, map, user): # noqa + url = reverse('map', args=(map.slug, map.pk)) + map.share_status = map.PRIVATE + map.save() + client.login(username=user.username, password="123123") + response = client.get(url) + assert response.status_code == 403 + + +def test_map_geojson_view(client, map): + url = reverse('map_geojson', args=(map.pk, )) + response = client.get(url) + j = json.loads(response.content.decode()) + assert 'json' in response['content-type'] + assert 'type' in j + + +def test_only_owner_can_delete(client, map, user): + map.editors.add(user) + url = reverse('map_delete', kwargs={'map_id': map.pk}) + client.login(username=user.username, password="123123") + response = client.post(url, {}, follow=True) + assert response.status_code == 403 + + +def test_map_editors_do_not_see_owner_change_input(client, map, user): + map.editors.add(user) + map.edit_status = map.EDITORS + map.save() + url = reverse('map_update_permissions', kwargs={'map_id': map.pk}) + client.login(username=user.username, password="123123") + response = client.get(url) + assert 'id_owner' not in response + + +def test_logged_in_user_can_edit_map_editable_by_anonymous(client, map, user): + map.owner = None + map.edit_status = map.ANONYMOUS + map.save() + client.login(username=user.username, password="123123") + url = reverse('map_update', kwargs={'map_id': map.pk}) + new_name = 'this is my new name' + data = { + 'center': '{"type":"Point","coordinates":[13.447265624999998,48.94415123418794]}', # noqa + 'name': new_name + } + response = client.post(url, data) + assert response.status_code == 200 + assert Map.objects.get(pk=map.pk).name == new_name + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anonymous_create(cookieclient, post_data): + url = reverse('map_create') + # POST only mendatory fields + name = 'test-map-with-new-name' + post_data['name'] = name + response = cookieclient.post(url, post_data) + assert response.status_code == 200 + j = json.loads(response.content.decode()) + created_map = Map.objects.latest('pk') + assert j['id'] == created_map.pk + assert (created_map.get_anonymous_edit_url() + in j['permissions']['anonymous_edit_url']) + assert created_map.name == name + key, value = created_map.signed_cookie_elements + assert key in cookieclient.cookies + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anonymous_update_without_cookie_fails(client, anonymap, post_data): # noqa + url = reverse('map_update', kwargs={'map_id': anonymap.pk}) + response = client.post(url, post_data) + assert response.status_code == 403 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anonymous_update_with_cookie_should_work(cookieclient, anonymap, post_data): # noqa + url = reverse('map_update', kwargs={'map_id': anonymap.pk}) + # POST only mendatory fields + name = 'new map name' + post_data['name'] = name + response = cookieclient.post(url, post_data) + assert response.status_code == 200 + j = json.loads(response.content.decode()) + updated_map = Map.objects.get(pk=anonymap.pk) + assert j['id'] == updated_map.pk + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anonymous_delete(cookieclient, anonymap): + url = reverse('map_delete', args=(anonymap.pk, )) + response = cookieclient.post(url, {}, follow=True) + assert response.status_code == 200 + assert not Map.objects.filter(pk=anonymap.pk).count() + # Test response is a json + j = json.loads(response.content.decode()) + assert 'redirect' in j + + +@pytest.mark.usefixtures('allow_anonymous') +def test_no_cookie_cant_delete(client, anonymap): + url = reverse('map_delete', args=(anonymap.pk, )) + response = client.post(url, {}, follow=True) + assert response.status_code == 403 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anonymous_edit_url(cookieclient, anonymap): + url = anonymap.get_anonymous_edit_url() + canonical = reverse('map', kwargs={'pk': anonymap.pk, + 'slug': anonymap.slug}) + response = cookieclient.get(url) + assert response.status_code == 302 + assert response['Location'] == canonical + key, value = anonymap.signed_cookie_elements + assert key in cookieclient.cookies + + +@pytest.mark.usefixtures('allow_anonymous') +def test_bad_anonymous_edit_url_should_return_403(cookieclient, anonymap): + url = anonymap.get_anonymous_edit_url() + url = reverse( + 'map_anonymous_edit_url', + kwargs={'signature': "%s:badsignature" % anonymap.pk} + ) + response = cookieclient.get(url) + assert response.status_code == 403 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_clone_anonymous_map_should_not_be_possible_if_user_is_not_allowed(client, anonymap, user): # noqa + assert Map.objects.count() == 1 + url = reverse('map_clone', kwargs={'map_id': anonymap.pk}) + anonymap.edit_status = anonymap.OWNER + anonymap.save() + response = client.post(url) + assert response.status_code == 403 + client.login(username=user.username, password="123123") + response = client.post(url) + assert response.status_code == 403 + assert Map.objects.count() == 1 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_clone_map_should_be_possible_if_edit_status_is_anonymous(client, anonymap): # noqa + assert Map.objects.count() == 1 + url = reverse('map_clone', kwargs={'map_id': anonymap.pk}) + anonymap.edit_status = anonymap.ANONYMOUS + anonymap.save() + response = client.post(url) + assert response.status_code == 200 + assert Map.objects.count() == 2 + clone = Map.objects.latest('pk') + assert clone.pk != anonymap.pk + assert clone.name == 'Clone of ' + anonymap.name + assert clone.owner is None + + +@pytest.mark.usefixtures('allow_anonymous') +def test_anyone_can_access_anonymous_map(cookieclient, anonymap): + url = reverse('map', args=(anonymap.slug, anonymap.pk)) + anonymap.share_status = anonymap.PUBLIC + response = cookieclient.get(url) + assert response.status_code == 200 + anonymap.share_status = anonymap.OPEN + response = cookieclient.get(url) + assert response.status_code == 200 + anonymap.share_status = anonymap.PRIVATE + response = cookieclient.get(url) + assert response.status_code == 200 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_map_attach_owner(cookieclient, anonymap, user): + url = reverse('map_attach_owner', kwargs={'map_id': anonymap.pk}) + cookieclient.login(username=user.username, password="123123") + assert anonymap.owner is None + response = cookieclient.post(url) + assert response.status_code == 200 + map = Map.objects.get(pk=anonymap.pk) + assert map.owner == user + + +@pytest.mark.usefixtures('allow_anonymous') +def test_map_attach_owner_not_logged_in(cookieclient, anonymap, user): + url = reverse('map_attach_owner', kwargs={'map_id': anonymap.pk}) + assert anonymap.owner is None + response = cookieclient.post(url) + assert response.status_code == 403 + + +@pytest.mark.usefixtures('allow_anonymous') +def test_map_attach_owner_with_already_an_owner(cookieclient, map, user): + url = reverse('map_attach_owner', kwargs={'map_id': map.pk}) + cookieclient.login(username=user.username, password="123123") + assert map.owner + assert map.owner != user + response = cookieclient.post(url) + assert response.status_code == 403 + + +def test_map_attach_owner_anonymous_not_allowed(cookieclient, anonymap, user): + url = reverse('map_attach_owner', kwargs={'map_id': anonymap.pk}) + cookieclient.login(username=user.username, password="123123") + assert anonymap.owner is None + response = cookieclient.post(url) + assert response.status_code == 403 + + # # GET anonymous + # response = client.get(url) + # assert login_required(response) + # # POST anonymous + # response = client.post(url, {}) + # assert login_required(response) + # # GET with wrong permissions + # client.login(username=user.username, password="123123") + # response = client.get(url) + # assert response.status_code == 403 + # # POST with wrong permissions + # client.login(username=user.username, password="123123") + # response = client.post(url, {}) + # assert response.status_code == 403 + + +def test_create_readonly(client, user, post_data, settings): + settings.UMAP_READONLY = True + url = reverse('map_create') + client.login(username=user.username, password="123123") + response = client.post(url, post_data) + assert response.status_code == 403 + assert response.content == b'Site is readonly for maintenance' diff --git a/umap/tests/test_tilelayer.py b/umap/tests/test_tilelayer.py new file mode 100644 index 00000000..11e81709 --- /dev/null +++ b/umap/tests/test_tilelayer.py @@ -0,0 +1,21 @@ +import pytest + +from .base import TileLayerFactory + +pytestmark = pytest.mark.django_db + + +def test_tilelayer_json(): + tilelayer = TileLayerFactory(attribution='Attribution', maxZoom=19, + minZoom=0, name='Name', rank=1, tms=True, + url_template='http://{s}.x.fr/{z}/{x}/{y}') + assert tilelayer.json == { + 'attribution': 'Attribution', + 'id': tilelayer.id, + 'maxZoom': 19, + 'minZoom': 0, + 'name': 'Name', + 'rank': 1, + 'tms': True, + 'url_template': 'http://{s}.x.fr/{z}/{x}/{y}' + } diff --git a/umap/tests/test_views.py b/umap/tests/test_views.py index 5c65844a..41232fa2 100644 --- a/umap/tests/test_views.py +++ b/umap/tests/test_views.py @@ -3,7 +3,7 @@ import socket import pytest from django.conf import settings from django.contrib.auth import get_user, get_user_model -from django.core.urlresolvers import reverse +from django.urls import reverse from django.test import RequestFactory from umap.views import validate_url @@ -82,6 +82,34 @@ def test_valid_proxy_request(client): assert 'Cookie' not in response['Vary'] +def test_valid_proxy_request_with_ttl(client): + url = reverse('ajax-proxy') + params = {'url': 'http://example.org', 'ttl': 3600} + headers = { + 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', + 'HTTP_REFERER': settings.SITE_URL + } + response = client.get(url, params, **headers) + assert response.status_code == 200 + assert 'Example Domain' in response.content.decode() + assert 'Cookie' not in response['Vary'] + assert response['X-Accel-Expires'] == '3600' + + +def test_valid_proxy_request_with_invalid_ttl(client): + url = reverse('ajax-proxy') + params = {'url': 'http://example.org', 'ttl': 'invalid'} + headers = { + 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', + 'HTTP_REFERER': settings.SITE_URL + } + response = client.get(url, params, **headers) + assert response.status_code == 200 + assert 'Example Domain' in response.content.decode() + assert 'Cookie' not in response['Vary'] + assert 'X-Accel-Expires' not in response + + @pytest.mark.django_db def test_login_does_not_contain_form_if_not_enabled(client, settings): settings.ENABLE_ACCOUNT_LOGIN = False @@ -105,4 +133,4 @@ def test_can_login_with_username_and_password_if_enabled(client, settings): user.save() client.post(reverse('login'), {'username': 'test', 'password': 'test'}) user = get_user(client) - assert user.is_authenticated() + assert user.is_authenticated diff --git a/umap/urls.py b/umap/urls.py index 5bcb6d85..3d44c2db 100644 --- a/umap/urls.py +++ b/umap/urls.py @@ -1,39 +1,90 @@ from django.conf import settings -from django.conf.urls.static import static +from django.conf.urls import include, url 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.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/', include(admin.site.urls)), + 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='map_short_url'), url(r'^ajax-proxy/$', cache_page(180)(views.ajax_proxy), name='ajax-proxy'), - url(r'^change-password/', auth_views.password_change, + url(r'^change-password/', auth_views.PasswordChangeView.as_view(), {'template_name': 'umap/password_change.html'}, name='password_change'), - url(r'^change-password-done/', auth_views.password_change_done, + url(r'^change-password-done/', auth_views.PasswordChangeDoneView.as_view(), {'template_name': 'umap/password_change_done.html'}, name='password_change_done'), + url(r'^i18n/', include('django.conf.urls.i18n')), + url(r'^agnocomplete/', include('agnocomplete.urls')), ] + +i18n_urls = [ + url(r'^login/$', jsonize_view(auth_views.LoginView.as_view()), 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/anonymous-edit/(?P.+)$', + views.MapAnonymousEditUrl.as_view(), name='map_anonymous_edit_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/owner/$', + views.AttachAnonymousMap.as_view(), name='map_attach_owner'), + 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), name='maps_showcase'), 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'^user/(?P.+)/$', views.user_maps, name='user_maps'), + url(r'', include(i18n_urls)), ) if settings.DEBUG and settings.MEDIA_ROOT: diff --git a/umap/utils.py b/umap/utils.py new file mode 100644 index 00000000..57d4ce30 --- /dev/null +++ b/umap/utils.py @@ -0,0 +1,111 @@ +import gzip + +from django.urls import get_resolver +from django.urls import URLPattern, URLResolver + + +def get_uri_template(urlname, args=None, prefix=""): + ''' + Utility function to return an URI Template from a named URL in django + Copied from django-digitalpaper. + + Restrictions: + - Only supports named urls! i.e. url(... name="toto") + - Only support one namespace level + - Only returns the first URL possibility. + - Supports multiple pattern possibilities (i.e., patterns with + non-capturing parenthesis in them) by trying to find a pattern + whose optional parameters match those you specified (a parameter + is considered optional if it doesn't appear in every pattern possibility) + ''' + def _convert(template, args=None): + """URI template converter""" + if not args: + args = [] + paths = template % dict([p, "{%s}" % p] for p in args) + return u'%s/%s' % (prefix, paths) + + resolver = get_resolver(None) + parts = urlname.split(':') + if len(parts) > 1 and parts[0] in resolver.namespace_dict: + namespace = parts[0] + urlname = parts[1] + nprefix, resolver = resolver.namespace_dict[namespace] + prefix = prefix + '/' + nprefix.rstrip('/') + possibilities = resolver.reverse_dict.getlist(urlname) + for tmp in possibilities: + possibility, pattern = tmp[:2] + if not args: + # If not args are specified, we only consider the first pattern + # django gives us + result, params = possibility[0] + return _convert(result, params) + else: + # If there are optionnal arguments passed, use them to try to find + # the correct pattern. + # First, we need to build a list with all the arguments + seen_params = [] + for result, params in possibility: + seen_params.append(params) + # Then build a set to find the common ones, and use it to build the + # list of all the expected params + common_params = reduce(lambda x, y: set(x) & set(y), seen_params) + expected_params = sorted(common_params.union(args)) + # Then loop again over the pattern possibilities and return + # the first one that strictly match expected params + for result, params in possibility: + if sorted(params) == expected_params: + return _convert(result, params) + return None + + +class DecoratedURLPattern(URLPattern): + + def resolve(self, *args, **kwargs): + result = URLPattern.resolve(self, *args, **kwargs) + if result: + for func in self._decorate_with: + result.func = func(result.func) + return result + + +def decorated_patterns(func, *urls): + """ + Utility function to decorate a group of url in urls.py + + Taken from http://djangosnippets.org/snippets/532/ + comments + See also http://friendpaste.com/6afByRiBB9CMwPft3a6lym + + Example: + urlpatterns = [ + url(r'^language/(?P[a-z]+)$', views.MyView, name='name'), + ] + decorated_patterns(login_required, url(r'^', include('cms.urls')), + """ + + def decorate(urls, func): + for url in urls: + if isinstance(url, URLPattern): + url.__class__ = DecoratedURLPattern + if not hasattr(url, "_decorate_with"): + setattr(url, "_decorate_with", []) + url._decorate_with.append(func) + elif isinstance(url, URLResolver): + for pp in url.url_patterns: + if isinstance(pp, URLPattern): + pp.__class__ = DecoratedURLPattern + if not hasattr(pp, "_decorate_with"): + setattr(pp, "_decorate_with", []) + pp._decorate_with.append(func) + if func: + if not isinstance(func, (list, tuple)): + func = [func] + for f in func: + decorate(urls, f) + + return urls + + +def gzip_file(from_path, to_path): + with open(from_path, 'rb') as f_in: + with gzip.open(to_path, 'wb') as f_out: + f_out.writelines(f_in) diff --git a/umap/views.py b/umap/views.py index bfc98ab0..344db789 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.core.urlresolvers 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,18 +135,20 @@ 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): owner = self.request.user == self.object manager = Map.objects if owner else Map.public maps = manager.filter(Q(owner=self.object) | Q(editors=self.object)) - maps = maps.distinct().order_by('-modified_at')[:50] if owner: per_page = settings.UMAP_MAPS_PER_PAGE_OWNER + limit = 100 else: per_page = settings.UMAP_MAPS_PER_PAGE + limit = 50 + maps = maps.distinct().order_by('-modified_at')[:limit] maps = self.paginate(maps, per_page) kwargs.update({ "maps": maps @@ -147,7 +169,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') @@ -247,7 +269,7 @@ class AjaxProxy(View): # You should not use this in production (use Nginx or so) try: url = validate_url(self.request) - except AssertionError as e: + except AssertionError: return HttpResponseBadRequest() headers = { 'User-Agent': 'uMapProxy +http://wiki.openstreetmap.org/wiki/UMap' @@ -265,6 +287,559 @@ class AjaxProxy(View): content = proxied_request.read() # Quick hack to prevent Django from adding a Vary: Cookie header self.request.session.accessed = False - return HttpResponse(content, status=status_code, - content_type=mimetype) + response = HttpResponse(content, status=status_code, + content_type=mimetype) + try: + ttl = int(self.request.GET.get('ttl')) + except (TypeError, ValueError): + pass + else: + response['X-Accel-Expires'] = ttl + return response 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, 'UMAP_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: + 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, form_class=None): + kwargs = self.get_form_kwargs() + kwargs['error_class'] = FlatErrorList + return self.get_form_class()(**kwargs) + + +class MapDetailMixin: + + model = Map + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + properties = { + 'urls': _urls_for_js(), + 'tilelayers': TileLayer.get_list(), + 'allowEdit': self.is_edit_allowed(), + 'default_iconUrl': "%sumap/img/marker.png" % settings.STATIC_URL, # noqa + 'umap_id': self.get_umap_id(), + 'licences': dict((l.name, l.json) for l in Licence.objects.all()), + 'edit_statuses': [(i, str(label)) for i, label in Map.EDIT_STATUS], + 'share_statuses': [(i, str(label)) + for i, label in Map.SHARE_STATUS if i != Map.BLOCKED], + 'anonymous_edit_statuses': [(i, str(label)) for i, label + in AnonymousMapPermissionsForm.STATUS], + } + 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 + user = self.request.user + if not user.is_anonymous: + properties['user'] = { + 'id': user.pk, + 'name': user.get_username(), + 'url': reverse(settings.USER_MAPS_URL, + args=(user.get_username(), )) + } + 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_datalayers(self): + return [] + + def is_edit_allowed(self): + return True + + def get_umap_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 PermissionsMixin: + + def get_permissions(self): + permissions = {} + permissions['edit_status'] = self.object.edit_status + permissions['share_status'] = self.object.share_status + if self.object.owner: + permissions['owner'] = { + 'id': self.object.owner.pk, + 'name': self.object.owner.get_username(), + 'url': reverse(settings.USER_MAPS_URL, + args=(self.object.owner.get_username(), )) + } + permissions['editors'] = [{ + 'id': editor.pk, + 'name': editor.get_username(), + } for editor in self.object.editors.all()] + if (not self.object.owner + and self.object.is_anonymous_owner(self.request)): + permissions['anonymous_edit_url'] = self.get_anonymous_edit_url() + return permissions + + def get_anonymous_edit_url(self): + anonymous_url = self.object.get_anonymous_edit_url() + return settings.SITE_URL + anonymous_url + + +class MapView(MapDetailMixin, PermissionsMixin, 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() + 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 is_edit_allowed(self): + return self.object.can_edit(self.request.user, self.request) + + def get_umap_id(self): + return self.object.pk + + def get_short_url(self): + shortUrl = None + if hasattr(settings, 'SHORT_SITE_URL'): + short_path = reverse_lazy('map_short_url', + 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'] = {} + map_settings['properties']['name'] = self.object.name + map_settings['properties']['permissions'] = self.get_permissions() + 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'], + content_type='application/json') + + +class MapNew(MapDetailMixin, TemplateView): + template_name = "umap/map_detail.html" + + +class MapCreate(FormLessEditMixin, PermissionsMixin, 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() + anonymous_url = self.get_anonymous_edit_url() + if not self.request.user.is_authenticated: + 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!") + permissions = self.get_permissions() + # User does not have the cookie yet. + permissions['anonymous_edit_url'] = anonymous_url + response = simple_json_response( + id=self.object.pk, + url=self.object.get_absolute_url(), + permissions=permissions, + 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, PermissionsMixin, 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(), + permissions=self.get_permissions(), + info=_("Map has been updated!"), + ) + + +class UpdateMapPermissions(FormLessEditMixin, UpdateView): + 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().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!")) + + +class AttachAnonymousMap(View): + + def post(self, *args, **kwargs): + self.object = kwargs['map_inst'] + if (self.object.owner + or not self.object.is_anonymous_owner(self.request) + or not self.object.can_edit(self.request.user, self.request) + or not self.request.user.is_authenticated): + return HttpResponseForbidden() + self.object.owner = self.request.user + self.object.save() + return simple_json_response() + + +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() + self.object.delete() + return simple_json_response(redirect="/") + + +class MapClone(PermissionsMixin, View): + + def post(self, *args, **kwargs): + if not getattr(settings, "UMAP_ALLOW_ANONYMOUS", False) \ + and not self.request.user.is_authenticated: + return HttpResponseForbidden() + 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 + ) + 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": self.get_anonymous_edit_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 MapAnonymousEditUrl(RedirectView): + + permanent = False + + def get(self, request, *args, **kwargs): + signer = Signer() + try: + pk = signer.unsign(self.kwargs['signature']) + except BadSignature: + return HttpResponseForbidden() + 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, 'UMAP_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, 'UMAP_XSENDFILE_HEADER', None): + response = HttpResponse() + path = path.replace(settings.MEDIA_ROOT, '/internal') + response[settings.UMAP_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() + 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() + 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"