forked from MapComplete/MapComplete
		
	Merge branch 'master' into develop
This commit is contained in:
		
						commit
						8d1ae657fc
					
				
					 28 changed files with 693 additions and 196 deletions
				
			
		| 
						 | 
					@ -2763,7 +2763,8 @@
 | 
				
			||||||
            "en": "<b>Type 2</b> (mennekes) outputs at most 16 A",
 | 
					            "en": "<b>Type 2</b> (mennekes) outputs at most 16 A",
 | 
				
			||||||
            "nl": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 16 A",
 | 
					            "nl": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 16 A",
 | 
				
			||||||
            "da": "<b>Type 2</b> (mennekes) udgange højst 16 A",
 | 
					            "da": "<b>Type 2</b> (mennekes) udgange højst 16 A",
 | 
				
			||||||
            "de": "<b>Typ 2</b> (Mennekes) liefert maximal 16 A"
 | 
					            "de": "<b>Typ 2</b> (Mennekes) liefert maximal 16 A",
 | 
				
			||||||
 | 
					            "ca": "<b>Tipus 2</b> (menneks) surt com a màxim a 16 A"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "path": "./assets/layers/charging_station/Type2_socket.svg",
 | 
					            "path": "./assets/layers/charging_station/Type2_socket.svg",
 | 
				
			||||||
| 
						 | 
					@ -2776,7 +2777,8 @@
 | 
				
			||||||
            "en": "<b>Type 2</b> (mennekes) outputs at most 32 A",
 | 
					            "en": "<b>Type 2</b> (mennekes) outputs at most 32 A",
 | 
				
			||||||
            "nl": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 32 A",
 | 
					            "nl": "<b>Type 2</b> (mennekes) levert een stroom van maximaal 32 A",
 | 
				
			||||||
            "da": "<b>Type 2</b> (mennekes) udgange højst 32 A",
 | 
					            "da": "<b>Type 2</b> (mennekes) udgange højst 32 A",
 | 
				
			||||||
            "de": "<b>Typ 2</b> (Mennekes) liefert maximal 32 A"
 | 
					            "de": "<b>Typ 2</b> (Mennekes) liefert maximal 32 A",
 | 
				
			||||||
 | 
					            "ca": "<b>Tipus 2</b> (menneks) surt com a màxim a 32 A"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "path": "./assets/layers/charging_station/Type2_socket.svg",
 | 
					            "path": "./assets/layers/charging_station/Type2_socket.svg",
 | 
				
			||||||
| 
						 | 
					@ -3528,7 +3530,8 @@
 | 
				
			||||||
        "en": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
					        "en": "What current do the plugs with <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> offer?",
 | 
				
			||||||
        "nl": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
					        "nl": "Welke stroom levert de stekker van type <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Een Type 2 met kabel en Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
				
			||||||
        "da": "Hvilken strømstyrke har stikkene med <div style='display: inline-block'><b><b> Tesla Supercharger (Destination)</b> (A Type 2 med kabel med Tesla-mærket)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> ?",
 | 
					        "da": "Hvilken strømstyrke har stikkene med <div style='display: inline-block'><b><b> Tesla Supercharger (Destination)</b> (A Type 2 med kabel med Tesla-mærket)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> ?",
 | 
				
			||||||
        "de": "Welche Stromstärke liefern die Stecker mit <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?"
 | 
					        "de": "Welche Stromstärke liefern die Stecker mit <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>?",
 | 
				
			||||||
 | 
					        "ca": "Quin corrent donen els endolls amb <div style='display: inline-block'><b><b>Tesla Supercharger (destinació)</b> (un tipus 2 amb cable amb la marca Tesla)</b> <img style ='amplada: 1rem; mostrar: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> oferta?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A",
 | 
					        "en": "<div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> outputs at most {socket:tesla_destination:current}A",
 | 
				
			||||||
| 
						 | 
					@ -3546,7 +3549,8 @@
 | 
				
			||||||
            "en": "<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A",
 | 
					            "en": "<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as tesla) outputs at most 16 A",
 | 
				
			||||||
            "nl": "<b>Tesla supercharger (Destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 16 A",
 | 
					            "nl": "<b>Tesla supercharger (Destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 16 A",
 | 
				
			||||||
            "da": "<b>Tesla Supercharger (Destination)</b> (A Type 2 med kabel mærket som tesla) yder højst 16 A",
 | 
					            "da": "<b>Tesla Supercharger (Destination)</b> (A Type 2 med kabel mærket som tesla) yder højst 16 A",
 | 
				
			||||||
            "de": "<b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel) liefert maximal 16 A"
 | 
					            "de": "<b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel) liefert maximal 16 A",
 | 
				
			||||||
 | 
					            "ca": "<b>Supercarregador Tesla (destinació)</b> (Un Tipus 2 amb un cable de marca Tesla) surt com a màxim a 16 A"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "path": "./assets/layers/charging_station/Type2_tethered.svg",
 | 
					            "path": "./assets/layers/charging_station/Type2_tethered.svg",
 | 
				
			||||||
