diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json
index be24e0a6d1..8b49ef6eb1 100644
--- a/assets/layers/bike_parking/bike_parking.json
+++ b/assets/layers/bike_parking/bike_parking.json
@@ -8,7 +8,8 @@
"de": "Fahrrad-Parkplätze",
"hu": "Kerékpáros parkoló",
"it": "Parcheggio bici",
- "zh_Hant": "單車停車場"
+ "zh_Hant": "單車停車場",
+ "ru": "Велопарковка"
},
"minzoom": 17,
"source": {
@@ -35,7 +36,8 @@
"de": "Fahrrad-Parkplätze",
"hu": "Kerékpáros parkoló",
"it": "Parcheggio bici",
- "zh_Hant": "單車停車場"
+ "zh_Hant": "單車停車場",
+ "ru": "Велопарковка"
},
"tags": [
"amenity=bicycle_parking"
@@ -51,7 +53,8 @@
"de": "Fahrrad-Parkplätze",
"hu": "Kerékpáros parkoló",
"it": "Parcheggio bici",
- "zh_Hant": "單車停車場"
+ "zh_Hant": "單車停車場",
+ "ru": "Велопарковка"
}
},
"tagRenderings": [
@@ -134,7 +137,8 @@
"gl": "Cremalleira ",
"de": "Gestell
",
"zh_Hant": "車架
",
- "it": "Rastrelliera
"
+ "it": "Rastrelliera
",
+ "ru": "Стойка
"
}
},
{
@@ -147,7 +151,8 @@
"de": "Zweistufig
",
"hu": "Kétszintű
",
"zh_Hant": "兩層
",
- "it": "A due piani
"
+ "it": "A due piani
",
+ "ru": "Двухуровневая
"
}
},
{
@@ -160,7 +165,8 @@
"de": "Schuppen
",
"hu": "Fészer
",
"zh_Hant": "車棚
",
- "it": "Rimessa
"
+ "it": "Rimessa
",
+ "ru": "Навес
"
}
},
{
diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json
index 6f59d8a5cf..8029d89133 100644
--- a/assets/layers/bike_repair_station/bike_repair_station.json
+++ b/assets/layers/bike_repair_station/bike_repair_station.json
@@ -76,7 +76,8 @@
"fr": "Pompe cassée",
"gl": "Bomba de ar estragada",
"de": "Kaputte Pumpe",
- "it": "Pompa rotta"
+ "it": "Pompa rotta",
+ "ru": "Сломанный насос"
}
},
{
diff --git a/assets/layers/defibrillator/defibrillator.json b/assets/layers/defibrillator/defibrillator.json
index 4074ee963c..f5e685683c 100644
--- a/assets/layers/defibrillator/defibrillator.json
+++ b/assets/layers/defibrillator/defibrillator.json
@@ -135,7 +135,8 @@
"fr": "Librement accessible",
"nl": "Publiek toegankelijk",
"de": "Öffentlich zugänglich",
- "it": "Pubblicamente accessibile"
+ "it": "Pubblicamente accessibile",
+ "ru": "Общедоступный"
}
},
{
@@ -147,7 +148,8 @@
"fr": "Librement accessible",
"nl": "Publiek toegankelijk",
"de": "Öffentlich zugänglich",
- "it": "Pubblicamente accessibile"
+ "it": "Pubblicamente accessibile",
+ "ru": "Общедоступный"
},
"hideInAnswer": true
},
@@ -160,7 +162,8 @@
"fr": "Réservé aux clients du lieu",
"nl": "Enkel toegankelijk voor klanten",
"de": "Nur für Kunden zugänglich",
- "it": "Accessibile solo ai clienti"
+ "it": "Accessibile solo ai clienti",
+ "ru": "Доступно только для клиентов"
}
},
{
@@ -225,7 +228,8 @@
"en": "This is a normal automatic defibrillator",
"nl": "Dit is een gewone automatische defibrillator",
"fr": "C'est un défibrillateur automatique manuel",
- "it": "È un normale defibrillatore automatico"
+ "it": "È un normale defibrillatore automatico",
+ "ru": "Это обычный автоматический дефибриллятор"
}
}
]
diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json
index 7d8028e1f7..d4d1cab73e 100644
--- a/assets/layers/parking/parking.json
+++ b/assets/layers/parking/parking.json
@@ -1,170 +1,192 @@
{
- "id": "parking",
- "name": {
- "nl": "Parking"
- },
- "minzoom": 12,
- "source": {
- "osmTags": {
- "and": [
- {
- "or": [
- "amenity=parking",
- "amenity=motorcycle_parking",
- "amenity=bicycle_parking"
- ]
- }
- ]
- }
- },
- "title": {
- "render": {
- "nl": "Parking"
- },
- "mappings": [
- {
- "if": "amenity=parking",
- "then": {
- "nl": "{name:nl}"
- }
- },
- {
- "if": "amenity=motorcycle_parking",
- "then": {
- "nl": "{name}"
- }
- },
- {
- "if": "amenity=bicycle_parking",
- "then": {
- "nl": "Fietsenstalling"
- }
- }
- ]
- },
- "icon": {
- "render": "./assets/layers/parking/parking.svg"
- },
- "description": {
- "nl": "Parking"
- },
- "tagRenderings": [
- "images",
+ "id": "parking",
+ "name": {
+ "nl": "parking"
+ },
+ "minzoom": 12,
+ "source": {
+ "osmTags": {
+ "and": [
{
- "#": "Access tag",
- "render": {
- "nl": "De toegankelijkheid van dit gebied is: {access:description}"
- },
- "question": {
- "nl": "Is dit gebied toegankelijk?"
- },
- "freeform": {
- "key": "access:description"
- },
- "mappings": [
- {
- "if": {
- "and": ["access=yes", "fee="]
- },
- "then": {
- "nl": "Vrij toegankelijk"
- }
- },
- {
- "if": {
- "and": ["access=no", "fee="]
- },
- "then": {
- "nl": "Niet toegankelijk"
- }
- },
- {
- "if": {
- "and": ["access=private", "fee="]
- },
- "then": {
- "nl": "Niet toegankelijk, want privégebied"
- }
- },
- {
- "if": {
- "and": ["access=permissive", "fee="]
- },
- "then": {
- "nl": "Toegankelijk, ondanks dat het privegebied is"
- }
- },
- {
- "if": {
- "and": ["access=guided", "fee="]
- },
- "then": {
- "nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
- }
- },
- {
- "if": {
- "and": ["access=yes", "fee=yes"]
- },
- "then": {
- "nl": "Toegankelijk mits betaling"
- }
- }
- ]
- },
- {
- "#": "Operator tag",
- "render": {
- "nl": "Beheer door {operator}"
- },
- "question": {
- "nl": "Wie beheert dit pad?"
- },
- "freeform": {
- "key": "operator"
- },
- "mappings": [
- {
- "if": {
- "and": ["operator=Natuurpunt"]
- },
- "then": {
- "nl": "
Dit gebied wordt beheerd door Natuurpunt"
- }
- },
- {
- "if": {
- "and": ["operator~(n|N)atuurpunt.*"]
- },
- "then": {
- "nl": "
Dit gebied wordt beheerd door {operator}"
- },
- "hideInAnswer": true
- }
- ]
+ "or": [
+ "amenity=parking",
+ "amenity=motorcycle_parking",
+ "amenity=bicycle_parking"
+ ]
}
- ],
- "wayHandling": 1,
- "iconSize": {
- "render": "36,36,center"
+ ]
+ }
+ },
+ "title": {
+ "render": {
+ "nl": "Parking"
},
- "color": {
- "render": "#E1AD01"
- },
- "presets": [
- {
- "tags": [
- "amenity=parking",
- "amenity=motorcycle_parking",
- "amenity=bicycle_parking",
- "fixme=Toegevoegd met MapComplete, geometry nog uit te tekenen"
- ],
- "title": {
- "nl": "Paden"
- },
- "description": {
- "nl": "Voeg een ontbrekend, erkend pad toe."
- }
+ "mappings": [
+ {
+ "if": "amenity=parking",
+ "then": {
+ "nl": "{name:nl}"
}
+ },
+ {
+ "if": "amenity=motorcycle_parking",
+ "then": {
+ "nl": "{name}"
+ }
+ },
+ {
+ "if": "amenity=bicycle_parking",
+ "then": {
+ "nl": "Fietsenstalling"
+ }
+ }
]
-}
+ },
+ "icon": {
+ "render": "./assets/layers/parking/parking.svg"
+ },
+ "description": {
+ "nl": "Parking"
+ },
+ "tagRenderings": [
+ "images",
+ {
+ "#": "Access tag",
+ "render": {
+ "nl": "De toegankelijkheid van dit gebied is: {access:description}"
+ },
+ "question": {
+ "nl": "Is dit gebied toegankelijk?"
+ },
+ "freeform": {
+ "key": "access:description"
+ },
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "access=yes",
+ "fee="
+ ]
+ },
+ "then": {
+ "nl": "Vrij toegankelijk"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "access=no",
+ "fee="
+ ]
+ },
+ "then": {
+ "nl": "Niet toegankelijk"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "access=private",
+ "fee="
+ ]
+ },
+ "then": {
+ "nl": "Niet toegankelijk, want privégebied"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "access=permissive",
+ "fee="
+ ]
+ },
+ "then": {
+ "nl": "Toegankelijk, ondanks dat het privegebied is"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "access=guided",
+ "fee="
+ ]
+ },
+ "then": {
+ "nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "access=yes",
+ "fee=yes"
+ ]
+ },
+ "then": {
+ "nl": "Toegankelijk mits betaling"
+ }
+ }
+ ]
+ },
+ {
+ "#": "Operator tag",
+ "render": {
+ "nl": "Beheer door {operator}"
+ },
+ "question": {
+ "nl": "Wie beheert dit pad?"
+ },
+ "freeform": {
+ "key": "operator"
+ },
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "operator=Natuurpunt"
+ ]
+ },
+ "then": {
+ "nl": "
Dit gebied wordt beheerd door Natuurpunt"
+ }
+ },
+ {
+ "if": {
+ "and": [
+ "operator~(n|N)atuurpunt.*"
+ ]
+ },
+ "then": {
+ "nl": "
Dit gebied wordt beheerd door {operator}"
+ },
+ "hideInAnswer": true
+ }
+ ]
+ }
+ ],
+ "wayHandling": 1,
+ "iconSize": {
+ "render": "36,36,center"
+ },
+ "color": {
+ "render": "#E1AD01"
+ },
+ "presets": [
+ {
+ "tags": [
+ "amenity=parking",
+ "amenity=motorcycle_parking",
+ "amenity=bicycle_parking",
+ "fixme=Toegevoegd met MapComplete, geometry nog uit te tekenen"
+ ],
+ "title": {
+ "nl": "Paden"
+ },
+ "description": {
+ "nl": "Voeg een ontbrekend, erkend pad toe."
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/assets/layers/watermill/watermill.json b/assets/layers/watermill/watermill.json
index f2bc4c425b..02b74566e9 100644
--- a/assets/layers/watermill/watermill.json
+++ b/assets/layers/watermill/watermill.json
@@ -1,7 +1,7 @@
{
"id": "watermill",
"name": {
- "nl": "Watermolens",
+ "nl": "watermolens",
"en": "Watermill"
},
"minzoom": 12,
@@ -170,4 +170,4 @@
"color": {
"render": "#FFC0CB"
}
-}
+}
\ No newline at end of file
diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json
index 85cb3ebb28..08d6f59413 100644
--- a/assets/tagRenderings/questions.json
+++ b/assets/tagRenderings/questions.json
@@ -135,14 +135,16 @@
"question": {
"nl": "Op welke verdieping bevindt dit punt zich?",
"en": "On what level is this feature located?",
- "de": "In welchem Stockwerk befindet sich dieses Objekt?"
+ "de": "In welchem Stockwerk befindet sich dieses Objekt?",
+ "zh_Hant": "此圖徽位於哪個樓層/層級?"
},
"render": {
"en": "Located on the {level}th floor",
"nl": "Bevindt zich op de {level}de verdieping",
"de": "Befindet sich im {level}ten Stock",
"pt_BR": "Localizado no {level}o andar",
- "ru": "Расположено на {level}ом этаже"
+ "ru": "Расположено на {level}ом этаже",
+ "zh_Hant": "位於 {level} 樓"
},
"freeform": {
"key": "level",
@@ -155,7 +157,8 @@
"en": "Located underground",
"nl": "Bevindt zich ondergronds",
"pt_BR": "Localizado no subsolo",
- "ru": "Расположено под землей"
+ "ru": "Расположено под землей",
+ "zh_Hant": "位於地下"
},
"hideInAnswer": true
},
@@ -166,7 +169,8 @@
"nl": "Bevindt zich gelijkvloers",
"de": "Ist im Erdgeschoss",
"pt_BR": "Localizado no térreo",
- "ru": "Расположено на первом этаже"
+ "ru": "Расположено на первом этаже",
+ "zh_Hant": "位於 1 樓"
}
},
{
@@ -176,7 +180,8 @@
"nl": "Bevindt zich op de eerste verdieping",
"de": "Ist im ersten Stock",
"pt_BR": "Localizado no primeiro andar",
- "ru": "Расположено на первом этаже"
+ "ru": "Расположено на первом этаже",
+ "zh_Hant": "位於 2 樓"
}
}
]
diff --git a/assets/themes/cycle_infra/cycle_infra.json b/assets/themes/cycle_infra/cycle_infra.json
index bb6bbff96c..e711fdc7c2 100644
--- a/assets/themes/cycle_infra/cycle_infra.json
+++ b/assets/themes/cycle_infra/cycle_infra.json
@@ -69,7 +69,7 @@
},
"then": {
"nl": "Fietsweg",
- "en": "Bike road"
+ "en": "Cycleway"
}
},
{
@@ -89,7 +89,7 @@
{
"if": "cycleway=track",
"then": {
- "en": "Bike road next to the road",
+ "en": "Cycleway next to the road",
"nl": "Fietsweg naast de weg"
}
},
@@ -219,7 +219,7 @@
"if": "cyclestreet=yes",
"then": {
"en": "This is a cyclestreet, and a 30km/h zone.",
- "nl": "Dit is een fietstraat, en dus een 30km/h zone"
+ "nl": "Dit is een fietsstraat, en dus een 30km/h zone"
},
"addExtraTags": [
"overtaking:motor_vehicle=no",
@@ -231,7 +231,7 @@
"if": "cyclestreet=yes",
"then": {
"en": "This is a cyclestreet",
- "nl": "Dit is een fietstraat"
+ "nl": "Dit is een fietsstraat"
},
"hideInAnswer": "_country=be"
},
@@ -1326,7 +1326,7 @@
"if": "cyclestreet=yes",
"then": {
"en": "This is a cyclestreet, and a 30km/h zone.",
- "nl": "Dit is een fietstraat, en dus een 30km/h zone"
+ "nl": "Dit is een fietsstraat, en dus een 30km/h zone"
},
"addExtraTags": [
"overtaking:motor_vehicle=no",
@@ -1338,7 +1338,7 @@
"if": "cyclestreet=yes",
"then": {
"en": "This is a cyclestreet",
- "nl": "Dit is een fietstraat"
+ "nl": "Dit is een fietsstraat"
},
"hideInAnswer": "_country=be"
},
diff --git a/assets/themes/natuurpunt/natuurpunt.json b/assets/themes/natuurpunt/natuurpunt.json
index a0215ae72d..66343837e8 100644
--- a/assets/themes/natuurpunt/natuurpunt.json
+++ b/assets/themes/natuurpunt/natuurpunt.json
@@ -14,7 +14,8 @@
"en": "On this map you can find all the nature reserves that Natuurpunt offers "
},
"language": [
- "nl"
+ "nl",
+ "en"
],
"maintainer": "",
"icon": "./assets/themes/natuurpunt/natuurpunt.png",
@@ -253,4 +254,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/assets/themes/openwindpowermap/openwindpowermap.json b/assets/themes/openwindpowermap/openwindpowermap.json
index 22bba27ef9..dab725096f 100644
--- a/assets/themes/openwindpowermap/openwindpowermap.json
+++ b/assets/themes/openwindpowermap/openwindpowermap.json
@@ -23,7 +23,8 @@
{
"id": "windturbine",
"name": {
- "en": "wind turbine"
+ "en": "wind turbine",
+ "nl": "windturbine"
},
"source": {
"osmTags": "generator:source=wind"
@@ -32,7 +33,8 @@
"wayHandling": 1,
"title": {
"render": {
- "en": "wind turbine"
+ "en": "wind turbine",
+ "nl": "windturbine"
},
"mappings": [
{
@@ -122,7 +124,8 @@
"generator:source=wind"
],
"title": {
- "en": "wind turbine"
+ "en": "wind turbine",
+ "nl": "windturbine"
}
}
]
diff --git a/assets/themes/shops/shops.json b/assets/themes/shops/shops.json
index 5acddf6b79..09209f3f41 100644
--- a/assets/themes/shops/shops.json
+++ b/assets/themes/shops/shops.json
@@ -276,7 +276,8 @@
"en": "What is the email address of this shop?",
"fr": "Quelle est l'adresse électronique de ce magasin ?",
"ja": "このお店のメールアドレスは何ですか?",
- "ru": "Каков адрес электронной почты этого магазина?"
+ "ru": "Каков адрес электронной почты этого магазина?",
+ "nl": "Wat is het e-mailadres van deze winkel?"
},
"freeform": {
"key": "email",
diff --git a/langs/layers/en.json b/langs/layers/en.json
index e473112dc6..afbf4f210e 100644
--- a/langs/layers/en.json
+++ b/langs/layers/en.json
@@ -1946,5 +1946,8 @@
}
},
"description": "A visitor center offers information about a specific attraction or place of interest where it is located."
+ },
+ "watermill": {
+ "name": "Watermill"
}
}
\ No newline at end of file
diff --git a/langs/layers/ru.json b/langs/layers/ru.json
index 57fc4e05c7..4f44e3ce72 100644
--- a/langs/layers/ru.json
+++ b/langs/layers/ru.json
@@ -257,19 +257,28 @@
"name": "Станции мониторинга"
},
"bike_parking": {
+ "name": "Велопарковка",
+ "presets": {
+ "0": {
+ "title": "Велопарковка"
+ }
+ },
+ "title": {
+ "render": "Велопарковка"
+ },
"tagRenderings": {
"1": {
"question": "К какому типу относится эта велопарковка?",
"render": "Это велопарковка типа {bicycle_parking}",
"mappings": {
- "5": {
- "then": "Навес
"
+ "3": {
+ "then": "Стойка
"
},
"4": {
"then": "Двухуровневая
"
},
- "3": {
- "then": "Стойка
"
+ "5": {
+ "then": "Навес
"
}
}
},
@@ -303,28 +312,19 @@
"question": "Кто может пользоваться этой велопарковкой?",
"render": "{access}"
}
- },
- "title": {
- "render": "Велопарковка"
- },
- "presets": {
- "0": {
- "title": "Велопарковка"
- }
- },
- "name": "Велопарковка"
+ }
},
"bike_repair_station": {
"title": {
"mappings": {
+ "2": {
+ "then": "Сломанный насос"
+ },
"3": {
"then": "Велосипедный насос {name}"
},
"4": {
"then": "Велосипедный насос"
- },
- "2": {
- "then": "Сломанный насос"
}
}
},
@@ -535,6 +535,26 @@
}
},
"tagRenderings": {
+ "2": {
+ "mappings": {
+ "0": {
+ "then": "Общедоступный"
+ },
+ "1": {
+ "then": "Общедоступный"
+ },
+ "2": {
+ "then": "Доступно только для клиентов"
+ }
+ }
+ },
+ "3": {
+ "mappings": {
+ "1": {
+ "then": "Это обычный автоматический дефибриллятор"
+ }
+ }
+ },
"12": {
"render": "{opening_hours_table(opening_hours)}",
"question": "В какое время доступен этот дефибриллятор?"
@@ -551,26 +571,6 @@
},
"15": {
"render": "Дополнительная информация для экспертов OpenStreetMap: {fixme}"
- },
- "3": {
- "mappings": {
- "1": {
- "then": "Это обычный автоматический дефибриллятор"
- }
- }
- },
- "2": {
- "mappings": {
- "2": {
- "then": "Доступно только для клиентов"
- },
- "1": {
- "then": "Общедоступный"
- },
- "0": {
- "then": "Общедоступный"
- }
- }
}
}
},
diff --git a/langs/shared-questions/zh_Hant.json b/langs/shared-questions/zh_Hant.json
index 66071ff049..a73f257ca6 100644
--- a/langs/shared-questions/zh_Hant.json
+++ b/langs/shared-questions/zh_Hant.json
@@ -17,19 +17,19 @@
"render": "