zeitwerk (~> 2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
- annotate (3.1.0)
+ annotate (3.1.1)
activerecord (>= 3.2, < 7.0)
rake (>= 10.4, < 14.0)
ast (2.4.0)
- autoprefixer-rails (9.7.4)
+ autoprefixer-rails (9.7.5)
execjs
aws-eventstream (1.0.3)
- aws-partitions (1.285.0)
- aws-sdk-core (3.91.1)
+ aws-partitions (1.291.0)
+ aws-sdk-core (3.92.0)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
cancancan (3.1.0)
canonical-rails (0.2.8)
rails (>= 4.1, < 6.1)
- capybara (3.31.0)
+ capybara (3.32.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
activerecord (>= 3.0, < 6.1)
delayed_job (>= 3.0, < 5)
docile (1.3.2)
- dry-configurable (0.11.4)
+ dry-configurable (0.11.5)
concurrent-ruby (~> 1.0)
dry-core (~> 0.4, >= 0.4.7)
dry-equalizer (~> 0.2)
erubi (1.9.0)
execjs (2.7.0)
exifr (1.3.6)
- factory_bot (5.1.1)
+ factory_bot (5.1.2)
activesupport (>= 4.2.0)
factory_bot_rails (5.1.1)
factory_bot (~> 5.1.0)
railties (>= 4.2.0)
- faraday (1.0.0)
+ faraday (1.0.1)
multipart-post (>= 1.2, < 3)
ffi (1.12.2)
ffi-libarchive (1.0.0)
omniauth-oauth2 (~> 1.4)
openstreetmap-deadlock_retry (1.3.0)
parallel (1.19.1)
- parser (2.7.0.4)
+ parser (2.7.0.5)
ast (~> 2.4.0)
pg (1.2.3)
poltergeist (1.18.1)
unicode-display_width (>= 1.4.0, < 1.7)
rubocop-performance (1.5.2)
rubocop (>= 0.71.0)
- rubocop-rails (2.4.2)
+ rubocop-rails (2.5.0)
+ activesupport
rack (>= 1.1)
rubocop (>= 0.72.0)
ruby-openid (2.9.2)
end
folder 'leaflet' do
- file 'leaflet.js', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet-src.js'
- file 'leaflet.css', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet.css'
+ file 'leaflet.js', 'https://unpkg.com/leaflet@1.6.0/dist/leaflet-src.js'
+ file 'leaflet.css', 'https://unpkg.com/leaflet@1.6.0/dist/leaflet.css'
[ 'layers.png', 'layers-2x.png',
'marker-icon.png', 'marker-icon-2x.png',
'marker-shadow.png' ].each do |image|
- file "images/#{image}", "https://unpkg.com/leaflet@1.5.1/dist/images/#{image}"
+ file "images/#{image}", "https://unpkg.com/leaflet@1.6.0/dist/images/#{image}"
end
- from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do
+ from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.1' do
file 'leaflet.contextmenu.js', 'dist/leaflet.contextmenu.js'
file 'leaflet.contextmenu.css', 'dist/leaflet.contextmenu.css'
end
folder 'img', 'src/img'
end
- from 'git://github.com/domoritz/leaflet-locatecontrol.git', :tag => 'v0.66.0' do
+ from 'git://github.com/domoritz/leaflet-locatecontrol.git', :tag => 'v0.71.0' do
file 'leaflet.locate.js', 'src/L.Control.Locate.js'
end
file 'leaflet.osm.js', 'leaflet-osm.js'
end
- from 'git://github.com/jieter/Leaflet.encoded.git', :tag => '0.0.8' do
+ from 'git://github.com/jieter/Leaflet.encoded.git', :tag => '0.0.9' do
file 'leaflet.polyline.js', 'Polyline.encoded.js'
end
end
//= require querystring
/*
- * Called as the user scrolls/zooms around to maniplate hrefs of the
+ * Called as the user scrolls/zooms around to manipulate hrefs of the
* view tab and various other links
*/
window.updateLinks = function (loc, zoom, layers, object) {
# update the entire set of preferences
def update_all
- old_preferences = current_user.preferences.each_with_object({}) do |preference, preferences|
- preferences[preference.k] = preference
- end
+ old_preferences = current_user.preferences.index_by(&:k)
new_preferences = {}
diary_comment: تعليق يومية
diary_entry: مدخلة يومية
friend: صديق
+ issue: قضية
language: اللغة
message: الرسالة
node: عقدة
relation: علاقة
relation_member: عضو علاقة
relation_tag: وسم علاقة
+ report: تقرير
session: جلسة
trace: أثر
tracepoint: نقطة أثر
description: تحكم عن بعد (JOSM أو Merkaartor)
auth:
providers:
+ none: لا شيء
+ openid: هوية مفتوحة
+ google: جوجل
+ facebook: فيسبوك
+ windowslive: ويندوز لايف
+ github: جيت هب
wikipedia: ويكيبيديا
api:
notes:
out: بَعِّدْ
locate:
title: أظهر موقعي
+ metersPopup:
+ zero: أنت على بعد %{count} متر من هذه النقطة
+ one: أنت على بعد متر واحد من هذه النقطة
+ two: أنت على بعد %{count} متر من هذه النقطة
+ few: أنت على بعد %{count} متر من هذه النقطة
+ many: أنت على بعد %{count} متر من هذه النقطة
+ other: أنت على بعد %{count} متر من هذه النقطة
+ feetPopup:
+ zero: أنت على بعد %{count} قدم من هذه النقطة
+ one: أنت على بعد قدم واحد من هذه النقطة
+ two: أنت على بعد %{count} قدم من هذه النقطة
+ few: أنت على بعد %{count} قدم من هذه النقطة
+ many: أنت على بعد %{count} قدم من هذه النقطة
+ other: أنت على بعد %{count} قدم من هذه النقطة
base:
standard: قياسي
cycle_map: خريطة الدراجات
copyright: © <a href='%{copyright_url}'>مساهمو خريطة الشارع المفتوحة</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>تقديم تبرع</a>
terms: <a href='%{terms_url}' target='_blank'> مصطلحات الموقع و API</a>
+ thunderforest: البلاط من <a href='%{thunderforest_url}' target='_blank'>Andy
+ Allan</a>
+ hotosm: نمط البلاط بواسطة <a href='%{hotosm_url}' target='_blank'>Humanitarian
+ OpenStreetMap Team</a> المستضاف بواسطة <a href='%{osmfrance_url}' target='_blank'>OpenStreetMap
+ France</a>
site:
edit_tooltip: عدّل الخريطة
edit_disabled_tooltip: قم بالتكبير لتحرير الخريطة
one: 1 хаам
other: '%{count} хаам'
resolve: Кечъян
- ignore: Ð\98гноÑ\80 Ñ\8fн
+ ignore: ТеÑ\80гал Ñ\86а дан
reopen: Юху схьаелла
reports:
new:
# Author: Spotter
# Author: StenSoft
# Author: Tchoř
+# Author: Tomasokol
# Author: Urbanecm
# Author: Veritaslibero
# Author: Walter Klosse
diary_comment: Komentář k deníku
diary_entry: Deníkový záznam
friend: Přítel
+ issue: Problém
language: Jazyk
message: Zpráva
node: Uzel
one: skoro před rokem
other: skoro před %{count} roky
half_a_minute: před půl minutou
+ less_than_x_seconds:
+ one: před méně než vteřinou
+ other: před méně než %{count} vteřinami
+ less_than_x_minutes:
+ one: před méně než minutou
+ other: před méně než %{count} minutami
+ over_x_years:
+ one: více než před rokem
+ other: před více než %{count} lety
+ x_seconds:
+ one: před vteřinou
+ other: před %{count} vteřinami
+ x_minutes:
+ one: před minutou
+ other: před %{count} minutami
+ x_days:
+ one: den nazpět
+ other: před %{count} dny
+ x_months:
+ one: před měsícem
+ other: před %{count} měsíci
+ x_years:
+ one: před rokem
+ other: před %{count} lety
editor:
default: Výchozí (aktuálně %{name})
potlatch:
remote:
name: Dálkové ovládání
description: Dálkové ovládání (JOSM nebo Merkaartor)
+ auth:
+ providers:
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipedie
api:
notes:
comment:
commented_by_anonymous: <abbr title='%{exact_time}'>%{when}</abbr> okomentoval
anonym
closed_by: Vyřešeno od %{user} <abbr title='%{exact_time}'>%{when}</abbr>
- closed_by_anonymous: Vyřešil <abbr title='%{exact_time}'>před %{when}</abbr>
- anonym
- reopened_by: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr> uživatel
+ closed_by_anonymous: Vyřešil anonym <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Znovu aktivoval <abbr title='%{exact_time}'>%{when}</abbr> uživatel
%{user}
- reopened_by_anonymous: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr>
+ reopened_by_anonymous: Znovu aktivoval <abbr title='%{exact_time}'>%{when}</abbr>
anonym
- hidden_by: Skryl <abbr title='%{exact_time}'>před %{when}</abbr> uživatel %{user}
+ hidden_by: Skryl <abbr title='%{exact_time}'>%{when}</abbr> uživatel %{user}
report: Nahlásit tuto poznámku
query:
title: Průzkum prvků
změn'
subject_other: '[OpenStreetMap] %{commenter} okomentoval jednu ze sad změn,
která vás zajímá'
- your_changeset: '%{commenter} zanechal komentář na jedné z vašich sad změn,
- vytvořené %{time}.'
- commented_changeset: '%{commenter} zanechal komentář na sadě změn, kterou
- %{time} vytvořil %{changeset_author} a kterou sledujete.'
+ your_changeset: '%{commenter} zanechal %{time} komentář na jedné z vašich
+ sad změn.'
+ commented_changeset: '%{commenter} zanechal %{time} komentář na Vámi sledované
+ sadě změn, kterou vytvořil %{changeset_author}.'
partial_changeset_with_comment: s komentářem „%{changeset_comment}“
partial_changeset_without_comment: bez komentáře
details: Více informací o této sadě změn lze nalézt na %{url}.
newer: Novější stopy
trace:
pending: ZPRACOVÁVÁ SE
- count_points: '%{count} bodů'
+ count_points:
+ one: 1 bod
+ other: '%{count} bodů'
more: více
trace_details: Zobrazit podrobnosti stopy
view_map: Zobrazit mapu
no_apps_html: Máte nějakou aplikaci používající standard %{oauth}, která by
s námi měla spolupracovat? Aplikaci je potřeba nejdříve zaregistrovat, až
poté k nám bude moci posílat OAuth požadavky.
+ oauth: OAuth
registered_apps: 'Máte zaregistrovány následující klientské aplikace:'
register_new: Zaregistrovat aplikaci
form:
hours:
one: 1 hodina
other: '%{count} hodiny'
+ days:
+ one: 1 den
+ other: '%{count} dnů'
+ weeks:
+ one: 1 týden
+ other: '%{count} týdnů'
+ months:
+ one: 1 měsíc
+ other: '%{count} měsíců'
+ years:
+ one: 1 rok
+ other: '%{count} let'
blocks_on:
title: Zablokování uživatele %{name}
heading_html: Seznam zablokování uživatele %{name}
out: Oddálit
locate:
title: Ukázat moji polohu
+ metersPopup:
+ one: Od tohoto bodu jste vzdáleni metr
+ other: Od tohoto bodu jste vzdáleni %{count} metrů
+ feetPopup:
+ one: Od tohoto bodu jste vzdáleni jednu stopu
+ other: Od tohoto bodu jste vzdáleni %{count} stop
base:
standard: Standardní
cycle_map: Cyklomapa
remote:
name: Fernsteuerung
description: externem Editor (JOSM oder Merkaartor)
+ auth:
+ providers:
+ none: Keine
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipedia
api:
notes:
comment:
diary_comment: Päiväkirjakommentti
diary_entry: Päiväkirjamerkintä
friend: Ystävä
+ issue: Ilmiannot
language: Kieli
message: Viesti
node: Piste
remote:
name: Kauko-ohjaus
description: Kauko-ohjaus (JOSM eli Merkaartor)
+ auth:
+ providers:
+ wikipedia: Wikipeetia
api:
notes:
comment:
gondola: Gondolihissi
platter: Hiihtohissi
pylon: Pylväs
+ station: Ilmarata-asema
+ t-bar: Ankkurihissi
+ aeroway:
+ aerodrome: Lentokenttä
+ airstrip: Kiitorata
+ apron: Asemataso
+ gate: Portti
+ hangar: Hangaari
+ helipad: Helikopterikenttä
+ holding_position: Odotuspaikka
+ parking_position: Parkkialue
+ runway: Kiitorata
+ taxiway: Rullaustie
+ terminal: Terminaali
amenity:
+ animal_shelter: Eläinsuoja
+ arts_centre: Taidekeskus
+ atm: Pankkoauttomaatti
+ bank: Pankko
+ bar: Baari
+ bbq: Grillauskatos
+ bench: Penkki
cafe: Kahvila
hospital: Siukhuusi
library: Pipluteekki
last_updated_time_user_html: käyttäjä %{user} <abbr title='%{title}'>%{time}</abbr>
link_to_reports: Näytä ilmiannot
reports_count:
- one: 1 ilmoitus
+ one: 1 ilmotus
other: '%{count} ilmiantoa'
states:
open: Avvaa
no_other_issues: Ei muita tähän käyttäjään kohistuvia ilmiantoja.
comments_on_this_issue: Tapauksen kommentit
resolve:
- resolved: Tapaus on markeerattu ratkaistuksi
+ resolved: Tapaus oon markeerattu ratkaistuksi
ignore:
- ignored: Tapaus on markeerattu aiheettomaksi
+ ignored: Tapaus oon markeerattu aiheettomaksi
reopen:
- reopened: Tapaus on markeerattu käsittelyssä olevaksi
+ reopened: Tapaus oon markeerattu käsittelyssä olevaksi
comments:
reassign_param: Haluatko määrittää tapauksen tilan uuesti?
reports:
href="https://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database -lisensillä</a> (ODbL).
intro_2_html: "OpenStreetMapin karttoja ja tietoja voi kopioida, levittää,
välittää ja mukauttaa, \nkunhan OpenStreetMap ja sen tekijät mainitaan.
- Jos karttoja tai tietoja muutethaan tai kehitethään, niitä saa levittää
- vain samalla lisensillä.\n<a href=\"https://opendatacommons.org/licenses/odbl/1.0/\">Lakitekstissä</a>
+ Jos karttoja tai tietoja muutethaan tai kehitethään, niitä saa levithää
+ vain samalla lisensilä.\n<a href=\"https://opendatacommons.org/licenses/odbl/1.0/\">Lakitekstissä</a>
mainitaan levittäjän oikeudet ja velvollisuudet."
intro_3_html: |-
Kartta-aineisto ja dokumentaatio oon lisensoitu <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.fi">Creative
credit_1_html: OpenStreetMapin sisältöä levitettäessä oon mainittava teksti
"© OpenStreetMapin tekijät" tai sen engelskankielinen vastine
"© OpenStreetMap contributors".
- credit_2_html: "Levittäjän tulee tehdä selväksi, että aineisto on saatavilla
- Open Database -lisenssillä\nja kartta-aineisto CC-BY-SA-lisenssillä. Tämä
- voidaan tehdä sijoittamalla sivulle linkki\n<a href=\"https://www.openstreetmap.org/copyright\">tälle
- tekijänoikeussivulle</a>. \nJos linkkien käyttö ei ole mahdollista (esimerkiksi
- paperille tulostettu aineisto),\nsuosittelemme ohjaamaan lukijat osoitteisiin
+ credit_2_html: "Levittäjän tulee tehdä selväksi, ette aineisto oon saatavilla
+ Open Database -lisensillä\nja kartta-aineisto CC-BY-SA-lisensillä. Tämä
+ voidaan tehdä sijoittamalla sivule länkki\n<a href=\"https://www.openstreetmap.org/copyright\">tälle
+ tekijänoikeussivule</a>. \nJos länkkien käyttö ei ole mahollista (esimerkiksi
+ paperille printattu aineisto),\nsuosittelemme ohjaamaan lukijat atresseihin
www.openstreetmap.org, opendatacommons.org ja tarvittaessa myös creativecommons.org."
credit_3_html: 'Sivustolle upotetun interaktiivisen karttaikkunan tulee sisältää
tekijän nimi kartan alaosassa:'
button: Lissää ystäväksi
success: '%{name} oon nyt sinun ystävä!'
failed: Käyttäjää %{name} ei voitu lisätä sinun ystävälistaan.
- already_a_friend: '%{name} on jo sinun ystävä.'
+ already_a_friend: '%{name} oon jo sinun ystävä.'
remove_friend:
heading: Poistetaanko ystävä %{user}?
button: Ota poies ystävä
# Author: Alem
# Author: Amsideg
# Author: Belkacem77
+# Author: K Messaoudi
# Author: Marzuquccen
# Author: Mastanabal
# Author: Mhenni
remote:
name: Amaẓrag azɣaray
description: Amaẓrag azɣaray (JOSM neɣ Merkaartor)
+ auth:
+ providers:
+ none: Ulac
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipidya
api:
notes:
comment:
opened_at_html: Yattwarna %{when}
opened_at_by_html: Yettwarna %{when} sɣur %{user}
- commented_at_html: Yettwalqem %{when} aya
+ commented_at_html: Yettwalqem %{when}
commented_at_by_html: Yettwalqem %{when} aya sɣur %{user}
closed_at_html: Yefra %{when} aya
closed_at_by_html: Yefra %{when} aya sɣur %{user}
reopened_at_by_html: Yettwarmed %{when} aya sɣur %{user}
rss:
title: Tizmilin n OpenStreetMap
+ description_area: Tabdert n tezmilin yettwamlen, yettwawennten neɣ imedlen
+ deg temnaḍt-ik[(%{min_lat}|%{min_lon})--(%{max_lat}|%{max_lon})]
opened: tazmilt tamaynut (qrib ar %{place})
commented: awennit amawut (qrib ar %{place})
closed: tazmilt temdel (qrib ar %{place})
tag: Aglam n imyerr %{key}=%{value} ɣef uwiki
wikidata_link: Aferdis %{page} di Wikidata
wikipedia_link: Amagrad %{page}di Wikipedia
+ wikimedia_commons_link: Aferdis %{page} deg Wikimedia Commons
telephone_link: Siwel ar %{phone_number}
+ colour_preview: Taskant n yini %{colour_value}
note:
title: 'Tazmilt: %{id}'
new_note: Tazmilt tamaynut
comment:
comment: Awennit amaynut deg ugraw n usnifel uṭṭ %{changeset_id} par %{author}
commented_at_by_html: Yettwalqem %{when} aya sɣur %{user}
+ comments:
+ comment: Awennit amaynut deg ugraw n usnifel wis %{changeset_id} sɣur %{author}
index:
title_all: Asqerdec deg ugraw n usnifel OpenStreetMap
- title_particular: Asqerdec deg ugraw n usnifel OpenStreetMap uṭṭ %{changeset_id}
+ title_particular: Asqerdec deg ugraw n usnifel OpenStreetMap wis %{changeset_id}
+ timeout:
+ sorry: Suref-aɣ, tabdart n iygrawen n usnifel i d-tessutreḍ tettawi ddeqs n
+ wakud akken ad d-tali.
diary_entries:
new:
title: Anekcam amaynut n uɣmis
other: '%{count} n iwenniten'
edit_link: Ẓreg anekcam-agi
hide_link: Ffer anekcam-agi
+ unhide_link: Sken anekcum-a
confirm: Sentem
report: Sillef anekcum agi
diary_comment:
hide_link: Ffer awennit-agi
unhide_link: Sken-d awennit-a
confirm: Sentem
- report: Sillef awennit agi
+ report: Mel awennit-a
location:
location: 'Adig:'
view: Sken
landing_site: Annar n trusi n utrab
phone: Tiliɣri n utrab
water_tank: Tanutfi n waman utrib
+ "yes": Tuɛjilin
highway:
abandoned: Abrid agejdan yettwattun
bridleway: Aɣaras n yimnayen
primary_link: Abrid agejdan
proposed: Asenfaṛ n ubrid
raceway: Amnenniḍ
+ residential: Abrid n tnezduɣin
rest_area: Amḍiq n ustaεfu
road: Abrid
secondary: Abrid asnawan
openid: OpenID
google: 구글
facebook: 페이스북
+ windowslive: Windows Live
github: 깃허브
wikipedia: 위키백과
api:
tag: '%{key}=%{value} 태그에 대한 위키 설명 문서'
wikidata_link: 위키데이터 %{page} 항목
wikipedia_link: 위키백과 %{page} 문서
+ wikimedia_commons_link: 위키미디어 공용에서의 %{page} 항목
telephone_link: '%{phone_number}(으)로 전화 걸기'
+ colour_preview: '%{colour_value}색 미리 보기'
note:
title: '참고: %{id}'
new_note: 새로운 참고
reopen:
reopened: 이슈 상태가 '열림'으로 설정되었습니다
comments:
+ comment_from_html: '%{comment_created_at}에 %{user_link}님의 댓글'
reassign_param: 이슈를 다시 할당하시겠습니까?
reports:
reported_by_html: '%{updated_at}에 %{user}님이 %{category} 분류로 보고함'
commented:
subject_own: '[오픈스트리트맵] %{commenter}님이 내 바뀜집합에 덧글을 남겼습니다'
subject_other: '[오픈스트리트맵] %{commenter}님이 내가 관심을 가진 바뀜집합에 뎟글을 남겼습니다'
- your_changeset: '%{commenter}님이 내가 %{time}에 만든 바뀜집합에 덧글을 달았습니다'
+ your_changeset: '%{commenter}님이 %{time}에 내가 바뀜집합에 댓글을 달았습니다'
commented_changeset: '%{commenter}님이 %{time}에 %{changeset_author}님이 만든 내가
- 주시중인 지도 바뀜집합에 덧글을 남겼습니다'
+ 주시중인 바뀜집합에 댓글을 남겼습니다'
partial_changeset_with_comment: ‘%{changeset_comment}’ 덧글로
partial_changeset_without_comment: 의견 없이
details: 바뀜집합에 대한 자세한 사항은 %{url}에서 찾을 수 있습니다.
그 결과물을 배포할 수 있습니다. 자세한 내용은 <a href=''%{copyright_path}''>저작권 및 라이선스 문서</a>에서
확인하세요.'
legal_title: 법률
- legal_1_html: |-
- 이 사이트 및 많은 다른 관련된 부문은 공동체를 대표하여 <a href='https://osmfoundation.org/'>OpenStreetMap 재단</a>에서 정식적으로 운영합니다. OpenStreetMap 재단이 운영하는 부문의 이용은 <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use">이용 약관</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
- 허용할 수 있는 이용 정책</a> 및 <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">개인정보 정책</a> 조건 하에서 이루어집니다.
- <br>
- 만일 이용허락 또는 저작권 및 다른 법률적인 질문이 있다면, <a href='https://osmfoundation.org/Contact'>OpenStreetMap 재단에 연락</a>하십시오.
- <br>
- OpenStreetMap, 돋보기 로고와 State of the Map은 <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">OpenStreetMap 재단의 등록상표입니다.</a>
+ legal_1_html: 이 사이트 및 많은 다른 관련된 부문은 공동체를 대표하여 <a href='https://osmfoundation.org/'>OpenStreetMap
+ 재단</a>에서 정식적으로 운영합니다. OpenStreetMap 재단이 운영하는 부문의 이용은 <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use">이용
+ 약관</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">허용할
+ 수 있는 이용 정책</a> 및 <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">개인정보처리방침</a>
+ 조건 하에서 이루어집니다.
partners_title: 파트너
copyright:
foreign:
shortlink: 짧은링크
createnote: 참고 추가
license:
- copyright: 저작권 OpenStreetMap과 기여자, 오픈 라이선스로 배포
+ copyright: 저작권 OpenStreetMap 및 기여자, 오픈 라이선스로 배포
remote_failed: 편집을 실패했습니다 - JOSM이나 Merkaartor를 불러왔고 원격 제어 설정이 활성화되어 있는지 확인하세요
edit:
not_public: 공개할 편집을 설정하지 않았습니다.
newer: 다음 궤적
trace:
pending: 보류 중
- count_points: 점 %{count}개
+ count_points:
+ one: 점 1개
+ other: 점 %{count}개
more: 더 보기
trace_details: 궤적 상세보기
view_map: 지도 보기
edit:
title: 내 애플리케이션 편집
show:
- title: '%{app_name}ì\97\90 ë\8d°한 OAuth 자세한 정보'
+ title: '%{app_name}ì\97\90 ë\8c\80한 OAuth 자세한 정보'
key: '컨슈머 키:'
secret: '컨슈머 비밀 값:'
url: '요청 토큰 URL:'
email address: '이메일 주소:'
confirm email address: '이메일 주소 확인:'
not_displayed_publicly_html: 당신의 주소는 공개되지 않습니다. 자세한 내용은 <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy"
- title="OSMF privacy policy including section on email addresses">개인정보 정책</a>을
- 참조하시기 바랍니다.
+ title="이메일 주소 절을 포함한 OSMF 개인정보처리방침">개인정보처리방침</a>을 참조하시기 바랍니다.
display name: '표시 이름:'
display name description: 공개적으로 표시되는 사용자 이름입니다. 나중에 환경 설정에서 바꿀 수 있습니다.
external auth: '제3자 인증:'
gps: 공개 GPS 궤적
overlays: 지도 문제를 해결하기 위해 오버레이를 활성화
title: 레이어
- copyright: © <a href='%{copyright_url}'>오픈스트리트맵 기여자</a>
+ copyright: © <a href='%{copyright_url}'>OpenStreetMap 기여자</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>기부하기</a>
terms: <a href='%{terms_url}' target='_blank'>웹 사이트 및 API 약관</a>
site:
new:
intro: 실수했거나 없는 무언가를 발견했나요? 다른 매퍼에게 알려주어 고칠 수 있게 해주세요. 마커를 올바른 위치로 이동하고, 참고를
남겨 문제를 설명해주세요.
- advice: 노트는 공개되어 지도 업데이트에 쓰일 수 있으므로 개인 정보 또는 저작권이 있는 지도나 디렉터리 리스팅의 정보를 입력하지
+ advice: 노트는 공개되어 지도 업데이트에 쓰일 수 있으므로 개인정보 또는 저작권이 있는 지도나 디렉터리 리스팅의 정보를 입력하지
마십시오.
add: 참고 추가
show:
remote:
name: nuotoliniu valdymu
description: nuotolinį valdymą (JOSM arba Merkaartor)
+ auth:
+ providers:
+ google: Google
api:
notes:
comment:
remote:
name: Zewnętrzny edytor
description: zewnętrznym edytorze (JOSM lub Merkaartor)
+ auth:
+ providers:
+ none: Brak
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipedia
api:
notes:
comment:
apron: Płyta postojowa
gate: Bramka
hangar: Hangar
- helipad: Helipad
+ helipad: Lądowisko dla helikopterów
holding_position: Punkt oczekiwania
parking_position: Miejsce parkingowe
runway: Pas startowy
food_court: Współdzielone miejsce do spożywania posiłków
fountain: Fontanna
fuel: Stacja paliw
- gambling: Hazard
+ gambling: Salon pachinko/bingo
grave_yard: Cmentarz przykościelny
grit_bin: Pojemnik na piasek
hospital: Szpital
defibrillator: Defibrylator
landing_site: Miejsce awaryjnego lądowania
phone: Telefon alarmowy
- water_tank: Awaryjny Zbiornik Wody
- "yes": Awaryjny
+ water_tank: Awaryjny zbiornik wody
+ "yes": Ratownictwo
highway:
- abandoned: Porzucona droga
+ abandoned: Zaniedbana droga
bridleway: Droga dla koni
bus_guideway: Droga dla autobusów
bus_stop: Przystanek autobusowy
brownfield: Grunty poprzemysłowe
cemetery: Cmentarz
commercial: Obszar handlowo-usługowy
- conservation: Ochrona środowiska
+ conservation: Rezerwat
construction: Teren budowy
farm: Farma
farmland: Grunty rolne
reservoir: Sztuczny zbiornik wodny
reservoir_watershed: Zbiornik wodny
residential: Zabudowa mieszkalna
- retail: Handel detaliczny
+ retail: Teren handlu detalicznego
road: Obszar drogowy
village_green: Nawsie
vineyard: Winnica
water_tower: Wieża ciśnień
water_well: Studnia
water_works: Wodociągi
- windmill: Młyn wiatrowy
+ windmill: Wiatrak
works: Fabryka
"yes": Konstrukcja
military:
airfield: Lotnisko wojskowe
barracks: Koszary
bunker: Bunkier
- "yes": Wojskowy
+ "yes": Obiekt wojskowy
mountain_pass:
"yes": Przełęcz
natural:
ridge: Grzbiet
rock: Skała
saddle: Przełęcz
- sand: Piasek
+ sand: Piaski
scree: Piarg
scrub: Zarośla
spring: Źródło wodne
insurance: Biuro ubezpieczeń
it: Biuro firmy informatycznej
lawyer: Prawnik
- ngo: Biuro organizacji pozarządowych
+ ngo: Biuro organizacji pozarządowej
telecommunication: Urząd telekomunikacji
travel_agent: Biuro podróży
"yes": Biuro
city: Miasto
city_block: Kwartał
country: Kraj
- county: Powiat
+ county: Hrabstwo
farm: Farma
hamlet: Osada
house: Dom
halt: Przystanek kolejowy
junction: Węzeł kolejowy
level_crossing: Przejazd kolejowy
- light_rail: Lekka kolej
- miniature: Mini kolej
- monorail: Kolej jednoszynowa
- narrow_gauge: Kolej wąskotorowa
+ light_rail: Tor kolei miejskiej
+ miniature: Tor minikolejki
+ monorail: Tor kolei jednoszynowej
+ narrow_gauge: Tor kolei wąskotorowej
platform: Peron
- preserved: Kolej zabytkowa
+ preserved: Tor kolei zabytkowej
proposed: Planowana linia kolejowa
spur: Bocznica kolejowa
station: Stacja kolejowa
subway: Metro
subway_entrance: Wejście na stację metra
switch: Zwrotnica
- tram: Tory tramwajowe
+ tram: Tor tramwajowy
tram_stop: Przystanek tramwajowy
shop:
alcohol: Sklep monopolowy
butcher: Sklep mięsny
car: Sklep samochodowy
car_parts: Sklep z częściami samochodowymi
- car_repair: Naprawa samochodów
+ car_repair: Warsztat samochodowy
carpet: Sklep z dywanami
charity: Sklep charytatywny
chemist: Drogeria
furniture: Sklep meblowy
gallery: Galeria
garden_centre: Centrum ogrodnicze
- general: Sklep ogólny
+ general: Sklep wielobranżowy
gift: Sklep z pamiątkami
greengrocer: Warzywniak
grocery: Sklep spożywczy
hairdresser: Fryzjer
- hardware: Sklep ze sprzętem
+ hardware: Sklep z narzędziami
hifi: Sklep ze sprzętem hi-fi
houseware: Sklep z artykułami gospodarstwa domowego
interior_decoration: Sklep z dekoracją wnętrz
mobile_phone: Sklep z telefonami komórkowymi
motorcycle: Sklep z motocyklami
music: Sklep muzyczny
- newsagent: Kiosk
+ newsagent: Sklep z prasą
optician: Optyk
organic: Sklep z produktami organicznymi
outdoor: Sklep turystyczny
pet: Sklep zoologiczny
pharmacy: Apteka
photo: Sklep fotograficzny
- seafood: Owoce morza
- second_hand: Lumpeks
+ seafood: Sklep z owocami morza
+ second_hand: Sklep z rzeczami używanymi
shoes: Sklep obuwniczy
sports: Sklep sportowy
stationery: Sklep papierniczy
ditch: Rów
dock: Basen portowy
drain: Rów odpływowy
- lock: Zastawka
- lock_gate: Śluza
+ lock: Śluza
+ lock_gate: Wrota śluzy
mooring: Kotwicowisko
rapids: Katarakty
river: Rzeka
wadi: Starorzecze
waterfall: Wodospad
weir: Jaz
- "yes": Szlak wodny
+ "yes": Ciek
admin_levels:
level2: Granica kraju
level4: Granica
cycleway_regional: Droga rowerowa znaczenia regionalnego
cycleway_local: Droga rowerowa znaczenia lokalnego
footway: Droga dla pieszych
- rail: Tory kolejowe
+ rail: Tor kolejowy
subway: Metro
tram:
- - Lekka kolej
+ - Kolej miejska
- tramwaj
cable:
- Kolej linowa
out: Oddal
locate:
title: Wyświetl dla mojego aktualnego położenia
+ metersPopup:
+ one: Jesteś w promieniu 1 metra od tego punktu
+ few: Jesteś w promieniu %{count} metrów od tego punktu
+ many: Jesteś w promieniu %{count} metrów od tego punktu
+ other: Jesteś w promieniu %{count} metra od tego punktu
+ feetPopup:
+ one: Jesteś w promieniu 1 stopy od tego punktu
+ few: Jesteś w promieniu %{count} stóp od tego punktu
+ many: Jesteś w promieniu %{count} stóp od tego punktu
+ other: Jesteś w promieniu %{count} stopy od tego punktu
base:
standard: Podstawowa
cycle_map: Rowerowa
copyright: © <a href='%{copyright_url}'>autorzy OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Przekaż darowiznę</a>
terms: <a href='%{terms_url}' target='_blank'>Warunki użytkowania</a>
+ thunderforest: Kafelki dzięki uprzejmości <a href='%{thunderforest_url}' target='_blank'>Andy'ego
+ Allana</a>
+ hotosm: 'Styl kafelków: <a href=''%{hotosm_url}'' target=''_blank''>Humanitarian
+ OpenStreetMap Team</a>. Hosting: <a href=''%{osmfrance_url}'' target=''_blank''>OpenStreetMap
+ France</a>'
site:
edit_tooltip: Edytuje mapę
edit_disabled_tooltip: Przybliż mapę, aby ją edytować
diary_comment: Comentário do diário
diary_entry: Publicação do diário
friend: Amigo
+ issue: Problema
language: Idioma
message: Mensagem
node: Nó
relation: Relação
relation_member: Membros da relação
relation_tag: Etiqueta de relação
+ report: Relatório
session: Sessão
trace: Trilha
tracepoint: Ponto de trilha
remote:
name: Controle Rrmoto
description: Controle remoto (JOSM ou Merkaartor)
+ auth:
+ providers:
+ none: Nenhum
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipédia
api:
notes:
comment:
out: Afastar
locate:
title: Exibir Minha Localização
+ metersPopup:
+ one: Você está dentro de um metro deste ponto
+ other: Você está dentro %{count} metros deste ponto
+ feetPopup:
+ one: Você está dentro de um pé deste ponto
+ other: Você está dentro %{count} pés deste ponto
base:
standard: Padrão
cycle_map: Ciclístico
copyright: © <a href='%{copyright_url}'>contribuidores do OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Fazer uma doação</a>
terms: <a href='%{terms_url}' target='_blank'>Termos do site e da API</a>
+ thunderforest: Mosaicos cortesia de <a href='%{thunderforest_url}' target='_blank'>Andy
+ Allan</a>
+ hotosm: Estilo de ladrilhos por <a href='%{hotosm_url}' target='_blank'>Equipe
+ de Humanitarian OpenStreetMap</a> hospedado por <a href='%{osmfrance_url}'
+ target='_blank'>OpenStreetMap França</a>
site:
edit_tooltip: Edite o mapa
edit_disabled_tooltip: Aproxime para editar o mapa
em contacto com algumas %{people_mapping_nearby_link}?
people_mapping_nearby: pessoas que mapeiam perto de ti
reply:
- wrong_user: Está autenticado como o utilizador `%{user}' mas a mensagem que
- pediu para responder não foi enviada para esse utilizador. Por favor entre
- na conta de utilizador correta para responder.
+ wrong_user: Estás autenticado como `%{user}', mas a mensagem a que pretendes
+ responder não foi enviada para esse utilizador. Por favor, entra na conta
+ correta para poderes responder.
show:
title: Ler mensagem
from: De
destroy_button: Eliminar
back: Voltar
to: Para
- wrong_user: Está autenticado com a conta `%{user}', mas a mensagem que pediu
- para ler não foi enviada por, ou para, essa conta de utilizador. Por favor,
- entre na conta de utilizador correta para ler a mensagem.
+ wrong_user: Estás autenticado como `%{user}', mas a mensagem que pediste para
+ ler não foi enviada por ou para esse utilizador. Por favor, entra na conta
+ correta para poderes ler a mensagem.
sent_message_summary:
destroy_button: Eliminar
mark:
about:
next: Seguinte
copyright_html: <span>©</span>Colaboradores<br>do OpenStreetMap
- used_by_html: O %{name} fornece dados a milhares de sítios na internet, aplicações
+ used_by_html: O %{name} fornece dados a milhares de sítios na Internet, aplicações
de telemóveis e outros dispositivos
- lede_text: O OpenStreetMap é desenvolvido por uma comunidade voluntária de mapeadores
+ lede_text: O OpenStreetMap é desenvolvido por uma comunidade de mapeadores voluntários
que contribuem e mantêm atualizados os dados sobre estradas, trilhos, cafés,
estações ferroviárias e muito mais por todo o mundo.
local_knowledge_title: Conhecimento Local
local_knowledge_html: O OpenStreetMap valoriza o conhecimento local. Os colaboradores
- utilizam fotografias aéreas, dispositivos GPS, e mapas do terreno para verificar
+ utilizam fotografias aéreas, dispositivos de GPS e mapas do terreno para verificar
que a informação no OpenStreetMap é rigorosa e atualizada.
- community_driven_title: Dirigido pela Comunidade
+ community_driven_title: Desenvolvido pela Comunidade
community_driven_html: |-
- A comunidade do OpenStreetMap é diversa, apaixonada, e aumenta diariamente.
- Entre os nossos colaboradores encontra-se cartógrafos entusiastas, profissionais das áreas de sistemas geográficos, engenheiros que utilizam os servidores do OSM, voluntários a mapear áreas afetadas por grandes desastres, e muitos mais.
- Para saber mais sobre a nossa comunidade, veja:
+ A comunidade do OpenStreetMap é diversa, apaixonada e cresce diariamente.
+ Entre os nossos colaboradores, encontram-se cartógrafos entusiásticos, profissionais das áreas de sistemas geográficos, engenheiros que utilizam os servidores do OSM, voluntários que mapeiam áreas afetadas por grandes desastre, e muitos mais.
+ Para saber mais sobre a nossa comunidade, consulte:
<a href='https://blog.openstreetmap.org'>Blogue do OpenStreetMap</a>,
<a href='%{diary_path}'>diários dos utilizadores</a>,
<a href='https://blogs.openstreetmap.org/'>blogues da comunidade</a>, e o sítio da <a href='https://www.osmfoundation.org/'>Fundação OSM</a>.
open_data_title: Dados Abertos
open_data_html: |-
- O OpenStreetMap é constituído por <i>dados abertos</i>: qualquer
- pessoa tem a liberdade de usar os dados para qualquer fim desde
- credite a autoria do OpenStreetMap e os seus colaboradores.
- Se você alterar os dados ou criar algo com os dados, pode distribuir
- o produto resultante apenas sob a mesma licença. Consulte <a href='%{copyright_path}'>a página sobre direitos de autor e licenciamento</a> para mais informações.
+ O OpenStreetMap é constituído por <i>dados abertos</i>: qualquer pessoa tem a liberdade de usar os dados para qualquer fim desde que dê os devidos créditos ao OpenStreetMap e aos seus colaboradores.
+ Se alterar os dados ou criar algo com base nesses dados, só pode distribuir o produto resultante sob a mesma licença. Consulte <a href='%{copyright_path}'>a página sobre direitos de autor e licenciamento</a> para mais informações.
legal_title: Termos legais
- legal_1_html: "Este ''site'' e muitos outros serviços relacionados são formalmente
- geridos pela \n<a href='https://osmfoundation.org/'>Fundação OpenStreetMap</a>
- (OSMF) \nem nome da comunidade. A utilização de todos os serviços operados
- pela OSMF estão sujeitos\naos nossos <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">Termos
- de Utilização</a>, <a href=\"https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">Políticas
- de Utilização Aceitáveis</a> e a nossa <a href=\"https://wiki.osmfoundation.org/wiki/Privacy_Policy\">Política
- de Privacidade</a>"
+ legal_1_html: Este sítio e muitos outros serviços relacionados são formalmente
+ geridos pela <a href='https://osmfoundation.org/'>Fundação OpenStreetMap</a>
+ (OSMF) em nome da comunidade. A utilização de todos os serviços operados pela
+ OSMF estão sujeitos aos nossos <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use">Termos
+ de Utilização</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">Políticas
+ de Utilização Aceitáveis</a> e à nossa <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">Política
+ de Privacidade</a>.
legal_2_html: |-
- Se tiver perguntas sobre licenciamento, direitos de autor ou outras questões legais <a href='https://osmfoundation.org/Contact'>contacte a OSMF</a>, por favor.
+ Se tiver perguntas sobre o licenciamento, direitos de autor ou outras questões legais, por favor, <a href='https://osmfoundation.org/Contact'>contacte a OSMF</a>.
<br>
O OpenStreetMap, o logótipo da lupa e o 'Estado do Mapa' são <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">marcas registadas da OSMF</a>.
partners_title: Parceiros
copyright:
foreign:
title: Sobre esta tradução
- html: Caso haja um conflito entre esta página traduzida e %{english_original_link},
+ html: Se houver um conflito entre esta página traduzida e %{english_original_link},
a página em inglês tem prevalência
english_link: o original em inglês
native:
title: Sobre esta página
- html: Está a ver a versão em Inglês da página de direitos de autor. Pode voltar
+ html: Está a ver a versão em inglês da página de direitos de autor. Pode voltar
à %{native_link} desta página ou, se preferir, %{mapping_link}.
- native_link: Versão em português
+ native_link: Versão em português europeu
mapping_link: começar a mapear
legal_babble:
- title_html: Licença e Direitos de autor
+ title_html: Licença e Direitos de Autor
intro_1_html: |-
O OpenStreetMap<sup><a href="#trademarks">®</a></sup> é disponibilizado em <i>dados abertos</i>, sob a licença <a
href="https://opendatacommons.org/licenses/odbl/">Open Data
Commons Open Database License</a> (ODbL) pela <a
href="https://osmfoundation.org/">Fundação OpenStreetMap</a> (OSMF).
intro_2_html: Tem o direito de copiar, distribuir, transmitir e adaptar os
- nossos dados, desde que atribua a autoria do OpenStreetMap e os seus contribuidores.
- Se alterar ou adicionar conteúdo dos nossos dados, pode distribuir o resultado
- apenas com a mesma licença. O <a href="https://opendatacommons.org/licenses/odbl/1.0/">texto
+ nossos dados, desde que atribua os devidos créditos ao OpenStreetMap e aos
+ seus contribuidores. Se alterar ou adicionar conteúdo dos nossos dados,
+ pode distribuir o resultado apenas com a mesma licença. O <a href="https://opendatacommons.org/licenses/odbl/1.0/">texto
legal completo</a> explica os seus direitos e responsabilidades.
intro_3_html: A cartografia nas nossas telas de mapas (imagens dos mapas)
e a nossa documentação são disponibilizadas sob a licença <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.pt">Creative
Commons - Atribuição-CompartilhaIgual 2.0 (CC BY-SA)</a>.
credit_title_html: Como creditar o OpenStreetMap
- credit_1_html: É necessário indicar “© contribuidores do OpenStreetMap”
- ou caso seja mais adequado em inglês “© OpenStreetMap contributors”.
+ credit_1_html: Pedimos que use os créditos “© contribuidores do
+ OpenStreetMap” ou, se for mais adequado, em inglês “© OpenStreetMap
+ contributors”.
credit_2_html: Também tem de indicar claramente que os dados estão disponíveis
sob a Open Database License (ODbL), e caso utilize as telas de mapas (imagens
dos mapas), que a cartografia é disponibilizada sob a licença CC-BY-SA.
# Author: Sendelbach
# Author: Sertion
# Author: Shirayuki
+# Author: Technic2
# Author: The real emj
# Author: Tor.klingberg
# Author: Ufred
diary_comment: Dagbokskommentar
diary_entry: Dagboksinlägg
friend: Vän
+ issue: Problem
language: Språk
message: Meddelande
node: Nod
relation: Relation
relation_member: Relationsmedlem
relation_tag: Relationstagg
+ report: Rapportera
session: Session
trace: Spår
tracepoint: Spårpunkt
remote:
name: Fjärrstyrning
description: Fjärrstyrning (JOSM eller Merkaartor)
+ auth:
+ providers:
+ none: Ingen
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipedia
api:
notes:
comment:
out: Zooma ut
locate:
title: Visa min position
+ metersPopup:
+ one: Du är inom en meter av denna punkt
+ other: Du är inom %{count} meter av denna punkt
+ feetPopup:
+ one: Du är inom en fot av denna punkt
+ other: Du är inom %{count} fot av denna punkt
base:
standard: Standard
cycle_map: Cykelkarta
copyright: © <a href='%{copyright_url}'>OpenStreetMaps bidragsgivare</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Donera</a>
terms: <a href="%{terms_url}">Hemsidan och API-villkor</a>
+ thunderforest: Rutor av <a href='%{thunderforest_url}' target='_blank'>Andy
+ Allan</a>
+ hotosm: Rututseende av <a href='%{hotosm_url}' target='_blank'>Humanitarian
+ OpenStreetMap Team</a> som förvaltas av <a href='%{osmfrance_url}' target='_blank'>OpenStreetMap
+ Frankrike</a>
site:
edit_tooltip: Redigera kartan
edit_disabled_tooltip: Zooma in för att redigera kartan
# Messages for Simplified Chinese (中文(简体))
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: 500000000006城
# Author: A Chinese Wikipedian
# Author: A Retired User
# Author: Abijeet Patro
diary_comment: 日记评论
diary_entry: 日记条目
friend: 朋友
+ issue: 问题
language: 语言
message: 消息
node: 节点
auth:
providers:
none: 无
+ openid: 开放式身份验证
+ google: 谷歌
+ facebook: 脸书
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: 维基百科
api:
notes:
comment:
# Work around weird debian/ubuntu phantomjs
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817277
# https://github.com/ariya/phantomjs/issues/14376
-ENV["QT_QPA_PLATFORM"] = "phantom" if IO.popen(["phantomjs", "--version"], :err => :close).read.empty?
+ENV["QT_QPA_PLATFORM"] = "offscreen" if IO.popen(["phantomjs", "--version"], :err => :close).read.empty?
ActiveSupport.on_load(:action_dispatch_system_test_case) do
ActionDispatch::SystemTesting::Server.silence_puma = true
L.Map.ContextMenu = L.Handler.extend({
_touchstart: L.Browser.msPointer ? 'MSPointerDown' : L.Browser.pointer ? 'pointerdown' : 'touchstart',
-
+
statics: {
BASE_CLS: 'leaflet-contextmenu'
},
-
+
initialize: function (map) {
L.Handler.prototype.initialize.call(this, map);
-
+
this._items = [];
this._visible = false;
this._map.on({
contextmenu: this._show,
mousedown: this._hide,
- movestart: this._hide,
zoomstart: this._hide
}, this);
},
this._map.off({
contextmenu: this._show,
mousedown: this._hide,
- movestart: this._hide,
zoomstart: this._hide
}, this);
},
return;
}
+ var map = me._map,
+ containerPoint = me._showLocation.containerPoint,
+ layerPoint = map.containerPointToLayerPoint(containerPoint),
+ latlng = map.layerPointToLatLng(layerPoint),
+ relatedTarget = me._showLocation.relatedTarget,
+ data = {
+ containerPoint: containerPoint,
+ layerPoint: layerPoint,
+ latlng: latlng,
+ relatedTarget: relatedTarget
+ };
+
if (hideOnSelect) {
me._hide();
}
if (func) {
- func.call(context || map, me._showLocation);
+ func.call(context || map, data);
}
me._map.fire('contextmenu.select', {
_showAtPoint: function (pt, data) {
if (this._items.length) {
var map = this._map,
- layerPoint = map.containerPointToLayerPoint(pt),
- latlng = map.layerPointToLatLng(layerPoint),
event = L.extend(data || {}, {contextmenu: this});
this._showLocation = {
- latlng: latlng,
- layerPoint: layerPoint,
containerPoint: pt
};
/* @preserve
- * Leaflet 1.5.1+build.2e3e0ff, a JS library for interactive maps. http://leafletjs.com
- * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
+ * Leaflet 1.6.0, a JS library for interactive maps. http://leafletjs.com
+ * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
*/
(function (global, factory) {
(factory((global.L = {})));
}(this, (function (exports) { 'use strict';
-var version = "1.5.1+build.2e3e0ffb";
+var version = "1.6.0";
/*
* @namespace Util
// @function formatNum(num: Number, digits?: Number): Number
// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.
function formatNum(num, digits) {
- digits = (digits === undefined ? 6 : digits);
- return +(Math.round(num + ('e+' + digits)) + ('e-' + digits));
+ var pow = Math.pow(10, (digits === undefined ? 6 : digits));
+ return Math.round(num * pow) / pow;
}
// @function trim(str: String): String
// @property pointer: Boolean
// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).
-var pointer = !!(window.PointerEvent || msPointer);
+var pointer = !webkit && !!(window.PointerEvent || msPointer);
// @property touch: Boolean
// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).
// `true` for browsers on a high-resolution "retina" screen or on any screen when browser's display zoom is more than 100%.
var retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;
+// @property passiveEvents: Boolean
+// `true` for browsers that support passive events.
+var passiveEvents = (function () {
+ var supportsPassiveOption = false;
+ try {
+ var opts = Object.defineProperty({}, 'passive', {
+ get: function () {
+ supportsPassiveOption = true;
+ }
+ });
+ window.addEventListener('testPassiveEventSupport', falseFn, opts);
+ window.removeEventListener('testPassiveEventSupport', falseFn, opts);
+ } catch (e) {
+ // Errors can safely be ignored since this is only a browser support test.
+ }
+ return supportsPassiveOption;
+});
// @property canvas: Boolean
// `true` when the browser supports [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).
mobileOpera: mobileOpera,
mobileGecko: mobileGecko,
retina: retina,
+ passiveEvents: passiveEvents,
canvas: canvas,
svg: svg,
vml: vml
obj[_pre + _touchend + id] = onTouchEnd;
obj[_pre + 'dblclick' + id] = handler;
- obj.addEventListener(_touchstart, onTouchStart, false);
- obj.addEventListener(_touchend, onTouchEnd, false);
+ obj.addEventListener(_touchstart, onTouchStart, passiveEvents ? {passive: false} : false);
+ obj.addEventListener(_touchend, onTouchEnd, passiveEvents ? {passive: false} : false);
// On some platforms (notably, chrome<55 on win10 + touchscreen + mouse),
// the browser doesn't fire touchend/pointerup events but does fire
touchend = obj[_pre + _touchend + id],
dblclick = obj[_pre + 'dblclick' + id];
- obj.removeEventListener(_touchstart, touchstart, false);
- obj.removeEventListener(_touchend, touchend, false);
+ obj.removeEventListener(_touchstart, touchstart, passiveEvents ? {passive: false} : false);
+ obj.removeEventListener(_touchend, touchend, passiveEvents ? {passive: false} : false);
if (!edge) {
obj.removeEventListener('dblclick', dblclick, false);
}
} else if ('addEventListener' in obj) {
if (type === 'mousewheel') {
- obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
+ obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, passiveEvents ? {passive: false} : false);
} else if ((type === 'mouseenter') || (type === 'mouseleave')) {
handler = function (e) {
} else if ('removeEventListener' in obj) {
if (type === 'mousewheel') {
- obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
+ obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, passiveEvents ? {passive: false} : false);
} else {
obj.removeEventListener(
}
}, this);
- this.on('load moveend', function () {
- var c = this.getCenter(),
- z = this.getZoom();
- setTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));
- }, this);
+ this.on('load moveend', this._animMoveEnd, this);
this._on('unload', this._destroyAnimProxy, this);
},
_destroyAnimProxy: function () {
remove(this._proxy);
+ this.off('load moveend', this._animMoveEnd, this);
delete this._proxy;
},
+ _animMoveEnd: function () {
+ var c = this.getCenter(),
+ z = this.getZoom();
+ setTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));
+ },
+
_catchTransitionEnd: function (e) {
if (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) {
this._onZoomTransitionEnd();
addClass(this._mapPane, 'leaflet-zoom-anim');
}
+ // @section Other Events
// @event zoomanim: ZoomAnimEvent
// Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.
this.fire('zoomanim', {
// @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options)
-// Creates an attribution control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.
+// Creates a layers control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.
var layers = function (baseLayers, overlays, options) {
return new Layers(baseLayers, overlays, options);
};
},
_setPos: function (pos) {
- setPosition(this._icon, pos);
+
+ if (this._icon) {
+ setPosition(this._icon, pos);
+ }
if (this._shadow) {
setPosition(this._shadow, pos);
},
_updateZIndex: function (offset) {
- this._icon.style.zIndex = this._zIndex + offset;
+ if (this._icon) {
+ this._icon.style.zIndex = this._zIndex + offset;
+ }
},
_animateZoom: function (opt) {
setOptions(this, style);
if (this._renderer) {
this._renderer._updateStyle(this);
- if (this.options.stroke && style.hasOwnProperty('weight')) {
+ if (this.options.stroke && style && style.hasOwnProperty('weight')) {
this._updateBounds();
}
}
// @method setLatLng(latLng: LatLng): this
// Sets the position of a circle marker to a new location.
setLatLng: function (latlng) {
+ var oldLatLng = this._latlng;
this._latlng = toLatLng(latlng);
this.redraw();
- return this.fire('move', {latlng: this._latlng});
+
+ // @event move: Event
+ // Fired when the marker is moved via [`setLatLng`](#circlemarker-setlatlng). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.
+ return this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});
},
// @method getLatLng(): LatLng
* @option coordsToLatLng: Function = *
* A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s.
* The default is the `coordsToLatLng` static method.
+ *
+ * @option markersInheritOptions: Boolean = false
+ * Whether default Markers for "Point" type Features inherit from group options.
*/
initialize: function (geojson, options) {
return this.addLayer(layer);
},
- // @method resetStyle( <Path> layer ): this
+ // @method resetStyle( <Path> layer? ): this
// Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events.
+ // If `layer` is omitted, the style of all features in the current layer is reset.
resetStyle: function (layer) {
+ if (layer === undefined) {
+ return this.eachLayer(this.resetStyle, this);
+ }
// reset any custom styles
layer.options = extend({}, layer.defaultOptions);
this._setLayerStyle(layer, this.options.style);
switch (geometry.type) {
case 'Point':
latlng = _coordsToLatLng(coords);
- return pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng);
+ return _pointToLayer(pointToLayer, geojson, latlng, options);
case 'MultiPoint':
for (i = 0, len = coords.length; i < len; i++) {
latlng = _coordsToLatLng(coords[i]);
- layers.push(pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng));
+ layers.push(_pointToLayer(pointToLayer, geojson, latlng, options));
}
return new FeatureGroup(layers);
}
}
+function _pointToLayer(pointToLayerFn, geojson, latlng, options) {
+ return pointToLayerFn ?
+ pointToLayerFn(geojson, latlng) :
+ new Marker(latlng, options && options.markersInheritOptions && options);
+}
+
// @function coordsToLatLng(coords: Array): LatLng
// Creates a `LatLng` object from an array of 2 numbers (longitude, latitude)
// or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points.
};
// @namespace Marker
+// @section Other methods
// @method toGeoJSON(precision?: Number): Object
// `precision` is the number of decimal places for coordinates.
// The default value is 6 places.
addClass(vid, 'leaflet-image-layer');
if (this._zoomAnimated) { addClass(vid, 'leaflet-zoom-animated'); }
+ if (this.options.className) { addClass(vid, this.options.className); }
vid.onselectstart = falseFn;
vid.onmousemove = falseFn;
* @example
*
* ```js
- * var element = '<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" height="200" width="200"/></svg>',
- * elementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
- * L.svgOverlay(element, elementBounds).addTo(map);
+ * var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+ * svgElement.setAttribute('xmlns', "http://www.w3.org/2000/svg");
+ * svgElement.setAttribute('viewBox', "0 0 200 200");
+ * svgElement.innerHTML = '<rect width="200" height="200"/><rect x="75" y="23" width="50" height="50" style="fill:red"/><rect x="75" y="123" width="50" height="50" style="fill:#0013ff"/>';
+ * var svgElementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
+ * L.svgOverlay(svgElement, svgElementBounds).addTo(map);
* ```
*/
addClass(el, 'leaflet-image-layer');
if (this._zoomAnimated) { addClass(el, 'leaflet-zoom-animated'); }
+ if (this.options.className) { addClass(el, this.options.className); }
el.onselectstart = falseFn;
el.onmousemove = falseFn;
_initContainer: function () {
var container = this._container = document.createElement('canvas');
- on(container, 'mousemove', throttle(this._onMouseMove, 32, this), this);
+ on(container, 'mousemove', this._onMouseMove, this);
on(container, 'click dblclick mousedown mouseup contextmenu', this._onClick, this);
on(container, 'mouseout', this._handleMouseOut, this);
removeClass(this._container, 'leaflet-interactive');
this._fireEvent([layer], e, 'mouseout');
this._hoveredLayer = null;
+ this._mouseHoverThrottled = false;
}
},
_handleMouseHover: function (e, point) {
+ if (this._mouseHoverThrottled) {
+ return;
+ }
+
var layer, candidateHoveredLayer;
for (var order = this._drawFirst; order; order = order.next) {
if (this._hoveredLayer) {
this._fireEvent([this._hoveredLayer], e);
}
+
+ this._mouseHoverThrottled = true;
+ setTimeout(L.bind(function () {
+ this._mouseHoverThrottled = false;
+ }, this), 32);
},
_fireEvent: function (layers, e, type) {
'<path d="'+path+'" style="'+style+'" />'+
'</svg>';
return {
- className: 'leafet-control-locate-heading',
+ className: 'leaflet-control-locate-heading',
svg: svg,
w: w,
h: h
setView: 'untilPanOrZoom',
/** Keep the current map zoom level when setting the view and only pan. */
keepCurrentZoomLevel: false,
+ /** After activating the plugin by clicking on the icon, zoom to the selected zoom level, even when keepCurrentZoomLevel is true. Set to 'false' to disable this feature. */
+ initialZoomLevel: false,
/**
* This callback can be used to override the viewport tracking
* This function should return a LatLngBounds object.
this._map.on('zoomstart', this._onZoom, this);
this._map.on('zoomend', this._onZoomEnd, this);
if (this.options.showCompass) {
- if ('ondeviceorientationabsolute' in window) {
- L.DomEvent.on(window, 'deviceorientationabsolute', this._onDeviceOrientation, this);
- } else if ('ondeviceorientation' in window) {
- L.DomEvent.on(window, 'deviceorientation', this._onDeviceOrientation, this);
+ var oriAbs = 'ondeviceorientationabsolute' in window;
+ if (oriAbs || ('ondeviceorientation' in window)) {
+ var _this = this;
+ var deviceorientation = function () {
+ L.DomEvent.on(window, oriAbs ? 'deviceorientationabsolute' : 'deviceorientation', _this._onDeviceOrientation, _this);
+ };
+ if (DeviceOrientationEvent && typeof DeviceOrientationEvent.requestPermission === 'function') {
+ DeviceOrientationEvent.requestPermission().then(function (permissionState) {
+ if (permissionState === 'granted') {
+ deviceorientation();
+ }
+ })
+ } else {
+ deviceorientation();
+ }
}
}
}
this._event = undefined; // clear the current location so we can get back into the bounds
this.options.onLocationOutsideMapBounds(this);
} else {
+ if (this._justClicked && this.options.initialZoomLevel !== false) {
+ var f = this.options.flyTo ? this._map.flyTo : this._map.setView;
+ f.bind(this._map)([this._event.latitude, this._event.longitude], this.options.initialZoomLevel);
+ } else
if (this.options.keepCurrentZoomLevel) {
var f = this.options.flyTo ? this._map.flyTo : this._map.panTo;
f.bind(this._map)([this._event.latitude, this._event.longitude]);
*
*/
_drawCompass: function() {
+ if (!this._event) {
+ return;
+ }
+
var latlng = this._event.latlng;
if (this.options.showCompass && latlng && this._compassHeading !== null) {
this._drawCompass();
var t = this.options.strings.popup;
+ function getPopupText() {
+ if (typeof t === 'string') {
+ return L.Util.template(t, {distance: distance, unit: unit});
+ } else if (typeof t === 'function') {
+ return t({distance: distance, unit: unit});
+ } else {
+ return t;
+ }
+ }
if (this.options.showPopup && t && this._marker) {
this._marker
- .bindPopup(L.Util.template(t, {distance: distance, unit: unit}))
+ .bindPopup(getPopupText())
._popup.setLatLng(latlng);
}
if (this.options.showPopup && t && this._compass) {
this._compass
- .bindPopup(L.Util.template(t, {distance: distance, unit: unit}))
+ .bindPopup(getPopupText())
._popup.setLatLng(latlng);
}
},
if (this._event && !this._ignoreEvent) {
// If we have zoomed in and out and ended up sideways treat it as a pan
- if (!this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())) {
+ if (this._marker && !this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())) {
this._userPanned = true;
this._updateContainerStyle();
this._drawMarker();
for (var i = 0, len = numbers.length; i < len;) {
for (var d = 0; d < options.dimension; ++d, ++i) {
- var num = numbers[i];
+ var num = numbers[i].toFixed(options.precision);
var delta = num - (lastNumbers[d] || 0);
lastNumbers[d] = num;