| 
						 | 
					@ -3559,7 +3563,8 @@
 | 
				
			||||||
            "en": "<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A",
 | 
					            "en": "<b>Tesla Supercharger (Destination)</b> (A Type 2 with cable branded as Tesla) outputs at most 32 A",
 | 
				
			||||||
            "nl": "<b>Tesla Supercharger (Destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 32 A",
 | 
					            "nl": "<b>Tesla Supercharger (Destination</b> (Een Type 2 met kabel en Tesla-logo) levert een stroom van maximaal 32 A",
 | 
				
			||||||
            "da": "<b>Tesla Supercharger (Destination)</b> (A Type 2 med kabel af Tesla-mærket) yder højst 32 A",
 | 
					            "da": "<b>Tesla Supercharger (Destination)</b> (A Type 2 med kabel af Tesla-mærket) yder højst 32 A",
 | 
				
			||||||
            "de": "<b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla) liefert maximal 32 A"
 | 
					            "de": "<b>Tesla Supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla) liefert maximal 32 A",
 | 
				
			||||||
 | 
					            "ca": "<b>Supercarregador Tesla (destinació)</b> (Un Tipus 2 amb un cable de marca Tesla) surt com a màxim a 32 A"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": {
 | 
					          "icon": {
 | 
				
			||||||
            "path": "./assets/layers/charging_station/Type2_tethered.svg",
 | 
					            "path": "./assets/layers/charging_station/Type2_tethered.svg",
 | 
				
			||||||
| 
						 | 
					@ -4949,7 +4954,7 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Has a <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
					            "en": "Has a <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
				
			||||||
            "nl": "Heeft een <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
					            "nl": "Heeft een <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
				
			||||||
            "ca": "Té un connector <div style='display: inline-block'><b><b> Tipus 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
					            "ca": "Té un connector <div style='display: inline-block'><b><b> CCS Tipus 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
				
			||||||
            "da": "Har en <div style='display: inline-block'><b><b> Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
					            "da": "Har en <div style='display: inline-block'><b><b> Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
				
			||||||
            "de": "Hat einen <div style='display: inline-block'><b><b>Typ 2 CCS</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss",
 | 
					            "de": "Hat einen <div style='display: inline-block'><b><b>Typ 2 CCS</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss",
 | 
				
			||||||
            "es": "Tiene un conector <div style='display: inline-block'><b>Tipo 2 CCS</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
					            "es": "Tiene un conector <div style='display: inline-block'><b>Tipo 2 CCS</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
				
			||||||
| 
						 | 
					@ -4971,7 +4976,7 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Has a <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
					            "en": "Has a <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (a branded type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
 | 
				
			||||||
            "nl": "Heeft een <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
					            "nl": "Heeft een <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
				
			||||||
            "ca": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipus2_css de marca)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
					            "ca": "Té un connector <div style='display: inline-block'><b><b>CCS Tesla Supercharger </b> (un tipus2_css de marca)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
 | 
				
			||||||
            "da": "Har et <div style='display: inline-block'><b><b> Tesla Supercharger CCS-stik</b> (et mærkevarer type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> stik",
 | 
					            "da": "Har et <div style='display: inline-block'><b><b> Tesla Supercharger CCS-stik</b> (et mærkevarer type2_css)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> stik",
 | 
				
			||||||
            "de": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (Typ 2 CSS vonTesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss",
 | 
					            "de": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (Typ 2 CSS vonTesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss",
 | 
				
			||||||
            "es": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipo2_css de marca)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
					            "es": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipo2_css de marca)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -160,7 +160,7 @@
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "<h3>Wikipedia article of the name giver</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
					        "en": "<h3>Wikipedia article of the name giver</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
				
			||||||
        "nl": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
					        "nl": "<h3>Wikipedia-artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
				
			||||||
        "de": "<h3>Wikipedia Artikel zur Namensherkunft</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
					        "de": "<h3>Wikipedia Artikel zur Namensherkunft</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
				
			||||||
        "fr": "<h3>Article Wikipedia de la référence au nom</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
					        "fr": "<h3>Article Wikipedia de la référence au nom</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
 | 
				
			||||||
        "ca": "<h3> Article de la Viquipèdia del nom donant</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
					        "ca": "<h3> Article de la Viquipèdia del nom donant</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,7 +49,7 @@
 | 
				
			||||||
        "nl": "een fastfood-zaak",
 | 
					        "nl": "een fastfood-zaak",
 | 
				
			||||||
        "ru": "быстрое питание",
 | 
					        "ru": "быстрое питание",
 | 
				
			||||||
        "de": "ein Schnellimbiss",
 | 
					        "de": "ein Schnellimbiss",
 | 
				
			||||||
        "ca": "un de menjar ràpid",
 | 
					        "ca": "un negoci de menjar ràpid",
 | 
				
			||||||
        "fr": "un fast-food"
 | 
					        "fr": "un fast-food"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "tags": [
 | 
					      "tags": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,7 +78,8 @@
 | 
				
			||||||
        "fr": "Le nom de cette microbibliothèque est {name}",
 | 
					        "fr": "Le nom de cette microbibliothèque est {name}",
 | 
				
			||||||
        "ru": "Название книжного шкафа — {name}",
 | 
					        "ru": "Название книжного шкафа — {name}",
 | 
				
			||||||
        "it": "Questa microbiblioteca si chiama {name}",
 | 
					        "it": "Questa microbiblioteca si chiama {name}",
 | 
				
			||||||
        "hu": "Ennek a könyvespolcnak a neve: {name}"
 | 
					        "hu": "Ennek a könyvespolcnak a neve: {name}",
 | 
				
			||||||
 | 
					        "ca": "El nom d'aquesta prestatgeria és {name}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "What is the name of this public bookcase?",
 | 
					        "en": "What is the name of this public bookcase?",
 | 
				
			||||||
| 
						 | 
					@ -87,7 +88,8 @@
 | 
				
			||||||
        "fr": "Quel est le nom de cette microbibliothèque ?",
 | 
					        "fr": "Quel est le nom de cette microbibliothèque ?",
 | 
				
			||||||
        "ru": "Как называется этот общественный книжный шкаф?",
 | 
					        "ru": "Как называется этот общественный книжный шкаф?",
 | 
				
			||||||
        "it": "Come si chiama questa microbiblioteca pubblica?",
 | 
					        "it": "Come si chiama questa microbiblioteca pubblica?",
 | 
				
			||||||
        "hu": "Mi a neve ennek a nyilvános könyvespolcnak?"
 | 
					        "hu": "Mi a neve ennek a nyilvános könyvespolcnak?",
 | 
				
			||||||
 | 
					        "ca": "Com es diu aquesta prestatgeria pública?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "name",
 | 
					        "key": "name",
 | 
				
			||||||
| 
						 | 
					@ -108,7 +110,8 @@
 | 
				
			||||||
            "fr": "Cette microbibliothèque n'a pas de nom",
 | 
					            "fr": "Cette microbibliothèque n'a pas de nom",
 | 
				
			||||||
            "ru": "У этого книжного шкафа нет названия",
 | 
					            "ru": "У этого книжного шкафа нет названия",
 | 
				
			||||||
            "it": "Questa microbiblioteca non ha un nome proprio",
 | 
					            "it": "Questa microbiblioteca non ha un nome proprio",
 | 
				
			||||||
            "hu": "Ennek a könyvespolcnak nincs neve"
 | 
					            "hu": "Ennek a könyvespolcnak nincs neve",
 | 
				
			||||||
 | 
					            "ca": "Aquesta prestatgeria no té un nom"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
| 
						 | 
					@ -122,7 +125,8 @@
 | 
				
			||||||
        "fr": "{capacity} livres peuvent entrer dans cette microbibliothèque",
 | 
					        "fr": "{capacity} livres peuvent entrer dans cette microbibliothèque",
 | 
				
			||||||
        "it": "Questa microbiblioteca può contenere fino a {capacity} libri",
 | 
					        "it": "Questa microbiblioteca può contenere fino a {capacity} libri",
 | 
				
			||||||
        "ru": "{capacity} книг помещается в этот книжный шкаф",
 | 
					        "ru": "{capacity} книг помещается в этот книжный шкаф",
 | 
				
			||||||
        "hu": "Ezen a könyvespolcon {capacity} könyv fér el"
 | 
					        "hu": "Ezen a könyvespolcon {capacity} könyv fér el",
 | 
				
			||||||
 | 
					        "ca": "Caben {capacity} llibres en aquesta prestatgeria"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "How many books fit into this public bookcase?",
 | 
					        "en": "How many books fit into this public bookcase?",
 | 
				
			||||||
| 
						 | 
					@ -131,7 +135,8 @@
 | 
				
			||||||
        "fr": "Combien de livres peuvent entrer dans cette microbibliothèque ?",
 | 
					        "fr": "Combien de livres peuvent entrer dans cette microbibliothèque ?",
 | 
				
			||||||
        "ru": "Сколько книг помещается в этом общественном книжном шкафу?",
 | 
					        "ru": "Сколько книг помещается в этом общественном книжном шкафу?",
 | 
				
			||||||
        "it": "Quanti libri può contenere questa microbiblioteca?",
 | 
					        "it": "Quanti libri può contenere questa microbiblioteca?",
 | 
				
			||||||
        "hu": "Hány könyv fér el ezen a nyilvános könyvespolcon?"
 | 
					        "hu": "Hány könyv fér el ezen a nyilvános könyvespolcon?",
 | 
				
			||||||
 | 
					        "ca": "Quants llibres caben en aquesta prestatgeria pública?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "capacity",
 | 
					        "key": "capacity",
 | 
				
			||||||
| 
						 | 
					@ -149,7 +154,8 @@
 | 
				
			||||||
        "fr": "Quel type de livres peut-on dans cette microbibliothèque ?",
 | 
					        "fr": "Quel type de livres peut-on dans cette microbibliothèque ?",
 | 
				
			||||||
        "it": "Che tipo di libri si possono trovare in questa microbiblioteca?",
 | 
					        "it": "Che tipo di libri si possono trovare in questa microbiblioteca?",
 | 
				
			||||||
        "ru": "Какие книги можно найти в этом общественном книжном шкафу?",
 | 
					        "ru": "Какие книги можно найти в этом общественном книжном шкафу?",
 | 
				
			||||||
        "hu": "Milyen fajta könyvek találhatók ezen a közösségi könyvespolcon?"
 | 
					        "hu": "Milyen fajta könyvek találhatók ezen a közösségi könyvespolcon?",
 | 
				
			||||||
 | 
					        "ca": "Quins tipus de llibres pots trobar a aquesta prestatgeria pública?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "nl": "Deze plaats serveert vooral {books}",
 | 
					        "nl": "Deze plaats serveert vooral {books}",
 | 
				
			||||||
| 
						 | 
					@ -174,7 +180,8 @@
 | 
				
			||||||
            "ru": "В основном детские книги",
 | 
					            "ru": "В основном детские книги",
 | 
				
			||||||
            "it": "Principalmente libri per l'infanzia",
 | 
					            "it": "Principalmente libri per l'infanzia",
 | 
				
			||||||
            "hu": "Többnyire gyermekkönyvek",
 | 
					            "hu": "Többnyire gyermekkönyvek",
 | 
				
			||||||
            "es": "Mayoritariamente libros infantiles"
 | 
					            "es": "Mayoritariamente libros infantiles",
 | 
				
			||||||
 | 
					            "ca": "Majoritàriament llibres infantils"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -187,7 +194,8 @@
 | 
				
			||||||
            "ru": "В основном книги для взрослых",
 | 
					            "ru": "В основном книги для взрослых",
 | 
				
			||||||
            "it": "Principalmente libri per persone in età adulta",
 | 
					            "it": "Principalmente libri per persone in età adulta",
 | 
				
			||||||
            "hu": "Többnyire felnőtteknek szóló könyvek",
 | 
					            "hu": "Többnyire felnőtteknek szóló könyvek",
 | 
				
			||||||
            "es": "Mayoritariamente libros para adultos"
 | 
					            "es": "Mayoritariamente libros para adultos",
 | 
				
			||||||
 | 
					            "ca": "Majoritàriament llibres per a adults"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
| 
						 | 
					@ -200,7 +208,8 @@
 | 
				
			||||||
        "de": "Befindet sich der Bücherschrank im Freien?",
 | 
					        "de": "Befindet sich der Bücherschrank im Freien?",
 | 
				
			||||||
        "fr": "Cette microbiliothèque est-elle en extérieur ?",
 | 
					        "fr": "Cette microbiliothèque est-elle en extérieur ?",
 | 
				
			||||||
        "it": "Questa microbiblioteca si trova all'aperto?",
 | 
					        "it": "Questa microbiblioteca si trova all'aperto?",
 | 
				
			||||||
        "hu": "A szabadban van-e ez a könyvespolc?"
 | 
					        "hu": "A szabadban van-e ez a könyvespolc?",
 | 
				
			||||||
 | 
					        "ca": "Aquesta prestatgeria es troba a l'exterior?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -210,7 +219,8 @@
 | 
				
			||||||
            "de": "Der Bücherschrank befindet sich im Innenbereich",
 | 
					            "de": "Der Bücherschrank befindet sich im Innenbereich",
 | 
				
			||||||
            "fr": "Cette microbibliothèque est en intérieur",
 | 
					            "fr": "Cette microbibliothèque est en intérieur",
 | 
				
			||||||
            "it": "Questa microbiblioteca si trova al chiuso",
 | 
					            "it": "Questa microbiblioteca si trova al chiuso",
 | 
				
			||||||
            "hu": "Ez a könyvespolc beltérben található"
 | 
					            "hu": "Ez a könyvespolc beltérben található",
 | 
				
			||||||
 | 
					            "ca": "Aquesta prestatgeria es troba a l'interior"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "if": "indoor=yes"
 | 
					          "if": "indoor=yes"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -221,7 +231,8 @@
 | 
				
			||||||
            "de": "Dieser Bücherschrank befindet sich im Freien",
 | 
					            "de": "Dieser Bücherschrank befindet sich im Freien",
 | 
				
			||||||
            "fr": "Cette microbibliothèque est en extérieur",
 | 
					            "fr": "Cette microbibliothèque est en extérieur",
 | 
				
			||||||
            "it": "Questa microbiblioteca si trova all'aperto",
 | 
					            "it": "Questa microbiblioteca si trova all'aperto",
 | 
				
			||||||
            "hu": "Ez a könyvespolc a szabadban van"
 | 
					            "hu": "Ez a könyvespolc a szabadban van",
 | 
				
			||||||
 | 
					            "ca": "Aquesta prestatgeria es troba a l'exterior"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "if": "indoor=no"
 | 
					          "if": "indoor=no"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -249,7 +260,8 @@
 | 
				
			||||||
        "fr": "Cette microbibliothèque est-elle librement accèssible ?",
 | 
					        "fr": "Cette microbibliothèque est-elle librement accèssible ?",
 | 
				
			||||||
        "it": "Questa microbiblioteca è ad accesso libero?",
 | 
					        "it": "Questa microbiblioteca è ad accesso libero?",
 | 
				
			||||||
        "ru": "Имеется ли свободный доступ к этому общественному книжному шкафу?",
 | 
					        "ru": "Имеется ли свободный доступ к этому общественному книжному шкафу?",
 | 
				
			||||||
        "hu": "Szabadon hozzáférhető-e ez a közösségi könyvespolc?"
 | 
					        "hu": "Szabadon hozzáférhető-e ez a közösségi könyvespolc?",
 | 
				
			||||||
 | 
					        "ca": "Aquesta prestatgeria pública és de lliure accés?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "condition": "indoor=yes",
 | 
					      "condition": "indoor=yes",
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
| 
						 | 
					@ -275,7 +287,8 @@
 | 
				
			||||||
            "fr": "Accèssible aux clients",
 | 
					            "fr": "Accèssible aux clients",
 | 
				
			||||||
            "it": "L'accesso è riservato ai clienti",
 | 
					            "it": "L'accesso è riservato ai clienti",
 | 
				
			||||||
            "hu": "Csak ügyfelek használhatják",
 | 
					            "hu": "Csak ügyfelek használhatják",
 | 
				
			||||||
            "es": "Solo accesible a clientes"
 | 
					            "es": "Solo accesible a clientes",
 | 
				
			||||||
 | 
					            "ca": "Només accessible per als clients"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "if": "access=customers"
 | 
					          "if": "access=customers"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -288,7 +301,8 @@
 | 
				
			||||||
        "de": "Wer betreibt den Bücherschrank?",
 | 
					        "de": "Wer betreibt den Bücherschrank?",
 | 
				
			||||||
        "fr": "Qui entretien cette microbibliothèque ?",
 | 
					        "fr": "Qui entretien cette microbibliothèque ?",
 | 
				
			||||||
        "it": "Chi mantiene questa microbiblioteca?",
 | 
					        "it": "Chi mantiene questa microbiblioteca?",
 | 
				
			||||||
        "hu": "Ki tartja fenn ezt a nyilvános könyvespolcot?"
 | 
					        "hu": "Ki tartja fenn ezt a nyilvános könyvespolcot?",
 | 
				
			||||||
 | 
					        "ca": "Qui gestiona aquesta prestatgeria pública?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "Operated by {operator}",
 | 
					        "en": "Operated by {operator}",
 | 
				
			||||||
| 
						 | 
					@ -296,7 +310,8 @@
 | 
				
			||||||
        "de": "Betrieben von {operator}",
 | 
					        "de": "Betrieben von {operator}",
 | 
				
			||||||
        "fr": "Entretenue par {operator}",
 | 
					        "fr": "Entretenue par {operator}",
 | 
				
			||||||
        "it": "È gestita da {operator}",
 | 
					        "it": "È gestita da {operator}",
 | 
				
			||||||
        "hu": "Üzemeltető: {operator}"
 | 
					        "hu": "Üzemeltető: {operator}",
 | 
				
			||||||
 | 
					        "ca": "Gestionant per {operator}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "type": "string",
 | 
					        "type": "string",
 | 
				
			||||||
| 
						 | 
					@ -311,7 +326,8 @@
 | 
				
			||||||
        "de": "Gehört der Bücherschrank zu einem Netzwerk?",
 | 
					        "de": "Gehört der Bücherschrank zu einem Netzwerk?",
 | 
				
			||||||
        "fr": "Cette microbibliothèque fait-elle partie d'un réseau/groupe ?",
 | 
					        "fr": "Cette microbibliothèque fait-elle partie d'un réseau/groupe ?",
 | 
				
			||||||
        "it": "Questa microbiblioteca fa parte di una rete?",
 | 
					        "it": "Questa microbiblioteca fa parte di una rete?",
 | 
				
			||||||
        "hu": "Része-e egy nagyobb hálózatnak ez a nyilvános könyvespolc?"
 | 
					        "hu": "Része-e egy nagyobb hálózatnak ez a nyilvános könyvespolc?",
 | 
				
			||||||
 | 
					        "ca": "Aquesta prestatgeria pública forma part d'una xarxa més gran?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "This public bookcase is part of {brand}",
 | 
					        "en": "This public bookcase is part of {brand}",
 | 
				
			||||||
| 
						 | 
					@ -319,7 +335,8 @@
 | 
				
			||||||
        "de": "Dieser Bücherschrank ist Teil von {brand}",
 | 
					        "de": "Dieser Bücherschrank ist Teil von {brand}",
 | 
				
			||||||
        "fr": "Cette microbibliothèque fait partie du groupe {brand}",
 | 
					        "fr": "Cette microbibliothèque fait partie du groupe {brand}",
 | 
				
			||||||
        "it": "Questa microbiblioteca fa parte di {brand}",
 | 
					        "it": "Questa microbiblioteca fa parte di {brand}",
 | 
				
			||||||
        "hu": "Ez a nyilvános könyvespolc a(z) {brand} része"
 | 
					        "hu": "Ez a nyilvános könyvespolc a(z) {brand} része",
 | 
				
			||||||
 | 
					        "ca": "Aquesta prestatgeria pública forma part de {brand}"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "condition": "ref=",
 | 
					      "condition": "ref=",
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
| 
						 | 
					@ -335,7 +352,8 @@
 | 
				
			||||||
            "it": "Fa parte della rete 'Little Free Library'",
 | 
					            "it": "Fa parte della rete 'Little Free Library'",
 | 
				
			||||||
            "hu": "A „Little Free Library” hálózat része",
 | 
					            "hu": "A „Little Free Library” hálózat része",
 | 
				
			||||||
            "es": "Parte de la red 'Little Free Library'",
 | 
					            "es": "Parte de la red 'Little Free Library'",
 | 
				
			||||||
            "pl": "Część sieci \"Little Free Library\""
 | 
					            "pl": "Część sieci \"Little Free Library\"",
 | 
				
			||||||
 | 
					            "ca": "Part de la xarxa 'Little Free Library'"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "if": {
 | 
					          "if": {
 | 
				
			||||||
            "and": [
 | 
					            "and": [
 | 
				
			||||||
| 
						 | 
					@ -397,7 +415,8 @@
 | 
				
			||||||
            "de": "Dieser Bücherschrank ist nicht Teil eines größeren Netzwerks",
 | 
					            "de": "Dieser Bücherschrank ist nicht Teil eines größeren Netzwerks",
 | 
				
			||||||
            "fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe",
 | 
					            "fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe",
 | 
				
			||||||
            "it": "Questa microbiblioteca non fa parte di una rete",
 | 
					            "it": "Questa microbiblioteca non fa parte di una rete",
 | 
				
			||||||
            "hu": "Ez a könyvespolc nem része egy nagyobb hálózatnak"
 | 
					            "hu": "Ez a könyvespolc nem része egy nagyobb hálózatnak",
 | 
				
			||||||
 | 
					            "ca": "Aquesta prestatgeria no forma part d'una xarxa més gran"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "if": {
 | 
					          "if": {
 | 
				
			||||||
            "and": [
 | 
					            "and": [
 | 
				
			||||||
| 
						 | 
					@ -449,7 +468,8 @@
 | 
				
			||||||
            "fr": "Plus d'infos sur le site web",
 | 
					            "fr": "Plus d'infos sur le site web",
 | 
				
			||||||
            "ru": "Более подробная информация на сайте",
 | 
					            "ru": "Более подробная информация на сайте",
 | 
				
			||||||
            "it": "Maggiori informazioni sul sito web",
 | 
					            "it": "Maggiori informazioni sul sito web",
 | 
				
			||||||
            "hu": "További információ ezen a weboldalon"
 | 
					            "hu": "További információ ezen a weboldalon",
 | 
				
			||||||
 | 
					            "ca": "Més informació al web"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
| 
						 | 
					@ -488,7 +508,8 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Has children books",
 | 
					            "en": "Has children books",
 | 
				
			||||||
            "nl": "Kinderboeken aanwezig",
 | 
					            "nl": "Kinderboeken aanwezig",
 | 
				
			||||||
            "de": "Hat Kinderbücher"
 | 
					            "de": "Hat Kinderbücher",
 | 
				
			||||||
 | 
					            "ca": "Té llibres infantils"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "osmTags": "books~i~.*children.*"
 | 
					          "osmTags": "books~i~.*children.*"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -501,7 +522,8 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Has books for adults",
 | 
					            "en": "Has books for adults",
 | 
				
			||||||
            "nl": "Boeken voor volwassenen aanwezig",
 | 
					            "nl": "Boeken voor volwassenen aanwezig",
 | 
				
			||||||
            "de": "Hat Bücher für Erwachsene"
 | 
					            "de": "Hat Bücher für Erwachsene",
 | 
				
			||||||
 | 
					            "ca": "Té llibres per a adults"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "osmTags": "books~i~.*adults.*"
 | 
					          "osmTags": "books~i~.*adults.*"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -516,14 +538,16 @@
 | 
				
			||||||
            "en": "Indoor or outdoor",
 | 
					            "en": "Indoor or outdoor",
 | 
				
			||||||
            "de": "Innen oder Außen",
 | 
					            "de": "Innen oder Außen",
 | 
				
			||||||
            "hu": "Beltéri vagy kültéri",
 | 
					            "hu": "Beltéri vagy kültéri",
 | 
				
			||||||
            "es": "Interior o exterior"
 | 
					            "es": "Interior o exterior",
 | 
				
			||||||
 | 
					            "ca": "Interior o exterior"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Located indoors",
 | 
					            "en": "Located indoors",
 | 
				
			||||||
            "nl": "Bevindt zich binnen",
 | 
					            "nl": "Bevindt zich binnen",
 | 
				
			||||||
            "de": "Befindet sich im Innenbereich"
 | 
					            "de": "Befindet sich im Innenbereich",
 | 
				
			||||||
 | 
					            "ca": "Situat a l'interior"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "osmTags": "indoor=yes"
 | 
					          "osmTags": "indoor=yes"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -531,7 +555,8 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "nl": "Bevindt zich buiten",
 | 
					            "nl": "Bevindt zich buiten",
 | 
				
			||||||
            "en": "Located outdoors",
 | 
					            "en": "Located outdoors",
 | 
				
			||||||
            "de": "Befindet sich im Freien"
 | 
					            "de": "Befindet sich im Freien",
 | 
				
			||||||
 | 
					            "ca": "Situat a l'exterior"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "osmTags": {
 | 
					          "osmTags": {
 | 
				
			||||||
            "or": [
 | 
					            "or": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1285,7 +1285,8 @@
 | 
				
			||||||
          "icon": "./assets/layers/questions/denominations/chf/5rp-2019-800px.png",
 | 
					          "icon": "./assets/layers/questions/denominations/chf/5rp-2019-800px.png",
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "5 centimes coins are accepted",
 | 
					            "en": "5 centimes coins are accepted",
 | 
				
			||||||
            "nl": "Munten van 5 rappen worden geaccepteerd"
 | 
					            "nl": "Munten van 5 rappen worden geaccepteerd",
 | 
				
			||||||
 | 
					            "ca": "S'accepten monedes de 5 cèntims"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": "_currency!~.*CHF.*"
 | 
					          "hideInAnswer": "_currency!~.*CHF.*"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -1294,7 +1295,8 @@
 | 
				
			||||||
          "icon": "./assets/layers/questions/denominations/chf/10rp-2019-800px.png",
 | 
					          "icon": "./assets/layers/questions/denominations/chf/10rp-2019-800px.png",
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "10 centimes coins are accepted",
 | 
					            "en": "10 centimes coins are accepted",
 | 
				
			||||||
            "nl": "Munten van 10 rappen worden geaccepteerd"
 | 
					            "nl": "Munten van 10 rappen worden geaccepteerd",
 | 
				
			||||||
 | 
					            "ca": "S'accepten monedes de 10 cèntims"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": "_currency!~.*CHF.*"
 | 
					          "hideInAnswer": "_currency!~.*CHF.*"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -1303,7 +1305,8 @@
 | 
				
			||||||
          "icon": "./assets/layers/questions/denominations/chf/20rp-2019-800px.png",
 | 
					          "icon": "./assets/layers/questions/denominations/chf/20rp-2019-800px.png",
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "20 centimes coins are accepted",
 | 
					            "en": "20 centimes coins are accepted",
 | 
				
			||||||
            "nl": "Munten van 20 rappen worden geaccepteerd"
 | 
					            "nl": "Munten van 20 rappen worden geaccepteerd",
 | 
				
			||||||
 | 
					            "ca": "S'accepten monedes de 20 cèntims"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": "_currency!~.*CHF.*"
 | 
					          "hideInAnswer": "_currency!~.*CHF.*"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -2322,7 +2325,8 @@
 | 
				
			||||||
        "en": "When was this object last checked?",
 | 
					        "en": "When was this object last checked?",
 | 
				
			||||||
        "de": "Wann wurde dieses Objekt zuletzt kontrolliert?",
 | 
					        "de": "Wann wurde dieses Objekt zuletzt kontrolliert?",
 | 
				
			||||||
        "nl": "Wanneer is dit object voor het laatst gecontroleerd?",
 | 
					        "nl": "Wanneer is dit object voor het laatst gecontroleerd?",
 | 
				
			||||||
        "pl": "Kiedy ten obiekt został ostatnio sprawdzony?"
 | 
					        "pl": "Kiedy ten obiekt został ostatnio sprawdzony?",
 | 
				
			||||||
 | 
					        "ca": "Quan es va comprovar per última vegada aquest objecte?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "check_date",
 | 
					        "key": "check_date",
 | 
				
			||||||
| 
						 | 
					@ -2332,7 +2336,8 @@
 | 
				
			||||||
        "en": "This object was last checked on <b>{check_date}</b>",
 | 
					        "en": "This object was last checked on <b>{check_date}</b>",
 | 
				
			||||||
        "de": "Dieses Objekt wurde zuletzt kontrolliert am <b>{check_date}</b>",
 | 
					        "de": "Dieses Objekt wurde zuletzt kontrolliert am <b>{check_date}</b>",
 | 
				
			||||||
        "nl": "Dit object is voor het laatst gecontroleerd op <b>{check_date}</b>",
 | 
					        "nl": "Dit object is voor het laatst gecontroleerd op <b>{check_date}</b>",
 | 
				
			||||||
        "pl": "Ten obiekt był ostatnio sprawdzony <b>{check_date}</b>"
 | 
					        "pl": "Ten obiekt był ostatnio sprawdzony <b>{check_date}</b>",
 | 
				
			||||||
 | 
					        "ca": "Aquest objecte es va comprovar per darrera vegada el <b>{check_date}</b>"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -2341,7 +2346,8 @@
 | 
				
			||||||
            "en": "This object was last checked today",
 | 
					            "en": "This object was last checked today",
 | 
				
			||||||
            "de": "Dieses Objekt wurde heute zuletzt kontrolliert",
 | 
					            "de": "Dieses Objekt wurde heute zuletzt kontrolliert",
 | 
				
			||||||
            "nl": "Dit object is vandaag voor het laatst gecontroleerd",
 | 
					            "nl": "Dit object is vandaag voor het laatst gecontroleerd",
 | 
				
			||||||
            "pl": "Ten obiekt został ostatnio sprawdzony dzisiaj"
 | 
					            "pl": "Ten obiekt został ostatnio sprawdzony dzisiaj",
 | 
				
			||||||
 | 
					            "ca": "Aquest objecte es va comprovar per última vegada avui"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,8 @@
 | 
				
			||||||
      "de": "Überweg",
 | 
					      "de": "Überweg",
 | 
				
			||||||
      "nl": "Oversteekplaats",
 | 
					      "nl": "Oversteekplaats",
 | 
				
			||||||
      "pa_PK": "کراسنگ",
 | 
					      "pa_PK": "کراسنگ",
 | 
				
			||||||
      "fr": "Passage"
 | 
					      "fr": "Passage",
 | 
				
			||||||
 | 
					      "ca": "Creuament"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "presets": [
 | 
					  "presets": [
 | 
				
			||||||
| 
						 | 
					@ -42,7 +43,8 @@
 | 
				
			||||||
        "en": "a crossing",
 | 
					        "en": "a crossing",
 | 
				
			||||||
        "de": "einen Überweg",
 | 
					        "de": "einen Überweg",
 | 
				
			||||||
        "nl": "een oversteekplaats",
 | 
					        "nl": "een oversteekplaats",
 | 
				
			||||||
        "fr": "un passage"
 | 
					        "fr": "un passage",
 | 
				
			||||||
 | 
					        "ca": "un creuament"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "tags": [
 | 
					      "tags": [
 | 
				
			||||||
        "highway=footway",
 | 
					        "highway=footway",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,8 @@
 | 
				
			||||||
      "nl": "School <i>{name}</i>",
 | 
					      "nl": "School <i>{name}</i>",
 | 
				
			||||||
      "de": "Schule <i>{name}</i>",
 | 
					      "de": "Schule <i>{name}</i>",
 | 
				
			||||||
      "fr": "School <i>{name}</i>",
 | 
					      "fr": "School <i>{name}</i>",
 | 
				
			||||||
      "pl": "Szkoła <i>{name}</i>"
 | 
					      "pl": "Szkoła <i>{name}</i>",
 | 
				
			||||||
 | 
					      "ca": "Escola <i>{name}</i>"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "calculatedTags": [
 | 
					  "calculatedTags": [
 | 
				
			||||||
| 
						 | 
					@ -79,7 +80,8 @@
 | 
				
			||||||
        "en": "What level of education is given on this school?",
 | 
					        "en": "What level of education is given on this school?",
 | 
				
			||||||
        "nl": "Wat is het onderwijsniveau van deze school?",
 | 
					        "nl": "Wat is het onderwijsniveau van deze school?",
 | 
				
			||||||
        "de": "Welches Bildungsniveau wird an dieser Schule vermittelt?",
 | 
					        "de": "Welches Bildungsniveau wird an dieser Schule vermittelt?",
 | 
				
			||||||
        "fr": "Quel est le niveau d'enseignement dispensé dans cette école ?"
 | 
					        "fr": "Quel est le niveau d'enseignement dispensé dans cette école ?",
 | 
				
			||||||
 | 
					        "ca": "Quin nivell d'educació s'imparteix en aquesta escola?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -98,7 +100,8 @@
 | 
				
			||||||
            "en": "This is a school where one learns primary skills such as basic literacy and numerical skills. <div class='subtle'>Pupils typically enroll from 6 years old till 12 years old</div>",
 | 
					            "en": "This is a school where one learns primary skills such as basic literacy and numerical skills. <div class='subtle'>Pupils typically enroll from 6 years old till 12 years old</div>",
 | 
				
			||||||
            "nl": "Dit is een lagere school",
 | 
					            "nl": "Dit is een lagere school",
 | 
				
			||||||
            "de": "In dieser Schule lernt man grundlegende Fähigkeiten wie Lesen, Schreiben und Rechnen. <div class='subtle'>Schüler besuchen die Schule in der Regel im Alter von 6 bis 12 Jahren</div>",
 | 
					            "de": "In dieser Schule lernt man grundlegende Fähigkeiten wie Lesen, Schreiben und Rechnen. <div class='subtle'>Schüler besuchen die Schule in der Regel im Alter von 6 bis 12 Jahren</div>",
 | 
				
			||||||
            "fr": "C'est une école où l'on apprend les compétences primaires telles que l'alphabétisation de base et les compétences numériques.. <div class='subtle'>Les élèves s'inscrivent généralement de 6 à 12 ans.</div>"
 | 
					            "fr": "C'est une école où l'on apprend les compétences primaires telles que l'alphabétisation de base et les compétences numériques.. <div class='subtle'>Les élèves s'inscrivent généralement de 6 à 12 ans.</div>",
 | 
				
			||||||
 | 
					            "ca": "Aquesta és una escola on s'aprèn competències primàries com ara l'alfabetització bàsica i les habilitats numèriques. <div class='subtle'>Els alumnes solen matricular-se des dels 6 anys fins als 12 anys</div>"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -107,7 +110,8 @@
 | 
				
			||||||
            "en": "This is a secondary school which offers all grades",
 | 
					            "en": "This is a secondary school which offers all grades",
 | 
				
			||||||
            "nl": "Dit is een middelbare school die alle schooljaren aanbiedt (dus van het eerste tot en met het zesde middelbaar)",
 | 
					            "nl": "Dit is een middelbare school die alle schooljaren aanbiedt (dus van het eerste tot en met het zesde middelbaar)",
 | 
				
			||||||
            "de": "Dies ist eine weiterführende Schule, die alle Jahrgangsstufen anbietet",
 | 
					            "de": "Dies ist eine weiterführende Schule, die alle Jahrgangsstufen anbietet",
 | 
				
			||||||
            "fr": "C'est une école secondaire qui offre toutes les classes"
 | 
					            "fr": "C'est une école secondaire qui offre toutes les classes",
 | 
				
			||||||
 | 
					            "ca": "Aquesta és una escola secundària que ofereix tots els graus"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -234,7 +238,8 @@
 | 
				
			||||||
            "en": "This is a school where students study skills at their age-adequate level. <div>There are little or no special facilities to cater for students with special needs or facilities are ad-hoc</div>",
 | 
					            "en": "This is a school where students study skills at their age-adequate level. <div>There are little or no special facilities to cater for students with special needs or facilities are ad-hoc</div>",
 | 
				
			||||||
            "nl": "Deze school richt zich op studenten zonder extra zorgbehoefte. <div class='subtle>Dit omvat leerlingen waarbij kleine, ad-hoc maatregelen volstaan om de lessen te volgen.</div>",
 | 
					            "nl": "Deze school richt zich op studenten zonder extra zorgbehoefte. <div class='subtle>Dit omvat leerlingen waarbij kleine, ad-hoc maatregelen volstaan om de lessen te volgen.</div>",
 | 
				
			||||||
            "de": "Es handelt sich um eine Schule, in der die Schüler Fähigkeiten auf ihrem altersgemäßen Niveau erlernen. <div>Es gibt wenig oder keine speziellen Einrichtungen für Schüler mit besonderen Bedürfnissen oder die Einrichtungen sind ad-hoc</div>",
 | 
					            "de": "Es handelt sich um eine Schule, in der die Schüler Fähigkeiten auf ihrem altersgemäßen Niveau erlernen. <div>Es gibt wenig oder keine speziellen Einrichtungen für Schüler mit besonderen Bedürfnissen oder die Einrichtungen sind ad-hoc</div>",
 | 
				
			||||||
            "fr": "C'est un établissement scolaire où les étudiants acquièrent des compétences à un niveau adapté à leur âge. <div>Il y a peu ou pas d'adaptations spéciales pour aider les étudiants ayant des besoins particuliers, ou les installations sont ad-hoc</div> Remark: isn't it contradictory to say there's no special facility + the facilities are ad-hoc?"
 | 
					            "fr": "C'est un établissement scolaire où les étudiants acquièrent des compétences à un niveau adapté à leur âge. <div>Il y a peu ou pas d'adaptations spéciales pour aider les étudiants ayant des besoins particuliers, ou les installations sont ad-hoc</div> Remark: isn't it contradictory to say there's no special facility + the facilities are ad-hoc?",
 | 
				
			||||||
 | 
					            "ca": "Aquesta és una escola on els estudiants estudien habilitats al nivell adequat per a la seva edat. <div>Hi ha poques o cap instal·lació especial per atendre els estudiants amb necessitats especials o les instal·lacions són ad-hoc</div>"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": true
 | 
					          "hideInAnswer": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,8 @@
 | 
				
			||||||
    "render": {
 | 
					    "render": {
 | 
				
			||||||
      "en": "Shelter",
 | 
					      "en": "Shelter",
 | 
				
			||||||
      "de": "Unterstand",
 | 
					      "de": "Unterstand",
 | 
				
			||||||
      "nl": "Schuilplaats"
 | 
					      "nl": "Schuilplaats",
 | 
				
			||||||
 | 
					      "ca": "Refugi"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "mapRendering": [
 | 
					  "mapRendering": [
 | 
				
			||||||
| 
						 | 
					@ -90,7 +91,8 @@
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "What kind of shelter is this?",
 | 
					        "en": "What kind of shelter is this?",
 | 
				
			||||||
        "de": "Um welche Art von Unterstand handelt es sich?",
 | 
					        "de": "Um welche Art von Unterstand handelt es sich?",
 | 
				
			||||||
        "nl": "Wat voor schuilplaats is dit?"
 | 
					        "nl": "Wat voor schuilplaats is dit?",
 | 
				
			||||||
 | 
					        "ca": "Quin tipus de refugi és aquest?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "Shelter type: {shelter_type}",
 | 
					        "en": "Shelter type: {shelter_type}",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,8 @@
 | 
				
			||||||
        "ja": "このお店の名前は何ですか?",
 | 
					        "ja": "このお店の名前は何ですか?",
 | 
				
			||||||
        "nl": "Wat is de naam van deze winkel?",
 | 
					        "nl": "Wat is de naam van deze winkel?",
 | 
				
			||||||
        "de": "Wie ist der Name dieses Geschäfts?",
 | 
					        "de": "Wie ist der Name dieses Geschäfts?",
 | 
				
			||||||
        "es": "¿Cual es el nombre de esta tienda?"
 | 
					        "es": "¿Cual es el nombre de esta tienda?",
 | 
				
			||||||
 | 
					        "ca": "Quin és el nom d'aquesta botiga?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "This shop is called <i>{name}</i>",
 | 
					        "en": "This shop is called <i>{name}</i>",
 | 
				
			||||||
| 
						 | 
					@ -122,13 +123,15 @@
 | 
				
			||||||
          "en": "What kind of shop is this?",
 | 
					          "en": "What kind of shop is this?",
 | 
				
			||||||
          "nl": "Wat voor soort winkel is dit?",
 | 
					          "nl": "Wat voor soort winkel is dit?",
 | 
				
			||||||
          "de": "Um was für ein Geschäft handelt es sich?",
 | 
					          "de": "Um was für ein Geschäft handelt es sich?",
 | 
				
			||||||
          "fr": "Quel genre de magasin est-ce?"
 | 
					          "fr": "Quel genre de magasin est-ce?",
 | 
				
			||||||
 | 
					          "ca": "Quin tipus de botiga és aquesta?"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "render": {
 | 
					        "render": {
 | 
				
			||||||
          "en": "This is a {shop}",
 | 
					          "en": "This is a {shop}",
 | 
				
			||||||
          "de": "Das ist ein {shop}",
 | 
					          "de": "Das ist ein {shop}",
 | 
				
			||||||
          "fr": "C'est une {shop}",
 | 
					          "fr": "C'est une {shop}",
 | 
				
			||||||
          "nl": "Dit is een {shop}"
 | 
					          "nl": "Dit is een {shop}",
 | 
				
			||||||
 | 
					          "ca": "Açò és una {shop}"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "freeform": {
 | 
					        "freeform": {
 | 
				
			||||||
          "key": "shop",
 | 
					          "key": "shop",
 | 
				
			||||||
| 
						 | 
					@ -158,7 +161,8 @@
 | 
				
			||||||
        "en": "What paper formats does this shop offer?",
 | 
					        "en": "What paper formats does this shop offer?",
 | 
				
			||||||
        "de": "Welche Papierformate bietet das Geschäft an?",
 | 
					        "de": "Welche Papierformate bietet das Geschäft an?",
 | 
				
			||||||
        "fr": "Quels formats de papier cette boutique propose-t-elle ?",
 | 
					        "fr": "Quels formats de papier cette boutique propose-t-elle ?",
 | 
				
			||||||
        "nl": "Op welke papiergroottes kan deze zaak printen?"
 | 
					        "nl": "Op welke papiergroottes kan deze zaak printen?",
 | 
				
			||||||
 | 
					        "ca": "Quins formats de paper ofereix aquesta botiga?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "multiAnswer": true,
 | 
					      "multiAnswer": true,
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
| 
						 | 
					@ -168,7 +172,8 @@
 | 
				
			||||||
            "en": "This shop can print on papers of size A4",
 | 
					            "en": "This shop can print on papers of size A4",
 | 
				
			||||||
            "de": "Das Geschäft kann Unterlagen auf A4 Papier drucken",
 | 
					            "de": "Das Geschäft kann Unterlagen auf A4 Papier drucken",
 | 
				
			||||||
            "fr": "Cette boutique peut imprimer sur des papiers de format A4",
 | 
					            "fr": "Cette boutique peut imprimer sur des papiers de format A4",
 | 
				
			||||||
            "nl": "Deze zaak kan printen op A4-formaat"
 | 
					            "nl": "Deze zaak kan printen op A4-formaat",
 | 
				
			||||||
 | 
					            "ca": "Aquesta botiga pot imprimir en papers de mida A4"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "ifnot": "service:print:A4=no"
 | 
					          "ifnot": "service:print:A4=no"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -178,7 +183,8 @@
 | 
				
			||||||
            "en": "This shop can print on papers of size A3",
 | 
					            "en": "This shop can print on papers of size A3",
 | 
				
			||||||
            "de": "Das Geschäft kann Unterlagen auf A3 Papier drucken",
 | 
					            "de": "Das Geschäft kann Unterlagen auf A3 Papier drucken",
 | 
				
			||||||
            "fr": "Cette boutique peut imprimer sur des papiers de format A3",
 | 
					            "fr": "Cette boutique peut imprimer sur des papiers de format A3",
 | 
				
			||||||
            "nl": "Deze zaak kan printen op A3-formaat"
 | 
					            "nl": "Deze zaak kan printen op A3-formaat",
 | 
				
			||||||
 | 
					            "ca": "Aquesta botiga pot imprimir en papers de mida A3"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "ifnot": "service:print:A3=no"
 | 
					          "ifnot": "service:print:A3=no"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -188,7 +194,8 @@
 | 
				
			||||||
            "en": "This shop can print on papers of size A2",
 | 
					            "en": "This shop can print on papers of size A2",
 | 
				
			||||||
            "de": "Das Geschäft kann Unterlagen auf A2 Papier drucken",
 | 
					            "de": "Das Geschäft kann Unterlagen auf A2 Papier drucken",
 | 
				
			||||||
            "fr": "Cette boutique peut imprimer sur des papiers de format A2",
 | 
					            "fr": "Cette boutique peut imprimer sur des papiers de format A2",
 | 
				
			||||||
            "nl": "Deze zaak kan printen op A2-formaat"
 | 
					            "nl": "Deze zaak kan printen op A2-formaat",
 | 
				
			||||||
 | 
					            "ca": "Aquesta botiga pot imprimir en papers de mida A2"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "ifnot": "service:print:A2=no"
 | 
					          "ifnot": "service:print:A2=no"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -198,7 +205,8 @@
 | 
				
			||||||
            "en": "This shop can print on papers of size A1",
 | 
					            "en": "This shop can print on papers of size A1",
 | 
				
			||||||
            "de": "Das Geschäft kann Unterlagen auf A1 Papier drucken",
 | 
					            "de": "Das Geschäft kann Unterlagen auf A1 Papier drucken",
 | 
				
			||||||
            "fr": "Cette boutique peut imprimer sur des papiers de format A1",
 | 
					            "fr": "Cette boutique peut imprimer sur des papiers de format A1",
 | 
				
			||||||
            "nl": "Deze zaak kan printen op A1-formaat"
 | 
					            "nl": "Deze zaak kan printen op A1-formaat",
 | 
				
			||||||
 | 
					            "ca": "Aquesta botiga pot imprimir en papers de mida A1"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "ifnot": "service:print:A1=no"
 | 
					          "ifnot": "service:print:A1=no"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -208,7 +216,8 @@
 | 
				
			||||||
            "en": "This shop can print on papers of size A0",
 | 
					            "en": "This shop can print on papers of size A0",
 | 
				
			||||||
            "de": "Das Geschäft kann Unterlagen auf A0 Papier drucken",
 | 
					            "de": "Das Geschäft kann Unterlagen auf A0 Papier drucken",
 | 
				
			||||||
            "fr": "Cette boutique peut imprimer sur des papiers de format A0",
 | 
					            "fr": "Cette boutique peut imprimer sur des papiers de format A0",
 | 
				
			||||||
            "nl": "Deze zaak kan printen op A0-formaat"
 | 
					            "nl": "Deze zaak kan printen op A0-formaat",
 | 
				
			||||||
 | 
					            "ca": "Aquesta botiga pot imprimir en papers de mida A0"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "ifnot": "service:print:A0=no"
 | 
					          "ifnot": "service:print:A0=no"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -294,7 +303,8 @@
 | 
				
			||||||
        "nl": "een winkel",
 | 
					        "nl": "een winkel",
 | 
				
			||||||
        "de": "ein Geschäft",
 | 
					        "de": "ein Geschäft",
 | 
				
			||||||
        "eo": "Butiko",
 | 
					        "eo": "Butiko",
 | 
				
			||||||
        "es": "una tienda"
 | 
					        "es": "una tienda",
 | 
				
			||||||
 | 
					        "ca": "una botiga"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "description": {
 | 
					      "description": {
 | 
				
			||||||
        "en": "Add a new shop",
 | 
					        "en": "Add a new shop",
 | 
				
			||||||
| 
						 | 
					@ -304,7 +314,8 @@
 | 
				
			||||||
        "nl": "Voeg een nieuwe winkel toe",
 | 
					        "nl": "Voeg een nieuwe winkel toe",
 | 
				
			||||||
        "de": "Ein neues Geschäft hinzufügen",
 | 
					        "de": "Ein neues Geschäft hinzufügen",
 | 
				
			||||||
        "eo": "Enmeti novan butikon",
 | 
					        "eo": "Enmeti novan butikon",
 | 
				
			||||||
        "es": "Añadir una nueva tienda"
 | 
					        "es": "Añadir una nueva tienda",
 | 
				
			||||||
 | 
					        "ca": "Afegir una botiga nova"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
| 
						 | 
					@ -322,7 +333,8 @@
 | 
				
			||||||
          "en": "{title()} has closed down permanently",
 | 
					          "en": "{title()} has closed down permanently",
 | 
				
			||||||
          "de": "{title()} wurde dauerhaft geschlossen",
 | 
					          "de": "{title()} wurde dauerhaft geschlossen",
 | 
				
			||||||
          "es": "{title()} ha cerrado permanentemente",
 | 
					          "es": "{title()} ha cerrado permanentemente",
 | 
				
			||||||
          "fr": "{title()} a fermé définitivement"
 | 
					          "fr": "{title()} a fermé définitivement",
 | 
				
			||||||
 | 
					          "ca": "{title()} ha tancat permanentment"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "changesetMessage": "shop_closed"
 | 
					        "changesetMessage": "shop_closed"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
| 
						 | 
					@ -410,7 +422,8 @@
 | 
				
			||||||
            "de": "Nur Geschäfte, die {search} verkaufen",
 | 
					            "de": "Nur Geschäfte, die {search} verkaufen",
 | 
				
			||||||
            "nl": "Toon enkel winkels die {search} verkopen",
 | 
					            "nl": "Toon enkel winkels die {search} verkopen",
 | 
				
			||||||
            "es": "Solo mostrar tiendas que vendan {search}",
 | 
					            "es": "Solo mostrar tiendas que vendan {search}",
 | 
				
			||||||
            "fr": "N'afficher que les magasins vendant {search}"
 | 
					            "fr": "N'afficher que les magasins vendant {search}",
 | 
				
			||||||
 | 
					            "ca": "Sols mostrar botigues que venen {search}"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,8 @@
 | 
				
			||||||
  "name": {
 | 
					  "name": {
 | 
				
			||||||
    "en": "Shower",
 | 
					    "en": "Shower",
 | 
				
			||||||
    "de": "Dusche",
 | 
					    "de": "Dusche",
 | 
				
			||||||
    "fr": "Douche"
 | 
					    "fr": "Douche",
 | 
				
			||||||
 | 
					    "ca": "Dutxa"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "minzoom": 12,
 | 
					  "minzoom": 12,
 | 
				
			||||||
  "source": {
 | 
					  "source": {
 | 
				
			||||||
| 
						 | 
					@ -22,12 +23,14 @@
 | 
				
			||||||
      "title": {
 | 
					      "title": {
 | 
				
			||||||
        "en": "a shower",
 | 
					        "en": "a shower",
 | 
				
			||||||
        "de": "eine Dusche",
 | 
					        "de": "eine Dusche",
 | 
				
			||||||
        "fr": "une douche"
 | 
					        "fr": "une douche",
 | 
				
			||||||
 | 
					        "ca": "una dutxa"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "description": {
 | 
					      "description": {
 | 
				
			||||||
        "en": "A (public) shower",
 | 
					        "en": "A (public) shower",
 | 
				
			||||||
        "de": "Eine (öffentliche) Dusche",
 | 
					        "de": "Eine (öffentliche) Dusche",
 | 
				
			||||||
        "fr": "Une douche (publique)"
 | 
					        "fr": "Une douche (publique)",
 | 
				
			||||||
 | 
					        "ca": "Una dutxa (pública)"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "tags": [
 | 
					      "tags": [
 | 
				
			||||||
        "amenity=shower"
 | 
					        "amenity=shower"
 | 
				
			||||||
| 
						 | 
					@ -42,7 +45,8 @@
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "Who can use this shower?",
 | 
					        "en": "Who can use this shower?",
 | 
				
			||||||
        "de": "Wer darf diese Dusche nutzen?",
 | 
					        "de": "Wer darf diese Dusche nutzen?",
 | 
				
			||||||
        "fr": "Qui peut utiliser cette douche ?"
 | 
					        "fr": "Qui peut utiliser cette douche ?",
 | 
				
			||||||
 | 
					        "ca": "Qui pot utilitzar aquesta dutxa?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "mappings": [
 | 
					      "mappings": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -50,7 +54,8 @@
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "Anyone can use this shower",
 | 
					            "en": "Anyone can use this shower",
 | 
				
			||||||
            "de": "Jeder darf diese Dusche nutzen",
 | 
					            "de": "Jeder darf diese Dusche nutzen",
 | 
				
			||||||
            "fr": "Tout le monde peut utiliser cette douche"
 | 
					            "fr": "Tout le monde peut utiliser cette douche",
 | 
				
			||||||
 | 
					            "ca": "Qualsevol pot utilitzar aquesta dutxa"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -58,7 +63,8 @@
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "Only customers can use this shower",
 | 
					            "en": "Only customers can use this shower",
 | 
				
			||||||
            "de": "Nur Kunden dürfen diese Dusche nutzen",
 | 
					            "de": "Nur Kunden dürfen diese Dusche nutzen",
 | 
				
			||||||
            "fr": "Seuls les clients peuvent utiliser cette douche"
 | 
					            "fr": "Seuls les clients peuvent utiliser cette douche",
 | 
				
			||||||
 | 
					            "ca": "Només els clients poden utilitzar aquesta dutxa"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -66,7 +72,8 @@
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "Accesible, but one has to ask for a key",
 | 
					            "en": "Accesible, but one has to ask for a key",
 | 
				
			||||||
            "de": "Zugänglich, aber man muss nach einem Schlüssel fragen",
 | 
					            "de": "Zugänglich, aber man muss nach einem Schlüssel fragen",
 | 
				
			||||||
            "fr": "Accessible, mais il faut demander une clé"
 | 
					            "fr": "Accessible, mais il faut demander une clé",
 | 
				
			||||||
 | 
					            "ca": "Accessible, però s'ha de demanar una clau"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
| 
						 | 
					@ -109,7 +116,8 @@
 | 
				
			||||||
      "question": {
 | 
					      "question": {
 | 
				
			||||||
        "en": "How much does it cost to use this shower?",
 | 
					        "en": "How much does it cost to use this shower?",
 | 
				
			||||||
        "de": "Wie viel kostet es, diese Dusche zu nutzen?",
 | 
					        "de": "Wie viel kostet es, diese Dusche zu nutzen?",
 | 
				
			||||||
        "fr": "Quel est le prix pour utiliser cette douche ?"
 | 
					        "fr": "Quel est le prix pour utiliser cette douche ?",
 | 
				
			||||||
 | 
					        "ca": "Quant costa utilitzar aquesta dutxa?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "charge",
 | 
					        "key": "charge",
 | 
				
			||||||
| 
						 | 
					@ -117,7 +125,8 @@
 | 
				
			||||||
        "placeholder": {
 | 
					        "placeholder": {
 | 
				
			||||||
          "en": "e.g. 1.50 EUR",
 | 
					          "en": "e.g. 1.50 EUR",
 | 
				
			||||||
          "de": "z.B. 1,50 EUR",
 | 
					          "de": "z.B. 1,50 EUR",
 | 
				
			||||||
          "fr": "par ex. 1,50 EUR"
 | 
					          "fr": "par ex. 1,50 EUR",
 | 
				
			||||||
 | 
					          "ca": "p. e. 1.50 eur"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
| 
						 | 
					@ -187,7 +196,8 @@
 | 
				
			||||||
          "question": {
 | 
					          "question": {
 | 
				
			||||||
            "en": "Hot water available",
 | 
					            "en": "Hot water available",
 | 
				
			||||||
            "de": "Warmwasser verfügbar",
 | 
					            "de": "Warmwasser verfügbar",
 | 
				
			||||||
            "fr": "Eau chaude disponible"
 | 
					            "fr": "Eau chaude disponible",
 | 
				
			||||||
 | 
					            "ca": "Aigua calenta disponible"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "osmTags": {
 | 
					          "osmTags": {
 | 
				
			||||||
            "or": [
 | 
					            "or": [
 | 
				
			||||||
| 
						 | 
					@ -231,6 +241,7 @@
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "en": "A layer showing (public) showers",
 | 
					    "en": "A layer showing (public) showers",
 | 
				
			||||||
    "de": "Eine Ebene mit (öffentlichen) Duschen",
 | 
					    "de": "Eine Ebene mit (öffentlichen) Duschen",
 | 
				
			||||||
    "fr": "Une couche affichant les douches (publiques)"
 | 
					    "fr": "Une couche affichant les douches (publiques)",
 | 
				
			||||||
 | 
					    "ca": "Una capa que mostra dutxes (públiques)"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -162,7 +162,8 @@
 | 
				
			||||||
            "fr": "La surface est <b>non pavée</b>",
 | 
					            "fr": "La surface est <b>non pavée</b>",
 | 
				
			||||||
            "it": "La superficie è <b>non pavimentata</b>",
 | 
					            "it": "La superficie è <b>non pavimentata</b>",
 | 
				
			||||||
            "de": "Die Oberfläche ist <b>ohne festen Belag</b>",
 | 
					            "de": "Die Oberfläche ist <b>ohne festen Belag</b>",
 | 
				
			||||||
            "es": "La superficie está <b>sin pavimentar</b>"
 | 
					            "es": "La superficie está <b>sin pavimentar</b>",
 | 
				
			||||||
 | 
					            "ca": "La superfície és <b>sense asfaltar</b>"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": true
 | 
					          "hideInAnswer": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -289,6 +290,7 @@
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "en": "All carfree roads",
 | 
					    "en": "All carfree roads",
 | 
				
			||||||
    "nl": "Alle verkeersvrije wegen",
 | 
					    "nl": "Alle verkeersvrije wegen",
 | 
				
			||||||
    "de": "Alle autofreien Straßen"
 | 
					    "de": "Alle autofreien Straßen",
 | 
				
			||||||
 | 
					    "ca": "Totes les carreteres sense cotxe"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,20 +4,23 @@
 | 
				
			||||||
    "en": "Speed Camera",
 | 
					    "en": "Speed Camera",
 | 
				
			||||||
    "de": "Blitzer",
 | 
					    "de": "Blitzer",
 | 
				
			||||||
    "nl": "Flitspaal",
 | 
					    "nl": "Flitspaal",
 | 
				
			||||||
    "es": "Cámara de velocidad"
 | 
					    "es": "Cámara de velocidad",
 | 
				
			||||||
 | 
					    "ca": "Càmera de velocitat"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "en": "Layer showing speed cameras",
 | 
					    "en": "Layer showing speed cameras",
 | 
				
			||||||
    "de": "Ebene mit Blitzern",
 | 
					    "de": "Ebene mit Blitzern",
 | 
				
			||||||
    "nl": "Laag met flitspalen",
 | 
					    "nl": "Laag met flitspalen",
 | 
				
			||||||
    "es": "Capa con cámaras de velocidad"
 | 
					    "es": "Capa con cámaras de velocidad",
 | 
				
			||||||
 | 
					    "ca": "Capa que mostra càmeres de velocitat"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "title": {
 | 
					  "title": {
 | 
				
			||||||
    "render": {
 | 
					    "render": {
 | 
				
			||||||
      "en": "Speed Camera",
 | 
					      "en": "Speed Camera",
 | 
				
			||||||
      "de": "Blitzer",
 | 
					      "de": "Blitzer",
 | 
				
			||||||
      "nl": "Flitspaal",
 | 
					      "nl": "Flitspaal",
 | 
				
			||||||
      "es": "Cámara de velocidad"
 | 
					      "es": "Cámara de velocidad",
 | 
				
			||||||
 | 
					      "ca": "Càmera de velocitat"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "minzoom": 12,
 | 
					  "minzoom": 12,
 | 
				
			||||||
| 
						 | 
					@ -32,7 +35,8 @@
 | 
				
			||||||
        "de": "Wie hoch ist die zulässige Höchstgeschwindigkeit an diesem Blitzer?",
 | 
					        "de": "Wie hoch ist die zulässige Höchstgeschwindigkeit an diesem Blitzer?",
 | 
				
			||||||
        "nl": "Wat is de maximum toegestane snelheid bij deze flitspaal?",
 | 
					        "nl": "Wat is de maximum toegestane snelheid bij deze flitspaal?",
 | 
				
			||||||
        "es": "¿Cuál es la velocidad máxima permitida en este radar?",
 | 
					        "es": "¿Cuál es la velocidad máxima permitida en este radar?",
 | 
				
			||||||
        "fr": "Quelle est la vitesse maximale autorisée au niveau de ce radar ?"
 | 
					        "fr": "Quelle est la vitesse maximale autorisée au niveau de ce radar ?",
 | 
				
			||||||
 | 
					        "ca": "Quina és la velocitat màxima permesa en aquest radar?"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "freeform": {
 | 
					      "freeform": {
 | 
				
			||||||
        "key": "maxspeed",
 | 
					        "key": "maxspeed",
 | 
				
			||||||
| 
						 | 
					@ -42,7 +46,8 @@
 | 
				
			||||||
          "de": "Zulässige Höchstgeschwindigkeit",
 | 
					          "de": "Zulässige Höchstgeschwindigkeit",
 | 
				
			||||||
          "nl": "Maximum toegestane snelheid",
 | 
					          "nl": "Maximum toegestane snelheid",
 | 
				
			||||||
          "es": "Velocidad máxima permitida",
 | 
					          "es": "Velocidad máxima permitida",
 | 
				
			||||||
          "fr": "Vitesse maximale autorisée"
 | 
					          "fr": "Vitesse maximale autorisée",
 | 
				
			||||||
 | 
					          "ca": "Velocitat màxima permesa"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
| 
						 | 
					@ -50,7 +55,8 @@
 | 
				
			||||||
        "de": "Die zulässige Höchstgeschwindigkeit beträgt {canonical(maxspeed)}",
 | 
					        "de": "Die zulässige Höchstgeschwindigkeit beträgt {canonical(maxspeed)}",
 | 
				
			||||||
        "nl": "De maximum toegestane snelheid is {canonical(maxspeed)}",
 | 
					        "nl": "De maximum toegestane snelheid is {canonical(maxspeed)}",
 | 
				
			||||||
        "es": "La velocidad máxima permitida es {canonical(maxspeed)}",
 | 
					        "es": "La velocidad máxima permitida es {canonical(maxspeed)}",
 | 
				
			||||||
        "fr": "La vitesse maximale autorisée est {canonical(maxspeed)}"
 | 
					        "fr": "La vitesse maximale autorisée est {canonical(maxspeed)}",
 | 
				
			||||||
 | 
					        "ca": "La velocitat màxima permesa és {canonical(maxspeed)}"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -73,7 +79,8 @@
 | 
				
			||||||
        "en": "a speed camera",
 | 
					        "en": "a speed camera",
 | 
				
			||||||
        "de": "einen Blitzer",
 | 
					        "de": "einen Blitzer",
 | 
				
			||||||
        "nl": "een flitspaal",
 | 
					        "nl": "een flitspaal",
 | 
				
			||||||
        "es": "una cámara de velocidad"
 | 
					        "es": "una cámara de velocidad",
 | 
				
			||||||
 | 
					        "ca": "una càmera de velocitat"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "snapToLayer": [
 | 
					      "snapToLayer": [
 | 
				
			||||||
        "maxspeed"
 | 
					        "maxspeed"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,12 +3,14 @@
 | 
				
			||||||
  "name": {
 | 
					  "name": {
 | 
				
			||||||
    "en": "Speed Display",
 | 
					    "en": "Speed Display",
 | 
				
			||||||
    "de": "Geschwindigkeitsanzeigen",
 | 
					    "de": "Geschwindigkeitsanzeigen",
 | 
				
			||||||
    "nl": "Snelheidsdisplay"
 | 
					    "nl": "Snelheidsdisplay",
 | 
				
			||||||
 | 
					    "ca": "Radar pedagògic"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "en": "Layer showing speed displays that alert drivers of their speed.",
 | 
					    "en": "Layer showing speed displays that alert drivers of their speed.",
 | 
				
			||||||
    "de": "Ebene mit Geschwindigkeitsanzeigen, die Fahrer auf ihre Geschwindigkeit hinweisen.",
 | 
					    "de": "Ebene mit Geschwindigkeitsanzeigen, die Fahrer auf ihre Geschwindigkeit hinweisen.",
 | 
				
			||||||
    "nl": "Laag met snelheidsdisplays om bestuurders op hun snelheid te wijzen."
 | 
					    "nl": "Laag met snelheidsdisplays om bestuurders op hun snelheid te wijzen.",
 | 
				
			||||||
 | 
					    "ca": "Capa que mostra radars pedagògics que alerten als conductors de la seva velocitat."
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "title": {
 | 
					  "title": {
 | 
				
			||||||
    "render": {
 | 
					    "render": {
 | 
				
			||||||
| 
						 | 
					@ -62,13 +64,15 @@
 | 
				
			||||||
        "placeholder": {
 | 
					        "placeholder": {
 | 
				
			||||||
          "en": "Text on speed display (e.g. 'Your speed')",
 | 
					          "en": "Text on speed display (e.g. 'Your speed')",
 | 
				
			||||||
          "de": "Text auf der Geschwindigkeitsanzeige (z. B. \"Ihre Geschwindigkeit\")",
 | 
					          "de": "Text auf der Geschwindigkeitsanzeige (z. B. \"Ihre Geschwindigkeit\")",
 | 
				
			||||||
          "nl": "Tekst op snelheidsdisplay (b.v. 'Uw snelheid')"
 | 
					          "nl": "Tekst op snelheidsdisplay (b.v. 'Uw snelheid')",
 | 
				
			||||||
 | 
					          "ca": "Text al radar pedagògic (p. e. 'La seva velocitat')"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "The text on this speed display is {inscription}",
 | 
					        "en": "The text on this speed display is {inscription}",
 | 
				
			||||||
        "de": "Der Text auf dieser Geschwindigkeitsanzeige ist {inscription}",
 | 
					        "de": "Der Text auf dieser Geschwindigkeitsanzeige ist {inscription}",
 | 
				
			||||||
        "nl": "De tekst op dit snelheidsdisplay is {inscription}"
 | 
					        "nl": "De tekst op dit snelheidsdisplay is {inscription}",
 | 
				
			||||||
 | 
					        "ca": "El text a aquest radar pedagogic és {inscription}"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
| 
						 | 
					@ -77,7 +81,8 @@
 | 
				
			||||||
      "title": {
 | 
					      "title": {
 | 
				
			||||||
        "en": "a speed display",
 | 
					        "en": "a speed display",
 | 
				
			||||||
        "de": "eine Geschwindigkeitsanzeige",
 | 
					        "de": "eine Geschwindigkeitsanzeige",
 | 
				
			||||||
        "nl": "een snelheidsdisplay"
 | 
					        "nl": "een snelheidsdisplay",
 | 
				
			||||||
 | 
					        "ca": "un radar pedagògic"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "tags": [
 | 
					      "tags": [
 | 
				
			||||||
        "highway=speed_display"
 | 
					        "highway=speed_display"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -565,7 +565,8 @@
 | 
				
			||||||
        "ru": "Спортивная площадка",
 | 
					        "ru": "Спортивная площадка",
 | 
				
			||||||
        "it": "una campo sportivo",
 | 
					        "it": "una campo sportivo",
 | 
				
			||||||
        "de": "einen Sportplatz",
 | 
					        "de": "einen Sportplatz",
 | 
				
			||||||
        "es": "una pista de deportes"
 | 
					        "es": "una pista de deportes",
 | 
				
			||||||
 | 
					        "ca": "una pista d'esports"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "tags": [
 | 
					      "tags": [
 | 
				
			||||||
        "leisure=pitch",
 | 
					        "leisure=pitch",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -235,7 +235,7 @@
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "then": {
 | 
					          "then": {
 | 
				
			||||||
            "en": "A public area is surveilled, such as a street, a bridge, a square, a park, a train station, a public corridor or tunnel, …",
 | 
					            "en": "A public area is surveilled, such as a street, a bridge, a square, a park, a train station, a public corridor or tunnel, …",
 | 
				
			||||||
            "nl": "Bewaking van de publieke ruilmte, dus een straat, een brug, een park, een plein, een stationsgebouw, een publiek toegankelijke gang of tunnel…",
 | 
					            "nl": "Bewaking van de publieke ruimte, dus een straat, een brug, een park, een plein, een stationsgebouw, een publiek toegankelijke gang of tunnel…",
 | 
				
			||||||
            "fr": "Une zone publique est surveillée, telle qu'une rue, un pont, une place, un parc, une gare, un couloir, un tunnel public…",
 | 
					            "fr": "Une zone publique est surveillée, telle qu'une rue, un pont, une place, un parc, une gare, un couloir, un tunnel public…",
 | 
				
			||||||
            "it": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, ...",
 | 
					            "it": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, ...",
 | 
				
			||||||
            "de": "Die Kamera überwacht einen öffentlichen Bereich, z. B. Straßen, Brücken, Plätze, Parks, Bahnhöfe, öffentliche Gänge oder Tunnel, …",
 | 
					            "de": "Die Kamera überwacht einen öffentlichen Bereich, z. B. Straßen, Brücken, Plätze, Parks, Bahnhöfe, öffentliche Gänge oder Tunnel, …",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,8 @@
 | 
				
			||||||
      "en": "Settings",
 | 
					      "en": "Settings",
 | 
				
			||||||
      "nl": "Instellingen",
 | 
					      "nl": "Instellingen",
 | 
				
			||||||
      "de": "Einstellungen",
 | 
					      "de": "Einstellungen",
 | 
				
			||||||
      "fr": "Paramètres"
 | 
					      "fr": "Paramètres",
 | 
				
			||||||
 | 
					      "da": "Indstillinger"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "source": "special",
 | 
					  "source": "special",
 | 
				
			||||||
| 
						 | 
					@ -129,7 +130,8 @@
 | 
				
			||||||
            "cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu.",
 | 
					            "cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu.",
 | 
				
			||||||
            "ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit.",
 | 
					            "ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit.",
 | 
				
			||||||
            "es": "Las fotografías que tome tendrán una licencia con <b>CC0</b> y se agregarán al dominio público. Esto significa que todos pueden usar sus imágenes para cualquier propósito.",
 | 
					            "es": "Las fotografías que tome tendrán una licencia con <b>CC0</b> y se agregarán al dominio público. Esto significa que todos pueden usar sus imágenes para cualquier propósito.",
 | 
				
			||||||
            "pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade."
 | 
					            "pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade.",
 | 
				
			||||||
 | 
					            "da": "Billeder, som du har taget, vil blive udgivet under <b>CC0</b>-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål."
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -245,7 +247,8 @@
 | 
				
			||||||
            "en": "Allow to rotate the map",
 | 
					            "en": "Allow to rotate the map",
 | 
				
			||||||
            "de": "Drehen der Karte zulassen",
 | 
					            "de": "Drehen der Karte zulassen",
 | 
				
			||||||
            "ca": "Permet girar el mapa",
 | 
					            "ca": "Permet girar el mapa",
 | 
				
			||||||
            "fr": "Autoriser la rotation de la carte"
 | 
					            "fr": "Autoriser la rotation de la carte",
 | 
				
			||||||
 | 
					            "da": "Tillad rotation af kortet"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -261,8 +264,21 @@
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "mangrove-keys",
 | 
					      "id": "mangrove-keys",
 | 
				
			||||||
      "render": {
 | 
					      "render": {
 | 
				
			||||||
        "en": "<a href='data:application/json,{mangroveidentity}' download='mangrove_private_key_{_name}'>Download the private key for your Mangrove Account</a> <p>Anyone possessing this file can make reviews with your identity</p>",
 | 
					        "special": {
 | 
				
			||||||
        "de": "<a href='data:application/json,{mangroveidentity}' download='mangrove_private_key_{_name}'>Laden Sie den privaten Schlüssel für Ihr Mangrove-Konto herunter</a> <p>Jeder, der diese Datei besitzt, kann mit Ihrer Identität Rezensionen vornehmen</p>"
 | 
					          "type": "link",
 | 
				
			||||||
 | 
					          "href": "data:application/json,{mangroveidentity}",
 | 
				
			||||||
 | 
					          "download": "mangrove_private_key_{_name}",
 | 
				
			||||||
 | 
					          "text": {
 | 
				
			||||||
 | 
					            "en": "Download the private key for your Mangrove Account",
 | 
				
			||||||
 | 
					            "de": "Laden Sie den privaten Schlüssel für Ihr Mangrove-Konto herunter",
 | 
				
			||||||
 | 
					            "da": "Hent den private nøgle til din Mangrove-konto"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "after": {
 | 
				
			||||||
 | 
					          "en": "Anyone possessing this file can make reviews with your identity",
 | 
				
			||||||
 | 
					          "de": "Jeder, der diese Datei besitzt, kann mit Ihrer Identität Rezensionen vornehmen",
 | 
				
			||||||
 | 
					          "da": "Enhver, der har denne fil, kan lave ændringer med din identitet"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -305,7 +321,8 @@
 | 
				
			||||||
            "de": "Schaltfläche anzeigen zum schnellen Öffnen von Übersetzungen beim Verwenden von MapComplete auf einem großen Bildschirm",
 | 
					            "de": "Schaltfläche anzeigen zum schnellen Öffnen von Übersetzungen beim Verwenden von MapComplete auf einem großen Bildschirm",
 | 
				
			||||||
            "fr": "Afficher un bouton pour ouvrir rapidement les traductions lorsque vous utilisez MapComplete sur un grand écran",
 | 
					            "fr": "Afficher un bouton pour ouvrir rapidement les traductions lorsque vous utilisez MapComplete sur un grand écran",
 | 
				
			||||||
            "ca": "Mostra un botó per a obrir ràpidament les traduccions quan utilitzes MapComplet en una pantalla gran",
 | 
					            "ca": "Mostra un botó per a obrir ràpidament les traduccions quan utilitzes MapComplet en una pantalla gran",
 | 
				
			||||||
            "pt": "Mostrar um botão para abrir traduções rapidamente ao usar o MapComplete em uma tela grande"
 | 
					            "pt": "Mostrar um botão para abrir traduções rapidamente ao usar o MapComplete em uma tela grande",
 | 
				
			||||||
 | 
					            "da": "Vis en knap for hurtigt at åbne oversættelser, når du bruger MapComplete på en stor skærm"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -447,7 +464,8 @@
 | 
				
			||||||
            "ca": "Has fet {_csCount} en diferents ocasions! Això és sorprenent!",
 | 
					            "ca": "Has fet {_csCount} en diferents ocasions! Això és sorprenent!",
 | 
				
			||||||
            "fr": "Vous avez fait {_csCount} modifications ! C'est génial !",
 | 
					            "fr": "Vous avez fait {_csCount} modifications ! C'est génial !",
 | 
				
			||||||
            "pt": "Você fez alterações em {_csCount} ocasiões diferentes! Isso é incrível!",
 | 
					            "pt": "Você fez alterações em {_csCount} ocasiões diferentes! Isso é incrível!",
 | 
				
			||||||
            "nl": "Je hebt {_csCount} verschillende keren bijgedragen! Dat is indrukwekkend!"
 | 
					            "nl": "Je hebt {_csCount} verschillende keren bijgedragen! Dat is indrukwekkend!",
 | 
				
			||||||
 | 
					            "da": "Du har lavet ændringer ved {_csCount} forskellige begivenheder! Det er fantastisk!"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "icon": "party"
 | 
					          "icon": "party"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -522,7 +540,8 @@
 | 
				
			||||||
            "en": "Don't show debug info",
 | 
					            "en": "Don't show debug info",
 | 
				
			||||||
            "de": "Keine Debug-Informationen anzeigen",
 | 
					            "de": "Keine Debug-Informationen anzeigen",
 | 
				
			||||||
            "cs": "Nezobrazovat informace o ladění",
 | 
					            "cs": "Nezobrazovat informace o ladění",
 | 
				
			||||||
            "pt": "Não mostrar informações de depuração"
 | 
					            "pt": "Não mostrar informações de depuração",
 | 
				
			||||||
 | 
					            "da": "Vis ikke debug-informationer"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
          "hideInAnswer": true
 | 
					          "hideInAnswer": true
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,8 @@
 | 
				
			||||||
      "id": "turbin angin",
 | 
					      "id": "turbin angin",
 | 
				
			||||||
      "hu": "szélerőmű",
 | 
					      "hu": "szélerőmű",
 | 
				
			||||||
      "da": "vindmølle",
 | 
					      "da": "vindmølle",
 | 
				
			||||||
      "pl": "turbina wiatrowa"
 | 
					      "pl": "turbina wiatrowa",
 | 
				
			||||||
 | 
					      "ca": "Turbina eòlica"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "mappings": [
 | 
					    "mappings": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1842,13 +1842,13 @@
 | 
				
			||||||
                        "question": "Té un connector <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>"
 | 
					                        "question": "Té un connector <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "9": {
 | 
					                    "9": {
 | 
				
			||||||
                        "question": "Té un connector <div style='display: inline-block'><b><b> Tipus 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
					                        "question": "Té un connector <div style='display: inline-block'><b><b> CCS Tipus 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "10": {
 | 
					                    "10": {
 | 
				
			||||||
                        "question": "Té un connector <div style='display: inline-block'><b><b>Tipus 2 amb cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
					                        "question": "Té un connector <div style='display: inline-block'><b><b>Tipus 2 amb cable</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "11": {
 | 
					                    "11": {
 | 
				
			||||||
                        "question": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipus2_css de marca)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
					                        "question": "Té un connector <div style='display: inline-block'><b><b>CCS Tesla Supercharger </b> (un tipus2_css de marca)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "12": {
 | 
					                    "12": {
 | 
				
			||||||
                        "question": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
 | 
					                        "question": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
 | 
				
			||||||
| 
						 | 
					@ -2141,6 +2141,17 @@
 | 
				
			||||||
                "question": "Quin corrent fan els endolls amb <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
 | 
					                "question": "Quin corrent fan els endolls amb <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> offer?",
 | 
				
			||||||
                "render": "<div style='display: inline-block'><b><b>Tesla Supercharger (Destinació)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> sortida com a màxim {socket:tesla_destination:current}A"
 | 
					                "render": "<div style='display: inline-block'><b><b>Tesla Supercharger (Destinació)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> sortida com a màxim {socket:tesla_destination:current}A"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            "current-12": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "<b>Supercarregador Tesla (destinació)</b> (Un Tipus 2 amb un cable de marca Tesla) surt com a màxim a 16 A"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "<b>Supercarregador Tesla (destinació)</b> (Un Tipus 2 amb un cable de marca Tesla) surt com a màxim a 32 A"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quin corrent donen els endolls amb <div style='display: inline-block'><b><b>Tesla Supercharger (destinació)</b> (un tipus 2 amb cable amb la marca Tesla)</b> <img style ='amplada: 1rem; mostrar: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> oferta?"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "current-13": {
 | 
					            "current-13": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
| 
						 | 
					@ -2161,6 +2172,16 @@
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "question": "Quin corrent ofereixen els endolls amb <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?"
 | 
					                "question": "Quin corrent ofereixen els endolls amb <div style='display: inline-block'><b><b>Chademo</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Chademo_type4.svg'/></div>?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            "current-7": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "<b>Tipus 2</b> (menneks) surt com a màxim a 16 A"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "<b>Tipus 2</b> (menneks) surt com a màxim a 32 A"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "current-8": {
 | 
					            "current-8": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
| 
						 | 
					@ -3957,7 +3978,7 @@
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "1": {
 | 
					            "1": {
 | 
				
			||||||
                "description": "Un negoci de menjar centrat en el servei ràpid sols en mostrador i menjar per a endur",
 | 
					                "description": "Un negoci de menjar centrat en el servei ràpid sols en mostrador i menjar per a endur",
 | 
				
			||||||
                "title": "un de menjar ràpid"
 | 
					                "title": "un negoci de menjar ràpid"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "2": {
 | 
					            "2": {
 | 
				
			||||||
                "description": "Un local de menjar ràpid centrat en les patates fregides",
 | 
					                "description": "Un local de menjar ràpid centrat en les patates fregides",
 | 
				
			||||||
| 
						 | 
					@ -5586,6 +5607,35 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "public_bookcase": {
 | 
					    "public_bookcase": {
 | 
				
			||||||
 | 
					        "filter": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "options": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "question": "Té llibres infantils"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "1": {
 | 
				
			||||||
 | 
					                "options": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "question": "Té llibres per a adults"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "2": {
 | 
				
			||||||
 | 
					                "options": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "question": "Interior o exterior"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "question": "Situat a l'interior"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "question": "Situat a l'exterior"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "name": "Bústies per llibres",
 | 
					        "name": "Bústies per llibres",
 | 
				
			||||||
        "presets": {
 | 
					        "presets": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
| 
						 | 
					@ -5593,28 +5643,77 @@
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "bookcase-booktypes": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Majoritàriament llibres infantils"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Majoritàriament llibres per a adults"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quins tipus de llibres pots trobar a aquesta prestatgeria pública?"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "bookcase-is-accessible": {
 | 
					            "bookcase-is-accessible": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
                        "then": "Accessible al públic"
 | 
					                        "then": "Accessible al públic"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Només accessible per als clients"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Aquesta prestatgeria pública és de lliure accés?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "bookcase-is-indoors": {
 | 
					            "bookcase-is-indoors": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta prestatgeria es troba a l'interior"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta prestatgeria es troba a l'exterior"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                    "2": {
 | 
					                    "2": {
 | 
				
			||||||
                        "then": "La prestatgeria està ubicada a l'exterior"
 | 
					                        "then": "La prestatgeria està ubicada a l'exterior"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Aquesta prestatgeria es troba a l'exterior?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "public_bookcase-brand": {
 | 
					            "public_bookcase-brand": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Part de la xarxa 'Little Free Library'"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                    "1": {
 | 
					                    "1": {
 | 
				
			||||||
                        "then": "Aquesta prestatgeria pública no és part d'una xarxa més gran"
 | 
					                        "then": "Aquesta prestatgeria pública no és part d'una xarxa més gran"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Aquesta prestatgeria pública forma part d'una xarxa més gran?",
 | 
				
			||||||
 | 
					                "render": "Aquesta prestatgeria pública forma part de {brand}"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "public_bookcase-capacity": {
 | 
				
			||||||
 | 
					                "question": "Quants llibres caben en aquesta prestatgeria pública?",
 | 
				
			||||||
 | 
					                "render": "Caben {capacity} llibres en aquesta prestatgeria"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "public_bookcase-name": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta prestatgeria no té un nom"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Com es diu aquesta prestatgeria pública?",
 | 
				
			||||||
 | 
					                "render": "El nom d'aquesta prestatgeria és {name}"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "public_bookcase-operator": {
 | 
				
			||||||
 | 
					                "question": "Qui gestiona aquesta prestatgeria pública?",
 | 
				
			||||||
 | 
					                "render": "Gestionant per {operator}"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "public_bookcase-ref": {
 | 
					            "public_bookcase-ref": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta prestatgeria no forma part d'una xarxa més gran"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
                "question": "Quin és el número de referència d'aquesta prestatgeria pública?"
 | 
					                "question": "Quin és el número de referència d'aquesta prestatgeria pública?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "public_bookcase-start_date": {
 | 
					            "public_bookcase-start_date": {
 | 
				
			||||||
| 
						 | 
					@ -5622,7 +5721,12 @@
 | 
				
			||||||
                "render": "Instal·lat el dia {start_date}"
 | 
					                "render": "Instal·lat el dia {start_date}"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "public_bookcase-website": {
 | 
					            "public_bookcase-website": {
 | 
				
			||||||
                "question": "Hi ha algun lloc web amb més informació sobre aquesta prestatgeria pública?"
 | 
					                "question": "Hi ha algun lloc web amb més informació sobre aquesta prestatgeria pública?",
 | 
				
			||||||
 | 
					                "render": {
 | 
				
			||||||
 | 
					                    "special": {
 | 
				
			||||||
 | 
					                        "text": "Més informació al web"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "title": {
 | 
					        "title": {
 | 
				
			||||||
| 
						 | 
					@ -5636,6 +5740,15 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "questions": {
 | 
					    "questions": {
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "check_date": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquest objecte es va comprovar per última vegada avui"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quan es va comprovar per última vegada aquest objecte?",
 | 
				
			||||||
 | 
					                "render": "Aquest objecte es va comprovar per darrera vegada el <b>{check_date}</b>"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "denominations-coins": {
 | 
					            "denominations-coins": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
| 
						 | 
					@ -5661,6 +5774,15 @@
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "7": {
 | 
					                    "7": {
 | 
				
			||||||
                        "then": "S'accepten monedes de 2 euros"
 | 
					                        "then": "S'accepten monedes de 2 euros"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "8": {
 | 
				
			||||||
 | 
					                        "then": "S'accepten monedes de 5 cèntims"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "9": {
 | 
				
			||||||
 | 
					                        "then": "S'accepten monedes de 10 cèntims"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "10": {
 | 
				
			||||||
 | 
					                        "then": "S'accepten monedes de 20 cèntims"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "question": "Quines monedes es poden utilitzar per a pagar aquí?"
 | 
					                "question": "Quines monedes es poden utilitzar per a pagar aquí?"
 | 
				
			||||||
| 
						 | 
					@ -5980,7 +6102,8 @@
 | 
				
			||||||
        "name": "Pasos de vianants pintats amb l'arc de Sant Martí",
 | 
					        "name": "Pasos de vianants pintats amb l'arc de Sant Martí",
 | 
				
			||||||
        "presets": {
 | 
					        "presets": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
                "description": "Pas de vianants"
 | 
					                "description": "Pas de vianants",
 | 
				
			||||||
 | 
					                "title": "un creuament"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
| 
						 | 
					@ -5998,6 +6121,9 @@
 | 
				
			||||||
                },
 | 
					                },
 | 
				
			||||||
                "question": "Aquest pas de vianants està pintat amb l'arc de Sant Martí?"
 | 
					                "question": "Aquest pas de vianants està pintat amb l'arc de Sant Martí?"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Creuament"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "reception_desk": {
 | 
					    "reception_desk": {
 | 
				
			||||||
| 
						 | 
					@ -6302,6 +6428,12 @@
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
                        "then": "Aquesta és una escola amb una secció d’educació infantil on els més petits reben una educació que prepara la lectura i l’escriptura."
 | 
					                        "then": "Aquesta és una escola amb una secció d’educació infantil on els més petits reben una educació que prepara la lectura i l’escriptura."
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta és una escola on s'aprèn competències primàries com ara l'alfabetització bàsica i les habilitats numèriques. <div class='subtle'>Els alumnes solen matricular-se des dels 6 anys fins als 12 anys</div>"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta és una escola secundària que ofereix tots els graus"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                    "3": {
 | 
					                    "3": {
 | 
				
			||||||
                        "then": "Aquesta és una escola secundària que <i>no</i> ofereix tots els graus, però ofereix <b>primer i segon</b> grau"
 | 
					                        "then": "Aquesta és una escola secundària que <i>no</i> ofereix tots els graus, però ofereix <b>primer i segon</b> grau"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
| 
						 | 
					@ -6314,7 +6446,8 @@
 | 
				
			||||||
                    "6": {
 | 
					                    "6": {
 | 
				
			||||||
                        "then": "Aquesta escola ofereix educació post secundària (p.e. un sèptim o vuité any d'especialitzció)"
 | 
					                        "then": "Aquesta escola ofereix educació post secundària (p.e. un sèptim o vuité any d'especialitzció)"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quin nivell d'educació s'imparteix en aquesta escola?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "gender": {
 | 
					            "gender": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					@ -6349,6 +6482,9 @@
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "target-audience": {
 | 
					            "target-audience": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta és una escola on els estudiants estudien habilitats al nivell adequat per a la seva edat. <div>Hi ha poques o cap instal·lació especial per atendre els estudiants amb necessitats especials o les instal·lacions són ad-hoc</div>"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                    "1": {
 | 
					                    "1": {
 | 
				
			||||||
                        "then": "Aquesta és una escola per a estudiants sense necessitats especials <div class='subtle'> Açò inclou alumnes que poden seguir les classes amb petites mesures</div>"
 | 
					                        "then": "Aquesta és una escola per a estudiants sense necessitats especials <div class='subtle'> Açò inclou alumnes que poden seguir les classes amb petites mesures</div>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
| 
						 | 
					@ -6377,18 +6513,77 @@
 | 
				
			||||||
                "question": "Aquesta escola es dirigeix a estudiants amb necessitats especials? Quines instal·lacions estructurals té aquesta escola?",
 | 
					                "question": "Aquesta escola es dirigeix a estudiants amb necessitats especials? Quines instal·lacions estructurals té aquesta escola?",
 | 
				
			||||||
                "render": "Aquesta escola té instal·lacions per a estudiants amb {school:for}"
 | 
					                "render": "Aquesta escola té instal·lacions per a estudiants amb {school:for}"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Escola <i>{name}</i>"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "selected_element": {
 | 
					    "selected_element": {
 | 
				
			||||||
        "description": "Ressalta l'element seleccionat actualment. Anul·leu aquesta capa per tenir diferents colors"
 | 
					        "description": "Ressalta l'element seleccionat actualment. Anul·leu aquesta capa per tenir diferents colors"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "shelter": {
 | 
					    "shelter": {
 | 
				
			||||||
        "name": "Refugi"
 | 
					        "name": "Refugi",
 | 
				
			||||||
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "shelter-type": {
 | 
				
			||||||
 | 
					                "question": "Quin tipus de refugi és aquest?"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Refugi"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "shops": {
 | 
					    "shops": {
 | 
				
			||||||
 | 
					        "deletion": {
 | 
				
			||||||
 | 
					            "extraDeleteReasons": {
 | 
				
			||||||
 | 
					                "0": {
 | 
				
			||||||
 | 
					                    "explanation": "{title()} ha tancat permanentment"
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "description": "Una botiga",
 | 
					        "description": "Una botiga",
 | 
				
			||||||
 | 
					        "filter": {
 | 
				
			||||||
 | 
					            "1": {
 | 
				
			||||||
 | 
					                "options": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "question": "Sols mostrar botigues que venen {search}"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "name": "Botiga",
 | 
					        "name": "Botiga",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "description": "Afegir una botiga nova",
 | 
				
			||||||
 | 
					                "title": "una botiga"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "copyshop-print-sizes": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta botiga pot imprimir en papers de mida A4"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta botiga pot imprimir en papers de mida A3"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta botiga pot imprimir en papers de mida A2"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "3": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta botiga pot imprimir en papers de mida A1"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "4": {
 | 
				
			||||||
 | 
					                        "then": "Aquesta botiga pot imprimir en papers de mida A0"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quins formats de paper ofereix aquesta botiga?"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "id_presets.shop_types": {
 | 
				
			||||||
 | 
					                "override": {
 | 
				
			||||||
 | 
					                    "question": "Quin tipus de botiga és aquesta?",
 | 
				
			||||||
 | 
					                    "render": "Açò és una {shop}"
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "organic": {
 | 
					            "organic": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
| 
						 | 
					@ -6404,6 +6599,7 @@
 | 
				
			||||||
                "question": "Aquesta botiga ofereix productes orgànics?"
 | 
					                "question": "Aquesta botiga ofereix productes orgànics?"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "shops-name": {
 | 
					            "shops-name": {
 | 
				
			||||||
 | 
					                "question": "Quin és el nom d'aquesta botiga?",
 | 
				
			||||||
                "render": "La botiga s'anomena <i>{name}</i>"
 | 
					                "render": "La botiga s'anomena <i>{name}</i>"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
| 
						 | 
					@ -6420,8 +6616,43 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "shower": {
 | 
					    "shower": {
 | 
				
			||||||
 | 
					        "description": "Una capa que mostra dutxes (públiques)",
 | 
				
			||||||
 | 
					        "filter": {
 | 
				
			||||||
 | 
					            "1": {
 | 
				
			||||||
 | 
					                "options": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "question": "Aigua calenta disponible"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "name": "Dutxa",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "description": "Una dutxa (pública)",
 | 
				
			||||||
 | 
					                "title": "una dutxa"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "access": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Qualsevol pot utilitzar aquesta dutxa"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Només els clients poden utilitzar aquesta dutxa"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "then": "Accessible, però s'ha de demanar una clau"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Qui pot utilitzar aquesta dutxa?"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "charge": {
 | 
					            "charge": {
 | 
				
			||||||
 | 
					                "freeform": {
 | 
				
			||||||
 | 
					                    "placeholder": "p. e. 1.50 eur"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quant costa utilitzar aquesta dutxa?",
 | 
				
			||||||
                "render": "Costa {charge} utilitzar aquesta dutxa"
 | 
					                "render": "Costa {charge} utilitzar aquesta dutxa"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "fee": {
 | 
					            "fee": {
 | 
				
			||||||
| 
						 | 
					@ -6455,6 +6686,7 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "slow_roads": {
 | 
					    "slow_roads": {
 | 
				
			||||||
 | 
					        "description": "Totes les carreteres sense cotxe",
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
            "slow_roads-surface": {
 | 
					            "slow_roads-surface": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					@ -6464,6 +6696,9 @@
 | 
				
			||||||
                    "1": {
 | 
					                    "1": {
 | 
				
			||||||
                        "then": "La superfície és <b>terra</b>"
 | 
					                        "then": "La superfície és <b>terra</b>"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "then": "La superfície és <b>sense asfaltar</b>"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                    "3": {
 | 
					                    "3": {
 | 
				
			||||||
                        "then": "La superfície és <b>sorra</b>"
 | 
					                        "then": "La superfície és <b>sorra</b>"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
| 
						 | 
					@ -6472,6 +6707,25 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "speed_camera": {
 | 
					    "speed_camera": {
 | 
				
			||||||
 | 
					        "description": "Capa que mostra càmeres de velocitat",
 | 
				
			||||||
 | 
					        "name": "Càmera de velocitat",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "title": "una càmera de velocitat"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "maxspeed": {
 | 
				
			||||||
 | 
					                "freeform": {
 | 
				
			||||||
 | 
					                    "placeholder": "Velocitat màxima permesa"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quina és la velocitat màxima permesa en aquest radar?",
 | 
				
			||||||
 | 
					                "render": "La velocitat màxima permesa és {canonical(maxspeed)}"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Càmera de velocitat"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "units": {
 | 
					        "units": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
                "applicableUnits": {
 | 
					                "applicableUnits": {
 | 
				
			||||||
| 
						 | 
					@ -6488,9 +6742,20 @@
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "speed_display": {
 | 
					    "speed_display": {
 | 
				
			||||||
 | 
					        "description": "Capa que mostra radars pedagògics que alerten als conductors de la seva velocitat.",
 | 
				
			||||||
 | 
					        "name": "Radar pedagògic",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "0": {
 | 
				
			||||||
 | 
					                "title": "un radar pedagògic"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
            "inscription": {
 | 
					            "inscription": {
 | 
				
			||||||
                "question": "Quin text es mostra al radar pedagògic?"
 | 
					                "freeform": {
 | 
				
			||||||
 | 
					                    "placeholder": "Text al radar pedagògic (p. e. 'La seva velocitat')"
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "question": "Quin text es mostra al radar pedagògic?",
 | 
				
			||||||
 | 
					                "render": "El text a aquest radar pedagogic és {inscription}"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "maxspeed": {
 | 
					            "maxspeed": {
 | 
				
			||||||
                "render": "La velocitat màxima permesa a aquest radar pedagògic és {canonical(maxspeed)}"
 | 
					                "render": "La velocitat màxima permesa a aquest radar pedagògic és {canonical(maxspeed)}"
 | 
				
			||||||
| 
						 | 
					@ -6541,6 +6806,11 @@
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "name": "Camps d'esports",
 | 
					        "name": "Camps d'esports",
 | 
				
			||||||
 | 
					        "presets": {
 | 
				
			||||||
 | 
					            "1": {
 | 
				
			||||||
 | 
					                "title": "una pista d'esports"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
            "sport-pitch-access": {
 | 
					            "sport-pitch-access": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					@ -7607,7 +7877,8 @@
 | 
				
			||||||
                "0": {
 | 
					                "0": {
 | 
				
			||||||
                    "then": "{name}"
 | 
					                    "then": "{name}"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            },
 | 
				
			||||||
 | 
					            "render": "Turbina eòlica"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "units": {
 | 
					        "units": {
 | 
				
			||||||
            "0": {
 | 
					            "0": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2951,6 +2951,42 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "usersettings": {
 | 
					    "usersettings": {
 | 
				
			||||||
        "tagRenderings": {
 | 
					        "tagRenderings": {
 | 
				
			||||||
 | 
					            "cscount-thanks": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Du har lavet ændringer ved {_csCount} forskellige begivenheder! Det er fantastisk!"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "fixate-north": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "0": {
 | 
				
			||||||
 | 
					                        "then": "Tillad rotation af kortet"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "mangrove-keys": {
 | 
				
			||||||
 | 
					                "render": {
 | 
				
			||||||
 | 
					                    "after": "Enhver, der har denne fil, kan lave ændringer med din identitet",
 | 
				
			||||||
 | 
					                    "special": {
 | 
				
			||||||
 | 
					                        "text": "Hent den private nøgle til din Mangrove-konto"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "picture-license": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Billeder, som du har taget, vil blive udgivet under <b>CC0</b>-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål."
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "show_debug": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "2": {
 | 
				
			||||||
 | 
					                        "then": "Vis ikke debug-informationer"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "translation-completeness": {
 | 
					            "translation-completeness": {
 | 
				
			||||||
                "render": "Oversættelser for {_theme} i {_language} er på {_translation_percentage}%: {_translation_translated_count} strenge ud af {_translation_total} er oversat"
 | 
					                "render": "Oversættelser for {_theme} i {_language} er på {_translation_percentage}%: {_translation_translated_count} strenge ud af {_translation_total} er oversat"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
| 
						 | 
					@ -2960,8 +2996,18 @@
 | 
				
			||||||
                        "then": "Klik på 'oversæt'-ikonet ved siden af en streng for at indtaste eller opdatere et stykke tekst. Du skal have en Weblate-konto for at kunne gøre dette. Opret en med dit OSM-brugernavn for automatisk at låse oversættelsestilstanden op."
 | 
					                        "then": "Klik på 'oversæt'-ikonet ved siden af en streng for at indtaste eller opdatere et stykke tekst. Du skal have en Weblate-konto for at kunne gøre dette. Opret en med dit OSM-brugernavn for automatisk at låse oversættelsestilstanden op."
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "translation-mode": {
 | 
				
			||||||
 | 
					                "mappings": {
 | 
				
			||||||
 | 
					                    "1": {
 | 
				
			||||||
 | 
					                        "then": "Vis en knap for hurtigt at åbne oversættelser, når du bruger MapComplete på en stor skærm"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "title": {
 | 
				
			||||||
 | 
					            "render": "Indstillinger"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "veterinary": {
 | 
					    "veterinary": {
 | 
				
			||||||
        "name": "dyrlæge",
 | 
					        "name": "dyrlæge",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9592,7 +9592,12 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "mangrove-keys": {
 | 
					            "mangrove-keys": {
 | 
				
			||||||
                "render": "<a href='data:application/json,{mangroveidentity}' download='mangrove_private_key_{_name}'>Laden Sie den privaten Schlüssel für Ihr Mangrove-Konto herunter</a> <p>Jeder, der diese Datei besitzt, kann mit Ihrer Identität Rezensionen vornehmen</p>"
 | 
					                "render": {
 | 
				
			||||||
 | 
					                    "after": "Jeder, der diese Datei besitzt, kann mit Ihrer Identität Rezensionen vornehmen",
 | 
				
			||||||
 | 
					                    "special": {
 | 
				
			||||||
 | 
					                        "text": "Laden Sie den privaten Schlüssel für Ihr Mangrove-Konto herunter"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "picture-license": {
 | 
					            "picture-license": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9680,7 +9680,12 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "mangrove-keys": {
 | 
					            "mangrove-keys": {
 | 
				
			||||||
                "render": "<a href='data:application/json,{mangroveidentity}' download='mangrove_private_key_{_name}'>Download the private key for your Mangrove Account</a> <p>Anyone possessing this file can make reviews with your identity</p>"
 | 
					                "render": {
 | 
				
			||||||
 | 
					                    "after": "Anyone possessing this file can make reviews with your identity",
 | 
				
			||||||
 | 
					                    "special": {
 | 
				
			||||||
 | 
					                        "text": "Download the private key for your Mangrove Account"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "picture-license": {
 | 
					            "picture-license": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4279,7 +4279,7 @@
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "wikipedia-etymology": {
 | 
					            "wikipedia-etymology": {
 | 
				
			||||||
                "question": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
 | 
					                "question": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
 | 
				
			||||||
                "render": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
					                "render": "<h3>Wikipedia-artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "zoeken op inventaris onroerend erfgoed": {
 | 
					            "zoeken op inventaris onroerend erfgoed": {
 | 
				
			||||||
                "render": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Zoeken op inventaris onroerend erfgoed</a>"
 | 
					                "render": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Zoeken op inventaris onroerend erfgoed</a>"
 | 
				
			||||||
| 
						 | 
					@ -8135,7 +8135,7 @@
 | 
				
			||||||
            "Surveillance type: public, outdoor, indoor": {
 | 
					            "Surveillance type: public, outdoor, indoor": {
 | 
				
			||||||
                "mappings": {
 | 
					                "mappings": {
 | 
				
			||||||
                    "0": {
 | 
					                    "0": {
 | 
				
			||||||
                        "then": "Bewaking van de publieke ruilmte, dus een straat, een brug, een park, een plein, een stationsgebouw, een publiek toegankelijke gang of tunnel…"
 | 
					                        "then": "Bewaking van de publieke ruimte, dus een straat, een brug, een park, een plein, een stationsgebouw, een publiek toegankelijke gang of tunnel…"
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    "1": {
 | 
					                    "1": {
 | 
				
			||||||
                        "then": "Een buitenruimte met privaat karakter (zoals een privé-oprit, een parking, tankstation, …)"
 | 
					                        "then": "Een buitenruimte met privaat karakter (zoals een privé-oprit, een parking, tankstation, …)"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -132,6 +132,9 @@ export class TagUtils {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Given multiple tagsfilters which can be used as answer, will take the tags with the same keys together as set.
 | 
					     * Given multiple tagsfilters which can be used as answer, will take the tags with the same keys together as set.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @see MatchesMultiAnswer to do the reverse
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * E.g:
 | 
					     * E.g:
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * const tag = TagUtils.ParseUploadableTag({"and": [
 | 
					     * const tag = TagUtils.ParseUploadableTag({"and": [
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -243,7 +243,10 @@ export default class TagRenderingConfig {
 | 
				
			||||||
                if (txt === "") {
 | 
					                if (txt === "") {
 | 
				
			||||||
                    throw context + " Rendering for language " + ln + " is empty"
 | 
					                    throw context + " Rendering for language " + ln + " is empty"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (txt.indexOf("{" + this.freeform.key + "}") >= 0 || txt.indexOf("&LBRACE" + this.freeform.key + "&RBRACE") ) {
 | 
					                if (
 | 
				
			||||||
 | 
					                    txt.indexOf("{" + this.freeform.key + "}") >= 0 ||
 | 
				
			||||||
 | 
					                    txt.indexOf("&LBRACE" + this.freeform.key + "&RBRACE")
 | 
				
			||||||
 | 
					                ) {
 | 
				
			||||||
                    continue
 | 
					                    continue
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (txt.indexOf("{" + this.freeform.key + ":") >= 0) {
 | 
					                if (txt.indexOf("{" + this.freeform.key + ":") >= 0) {
 | 
				
			||||||
| 
						 | 
					@ -645,6 +648,16 @@ export default class TagRenderingConfig {
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Given a value for the freeform key and an overview of the selected mappings, construct the correct tagsFilter to apply
 | 
					     * Given a value for the freeform key and an overview of the selected mappings, construct the correct tagsFilter to apply
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 | 
					     * const config = new TagRenderingConfig({"id":"bookcase-booktypes","render":{"en":"This place mostly serves {books}" },
 | 
				
			||||||
 | 
					     * "question":{"en":"What kind of books can be found in this public bookcase?"},
 | 
				
			||||||
 | 
					     * "freeform":{"key":"books","addExtraTags":["fixme=Freeform tag `books` used, to be doublechecked"],
 | 
				
			||||||
 | 
					     * "inline":true},
 | 
				
			||||||
 | 
					     * "multiAnswer":true,
 | 
				
			||||||
 | 
					     * "mappings":[{"if":"books=children","then":"Mostly children books"},
 | 
				
			||||||
 | 
					     * {"if":"books=adults","then": "Mostly books for adults"}]}
 | 
				
			||||||
 | 
					     * , "testcase")
 | 
				
			||||||
 | 
					     * config.constructChangeSpecification(undefined, undefined, [false, true, false], {amenity: "public_bookcase"}) // => new And([new Tag("books","adults")])
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @param freeformValue The freeform value which will be applied as 'freeform.key'. Ignored if 'freeform.key' is not set
 | 
					     * @param freeformValue The freeform value which will be applied as 'freeform.key'. Ignored if 'freeform.key' is not set
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param singleSelectedMapping (Only used if multiAnswer == false): the single mapping to apply. Use (mappings.length) for the freeform
 | 
					     * @param singleSelectedMapping (Only used if multiAnswer == false): the single mapping to apply. Use (mappings.length) for the freeform
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,18 +1,22 @@
 | 
				
			||||||
import Translations from "../i18n/Translations"
 | 
					import Translations from "../i18n/Translations"
 | 
				
			||||||
import BaseUIElement from "../BaseUIElement"
 | 
					import BaseUIElement from "../BaseUIElement"
 | 
				
			||||||
import { Store } from "../../Logic/UIEventSource"
 | 
					import { Store } from "../../Logic/UIEventSource"
 | 
				
			||||||
 | 
					import { Utils } from "../../Utils"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class Link extends BaseUIElement {
 | 
					export default class Link extends BaseUIElement {
 | 
				
			||||||
    private readonly _href: string | Store<string>
 | 
					    private readonly _href: string | Store<string>
 | 
				
			||||||
    private readonly _embeddedShow: BaseUIElement
 | 
					    private readonly _embeddedShow: BaseUIElement
 | 
				
			||||||
    private readonly _newTab: boolean
 | 
					    private readonly _newTab: boolean
 | 
				
			||||||
 | 
					    private readonly _download: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor(
 | 
					    constructor(
 | 
				
			||||||
        embeddedShow: BaseUIElement | string,
 | 
					        embeddedShow: BaseUIElement | string,
 | 
				
			||||||
        href: string | Store<string>,
 | 
					        href: string | Store<string>,
 | 
				
			||||||
        newTab: boolean = false
 | 
					        newTab: boolean = false,
 | 
				
			||||||
 | 
					        download: string = undefined
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
        super()
 | 
					        super()
 | 
				
			||||||
 | 
					        this._download = download
 | 
				
			||||||
        this._embeddedShow = Translations.W(embeddedShow)
 | 
					        this._embeddedShow = Translations.W(embeddedShow)
 | 
				
			||||||
        this._href = href
 | 
					        this._href = href
 | 
				
			||||||
        this._newTab = newTab
 | 
					        this._newTab = newTab
 | 
				
			||||||
| 
						 | 
					@ -58,6 +62,9 @@ export default class Link extends BaseUIElement {
 | 
				
			||||||
        if (this._newTab) {
 | 
					        if (this._newTab) {
 | 
				
			||||||
            el.target = "_blank"
 | 
					            el.target = "_blank"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if (this._download) {
 | 
				
			||||||
 | 
					            el.download = this._download
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        el.appendChild(embeddedShow)
 | 
					        el.appendChild(embeddedShow)
 | 
				
			||||||
        return el
 | 
					        return el
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,76 +1,114 @@
 | 
				
			||||||
<script lang="ts">
 | 
					<script lang="ts">
 | 
				
			||||||
  import { Store, UIEventSource } from "../../../Logic/UIEventSource"
 | 
					  import { UIEventSource } from "../../../Logic/UIEventSource";
 | 
				
			||||||
  import type { SpecialVisualizationState } from "../../SpecialVisualization"
 | 
					  import type { SpecialVisualizationState } from "../../SpecialVisualization";
 | 
				
			||||||
  import Tr from "../../Base/Tr.svelte"
 | 
					  import Tr from "../../Base/Tr.svelte";
 | 
				
			||||||
  import type { Feature } from "geojson"
 | 
					  import type { Feature } from "geojson";
 | 
				
			||||||
  import type { Mapping } from "../../../Models/ThemeConfig/TagRenderingConfig"
 | 
					  import type { Mapping } from "../../../Models/ThemeConfig/TagRenderingConfig";
 | 
				
			||||||
  import TagRenderingConfig from "../../../Models/ThemeConfig/TagRenderingConfig"
 | 
					  import TagRenderingConfig from "../../../Models/ThemeConfig/TagRenderingConfig";
 | 
				
			||||||
  import { TagsFilter } from "../../../Logic/Tags/TagsFilter"
 | 
					  import { TagsFilter } from "../../../Logic/Tags/TagsFilter";
 | 
				
			||||||
  import FreeformInput from "./FreeformInput.svelte"
 | 
					  import FreeformInput from "./FreeformInput.svelte";
 | 
				
			||||||
  import Translations from "../../i18n/Translations.js"
 | 
					  import Translations from "../../i18n/Translations.js";
 | 
				
			||||||
  import ChangeTagAction from "../../../Logic/Osm/Actions/ChangeTagAction"
 | 
					  import ChangeTagAction from "../../../Logic/Osm/Actions/ChangeTagAction";
 | 
				
			||||||
  import { createEventDispatcher, onDestroy } from "svelte"
 | 
					  import { createEventDispatcher, onDestroy } from "svelte";
 | 
				
			||||||
  import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
 | 
					  import LayerConfig from "../../../Models/ThemeConfig/LayerConfig";
 | 
				
			||||||
  import SpecialTranslation from "./SpecialTranslation.svelte"
 | 
					  import SpecialTranslation from "./SpecialTranslation.svelte";
 | 
				
			||||||
  import TagHint from "../TagHint.svelte"
 | 
					  import TagHint from "../TagHint.svelte";
 | 
				
			||||||
  import LoginToggle from "../../Base/LoginToggle.svelte"
 | 
					  import LoginToggle from "../../Base/LoginToggle.svelte";
 | 
				
			||||||
  import SubtleButton from "../../Base/SubtleButton.svelte"
 | 
					  import SubtleButton from "../../Base/SubtleButton.svelte";
 | 
				
			||||||
  import Loading from "../../Base/Loading.svelte"
 | 
					  import Loading from "../../Base/Loading.svelte";
 | 
				
			||||||
  import TagRenderingMappingInput from "./TagRenderingMappingInput.svelte"
 | 
					  import TagRenderingMappingInput from "./TagRenderingMappingInput.svelte";
 | 
				
			||||||
  import { Translation } from "../../i18n/Translation"
 | 
					  import { Translation } from "../../i18n/Translation";
 | 
				
			||||||
  import Constants from "../../../Models/Constants"
 | 
					  import Constants from "../../../Models/Constants";
 | 
				
			||||||
  import { Unit } from "../../../Models/Unit"
 | 
					  import { Unit } from "../../../Models/Unit";
 | 
				
			||||||
  import UserRelatedState from "../../../Logic/State/UserRelatedState"
 | 
					  import UserRelatedState from "../../../Logic/State/UserRelatedState";
 | 
				
			||||||
  import { twJoin } from "tailwind-merge"
 | 
					  import { twJoin } from "tailwind-merge";
 | 
				
			||||||
 | 
					  import { TagUtils } from "../../../Logic/Tags/TagUtils";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  export let config: TagRenderingConfig
 | 
					  export let config: TagRenderingConfig;
 | 
				
			||||||
  export let tags: UIEventSource<Record<string, string>>
 | 
					  export let tags: UIEventSource<Record<string, string>>;
 | 
				
			||||||
  export let selectedElement: Feature
 | 
					  export let selectedElement: Feature;
 | 
				
			||||||
  export let state: SpecialVisualizationState
 | 
					  export let state: SpecialVisualizationState;
 | 
				
			||||||
  export let layer: LayerConfig
 | 
					  export let layer: LayerConfig;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let feedback: UIEventSource<Translation> = new UIEventSource<Translation>(undefined)
 | 
					  let feedback: UIEventSource<Translation> = new UIEventSource<Translation>(undefined);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let unit: Unit = layer.units?.find((unit) => unit.appliesToKeys.has(config.freeform?.key))
 | 
					  let unit: Unit = layer.units?.find((unit) => unit.appliesToKeys.has(config.freeform?.key));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Will be bound if a freeform is available
 | 
					  // Will be bound if a freeform is available
 | 
				
			||||||
  let freeformInput = new UIEventSource<string>(tags?.[config.freeform?.key])
 | 
					  let freeformInput = new UIEventSource<string>(tags?.[config.freeform?.key]);
 | 
				
			||||||
  let selectedMapping: number = undefined
 | 
					  let selectedMapping: number = undefined;
 | 
				
			||||||
  let checkedMappings: boolean[]
 | 
					  let checkedMappings: boolean[];
 | 
				
			||||||
  $: {
 | 
					
 | 
				
			||||||
    let tgs = $tags
 | 
					  /**
 | 
				
			||||||
    mappings = config.mappings?.filter((m) => {
 | 
					   * Prepares and fills the checkedMappings
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  function initialize(tgs: Record<string, string>, confg: TagRenderingConfig) {
 | 
				
			||||||
 | 
					    mappings = confg.mappings?.filter((m) => {
 | 
				
			||||||
      if (typeof m.hideInAnswer === "boolean") {
 | 
					      if (typeof m.hideInAnswer === "boolean") {
 | 
				
			||||||
        return !m.hideInAnswer
 | 
					        return !m.hideInAnswer;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      return !m.hideInAnswer.matchesProperties(tgs)
 | 
					      return !m.hideInAnswer.matchesProperties(tgs);
 | 
				
			||||||
    })
 | 
					    });
 | 
				
			||||||
    // We received a new config -> reinit
 | 
					    // We received a new config -> reinit
 | 
				
			||||||
    unit = layer.units.find((unit) => unit.appliesToKeys.has(config.freeform?.key))
 | 
					    unit = layer.units.find((unit) => unit.appliesToKeys.has(confg.freeform?.key));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (
 | 
					    if (
 | 
				
			||||||
      config.mappings?.length > 0 &&
 | 
					      confg.mappings?.length > 0 &&
 | 
				
			||||||
      (checkedMappings === undefined || checkedMappings?.length + 1 < config.mappings.length)
 | 
					      (checkedMappings === undefined || checkedMappings?.length < confg.mappings.length + (confg.freeform ? 1 : 0))
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
 | 
					      const seenFreeforms = [];
 | 
				
			||||||
 | 
					      TagUtils.FlattenMultiAnswer()
 | 
				
			||||||
      checkedMappings = [
 | 
					      checkedMappings = [
 | 
				
			||||||
        ...config.mappings.map((_) => false),
 | 
					        ...confg.mappings.map((mapping) => {
 | 
				
			||||||
        false /*One element extra in case a freeform value is added*/,
 | 
					          const matches = TagUtils.MatchesMultiAnswer(mapping.if, tgs) 
 | 
				
			||||||
      ]
 | 
					          if (matches && confg.freeform) {
 | 
				
			||||||
 | 
					            const newProps = TagUtils.changeAsProperties(mapping.if.asChange());
 | 
				
			||||||
 | 
					            seenFreeforms.push(newProps[confg.freeform.key]);
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
    if (config.freeform?.key) {
 | 
					          return matches;
 | 
				
			||||||
      if (!config.multiAnswer) {
 | 
					        })
 | 
				
			||||||
        // Somehow, setting multianswer freeform values is broken if this is not set
 | 
					      ];
 | 
				
			||||||
        freeformInput.setData(tgs[config.freeform.key])
 | 
					      
 | 
				
			||||||
 | 
					      if(tgs !== undefined && confg.freeform){
 | 
				
			||||||
 | 
					        const unseenFreeformValues = tgs[confg.freeform.key]?.split(";") ?? []
 | 
				
			||||||
 | 
					        for (const seenFreeform of seenFreeforms) {
 | 
				
			||||||
 | 
					          if(!seenFreeform){
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          const index = unseenFreeformValues.indexOf(seenFreeform)
 | 
				
			||||||
 | 
					          if(index < 0){
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          unseenFreeformValues.splice(index, 1)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // TODO this has _to much_ values
 | 
				
			||||||
 | 
					        freeformInput.setData(unseenFreeformValues.join(";"))
 | 
				
			||||||
 | 
					        checkedMappings.push(unseenFreeformValues.length > 0)
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    console.log("Inited 'checkMappings' to", checkedMappings);
 | 
				
			||||||
 | 
					    if (confg.freeform?.key) {
 | 
				
			||||||
 | 
					      if (!confg.multiAnswer) {
 | 
				
			||||||
 | 
					        // Somehow, setting multi-answer freeform values is broken if this is not set
 | 
				
			||||||
 | 
					        freeformInput.setData(tgs[confg.freeform.key]);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      freeformInput.setData(undefined)
 | 
					      freeformInput.setData(undefined);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    feedback.setData(undefined)
 | 
					    feedback.setData(undefined);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  export let selectedTags: TagsFilter = undefined
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let mappings: Mapping[] = config?.mappings
 | 
					  $: {
 | 
				
			||||||
  let searchTerm: UIEventSource<string> = new UIEventSource("")
 | 
					    // Even though 'config' is not declared as a store, Svelte uses it as one to update the component
 | 
				
			||||||
 | 
					    // We want to (re)-initialize whenever the 'tags' or 'config' change - but not when 'checkedConfig' changes
 | 
				
			||||||
 | 
					    initialize($tags, config);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  export let selectedTags: TagsFilter = undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  let mappings: Mapping[] = config?.mappings;
 | 
				
			||||||
 | 
					  let searchTerm: UIEventSource<string> = new UIEventSource("");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  $: {
 | 
					  $: {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
| 
						 | 
					@ -79,10 +117,10 @@
 | 
				
			||||||
        selectedMapping,
 | 
					        selectedMapping,
 | 
				
			||||||
        checkedMappings,
 | 
					        checkedMappings,
 | 
				
			||||||
        tags.data
 | 
					        tags.data
 | 
				
			||||||
      )
 | 
					      );
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      console.error("Could not calculate changeSpecification:", e)
 | 
					      console.error("Could not calculate changeSpecification:", e);
 | 
				
			||||||
      selectedTags = undefined
 | 
					      selectedTags = undefined;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -91,53 +129,53 @@
 | 
				
			||||||
      config: TagRenderingConfig
 | 
					      config: TagRenderingConfig
 | 
				
			||||||
      applied: TagsFilter
 | 
					      applied: TagsFilter
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }>()
 | 
					  }>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  function onSave() {
 | 
					  function onSave() {
 | 
				
			||||||
    if (selectedTags === undefined) {
 | 
					    if (selectedTags === undefined) {
 | 
				
			||||||
      return
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (layer.source === null) {
 | 
					    if (layer.source === null) {
 | 
				
			||||||
      /**
 | 
					      /**
 | 
				
			||||||
       * This is a special, priviliged layer.
 | 
					       * This is a special, priviliged layer.
 | 
				
			||||||
       * We simply apply the tags onto the records
 | 
					       * We simply apply the tags onto the records
 | 
				
			||||||
       */
 | 
					       */
 | 
				
			||||||
      const kv = selectedTags.asChange(tags.data)
 | 
					      const kv = selectedTags.asChange(tags.data);
 | 
				
			||||||
      for (const { k, v } of kv) {
 | 
					      for (const { k, v } of kv) {
 | 
				
			||||||
        if (v === undefined) {
 | 
					        if (v === undefined) {
 | 
				
			||||||
          delete tags.data[k]
 | 
					          delete tags.data[k];
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          tags.data[k] = v
 | 
					          tags.data[k] = v;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      tags.ping()
 | 
					      tags.ping();
 | 
				
			||||||
      return
 | 
					      return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dispatch("saved", { config, applied: selectedTags })
 | 
					    dispatch("saved", { config, applied: selectedTags });
 | 
				
			||||||
    const change = new ChangeTagAction(tags.data.id, selectedTags, tags.data, {
 | 
					    const change = new ChangeTagAction(tags.data.id, selectedTags, tags.data, {
 | 
				
			||||||
      theme: state.layout.id,
 | 
					      theme: state.layout.id,
 | 
				
			||||||
      changeType: "answer",
 | 
					      changeType: "answer"
 | 
				
			||||||
    })
 | 
					    });
 | 
				
			||||||
    freeformInput.setData(undefined)
 | 
					    freeformInput.setData(undefined);
 | 
				
			||||||
    selectedMapping = undefined
 | 
					    selectedMapping = undefined;
 | 
				
			||||||
    selectedTags = undefined
 | 
					    selectedTags = undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    change
 | 
					    change
 | 
				
			||||||
      .CreateChangeDescriptions()
 | 
					      .CreateChangeDescriptions()
 | 
				
			||||||
      .then((changes) => state.changes.applyChanges(changes))
 | 
					      .then((changes) => state.changes.applyChanges(changes))
 | 
				
			||||||
      .catch(console.error)
 | 
					      .catch(console.error);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let featureSwitchIsTesting = state.featureSwitchIsTesting
 | 
					  let featureSwitchIsTesting = state.featureSwitchIsTesting;
 | 
				
			||||||
  let featureSwitchIsDebugging = state.featureSwitches.featureSwitchIsDebugging
 | 
					  let featureSwitchIsDebugging = state.featureSwitches.featureSwitchIsDebugging;
 | 
				
			||||||
  let showTags = state.userRelatedState.showTags
 | 
					  let showTags = state.userRelatedState.showTags;
 | 
				
			||||||
  let numberOfCs = state.osmConnection.userDetails.data.csCount
 | 
					  let numberOfCs = state.osmConnection.userDetails.data.csCount;
 | 
				
			||||||
  onDestroy(
 | 
					  onDestroy(
 | 
				
			||||||
    state.osmConnection.userDetails.addCallbackAndRun((ud) => {
 | 
					    state.osmConnection.userDetails.addCallbackAndRun((ud) => {
 | 
				
			||||||
      numberOfCs = ud.csCount
 | 
					      numberOfCs = ud.csCount;
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  )
 | 
					  );
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{#if config.question !== undefined}
 | 
					{#if config.question !== undefined}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1155,19 +1155,24 @@ export default class SpecialVisualizations {
 | 
				
			||||||
                        name: "class",
 | 
					                        name: "class",
 | 
				
			||||||
                        doc: "CSS-classes to add to the element",
 | 
					                        doc: "CSS-classes to add to the element",
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        name: "download",
 | 
				
			||||||
 | 
					                        doc: "If set, this link will act as a download-button. The contents of `href` will be offered for download; this parameter will act as the proposed filename",
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                constr(
 | 
					                constr(
 | 
				
			||||||
                    state: SpecialVisualizationState,
 | 
					                    state: SpecialVisualizationState,
 | 
				
			||||||
                    tagSource: UIEventSource<Record<string, string>>,
 | 
					                    tagSource: UIEventSource<Record<string, string>>,
 | 
				
			||||||
                    args: string[]
 | 
					                    args: string[]
 | 
				
			||||||
                ): BaseUIElement {
 | 
					                ): BaseUIElement {
 | 
				
			||||||
                    const [text, href, classnames] = args
 | 
					                    const [text, href, classnames, download] = args
 | 
				
			||||||
                    return new VariableUiElement(
 | 
					                    return new VariableUiElement(
 | 
				
			||||||
                        tagSource.map((tags) =>
 | 
					                        tagSource.map((tags) =>
 | 
				
			||||||
                            new Link(
 | 
					                            new Link(
 | 
				
			||||||
                                Utils.SubstituteKeys(text, tags),
 | 
					                                Utils.SubstituteKeys(text, tags),
 | 
				
			||||||
                                Utils.SubstituteKeys(href, tags),
 | 
					                                Utils.SubstituteKeys(href, tags),
 | 
				
			||||||
                                true
 | 
					                                download === undefined,
 | 
				
			||||||
 | 
					                                Utils.SubstituteKeys(download, tags)
 | 
				
			||||||
                            ).SetClass(classnames)
 | 
					                            ).SetClass(classnames)
 | 
				
			||||||
                        )
 | 
					                        )
 | 
				
			||||||
                    )
 | 
					                    )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -471,7 +471,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static SubstituteKeys(
 | 
					    public static SubstituteKeys(
 | 
				
			||||||
        txt: string | undefined,
 | 
					        txt: string | undefined,
 | 
				
			||||||
        tags?: Record<string, any>,
 | 
					        tags: Record<string, any> | undefined,
 | 
				
			||||||
        useLang?: string
 | 
					        useLang?: string
 | 
				
			||||||
    ): string | undefined {
 | 
					    ): string | undefined {
 | 
				
			||||||
        if (txt === undefined) {
 | 
					        if (txt === undefined) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue