Add share icon, reordering of questions and icons, add urinal to toilet
This commit is contained in:
parent
a261577ef3
commit
4018e6710b
12 changed files with 416 additions and 395 deletions
|
@ -100,7 +100,7 @@ export default class LayerConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tagRenderings = trs(json.tagRenderings).concat(roamingRenderings);
|
this.tagRenderings = trs(json.tagRenderings).concat(roamingRenderings);
|
||||||
this.titleIcons = trs(json.titleIcons ?? ["wikipedialink","osmlink"]);
|
this.titleIcons = trs(json.titleIcons ?? ["wikipedialink","osmlink", "sharelink"]);
|
||||||
|
|
||||||
|
|
||||||
function tr(key, deflt) {
|
function tr(key, deflt) {
|
||||||
|
|
|
@ -15,6 +15,8 @@ import * as maps from "../assets/layers/maps/maps.json"
|
||||||
import * as information_boards from "../assets/layers/information_board/information_board.json"
|
import * as information_boards from "../assets/layers/information_board/information_board.json"
|
||||||
import * as direction from "../assets/layers/direction/direction.json"
|
import * as direction from "../assets/layers/direction/direction.json"
|
||||||
import * as surveillance_camera from "../assets/layers/surveillance_cameras/surveillance_cameras.json"
|
import * as surveillance_camera from "../assets/layers/surveillance_cameras/surveillance_cameras.json"
|
||||||
|
import * as toilets from "../assets/layers/toilets/toilets.json"
|
||||||
|
|
||||||
import LayerConfig from "./JSON/LayerConfig";
|
import LayerConfig from "./JSON/LayerConfig";
|
||||||
|
|
||||||
export default class SharedLayers {
|
export default class SharedLayers {
|
||||||
|
@ -41,6 +43,7 @@ export default class SharedLayers {
|
||||||
new LayerConfig(maps,[], "shared_layers"),
|
new LayerConfig(maps,[], "shared_layers"),
|
||||||
new LayerConfig(direction,[], "shared_layers"),
|
new LayerConfig(direction,[], "shared_layers"),
|
||||||
new LayerConfig(information_boards,[], "shared_layers"),
|
new LayerConfig(information_boards,[], "shared_layers"),
|
||||||
|
new LayerConfig(toilets,[], "shared_layers"),
|
||||||
new LayerConfig(surveillance_camera,[], "shared_layers")
|
new LayerConfig(surveillance_camera,[], "shared_layers")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import * as questions from "../assets/questions/questions.json";
|
|
||||||
import TagRenderingConfig from "./JSON/TagRenderingConfig";
|
import TagRenderingConfig from "./JSON/TagRenderingConfig";
|
||||||
|
import * as questions from "../assets/tagRenderings/questions.json";
|
||||||
|
import * as icons from "../assets/tagRenderings/icons.json";
|
||||||
|
|
||||||
export default class SharedTagRenderings {
|
export default class SharedTagRenderings {
|
||||||
|
|
||||||
|
@ -7,13 +8,24 @@ export default class SharedTagRenderings {
|
||||||
|
|
||||||
private static generatedSharedFields() {
|
private static generatedSharedFields() {
|
||||||
const dict = {}
|
const dict = {}
|
||||||
for (const key in questions) {
|
|
||||||
|
|
||||||
|
function add(key, store){
|
||||||
try {
|
try {
|
||||||
dict[key] = new TagRenderingConfig(questions[key])
|
dict[key] = new TagRenderingConfig(store[key])
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("COULD NOT PARSE", key, " FROM QUESTIONS:", e)
|
console.error("BUG: could not parse", key, " from questions.json or icons.json", e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (const key in questions) {
|
||||||
|
add(key, questions);
|
||||||
|
}
|
||||||
|
for (const key in icons) {
|
||||||
|
add(key, icons);
|
||||||
|
}
|
||||||
|
|
||||||
return dict;
|
return dict;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -260,3 +260,6 @@ Shower icon (used in 'bike_cleaning.svg'):
|
||||||
https://commons.wikimedia.org/wiki/File:Shower_symbol.svg
|
https://commons.wikimedia.org/wiki/File:Shower_symbol.svg
|
||||||
|
|
||||||
Bench icons from StreetComplete: https://github.com/westnordost/StreetComplete/tree/v25.0-beta1/res/graphics/quest%20icons, GPLv3.0
|
Bench icons from StreetComplete: https://github.com/westnordost/StreetComplete/tree/v25.0-beta1/res/graphics/quest%20icons, GPLv3.0
|
||||||
|
|
||||||
|
|
||||||
|
Urinal icon: https://thenounproject.com/term/urinal/1307984/
|
2
State.ts
2
State.ts
|
@ -23,7 +23,7 @@ export default class State {
|
||||||
// The singleton of the global state
|
// The singleton of the global state
|
||||||
public static state: State;
|
public static state: State;
|
||||||
|
|
||||||
public static vNumber = "0.2.0";
|
public static vNumber = "0.2.1d";
|
||||||
|
|
||||||
// The user journey states thresholds when a new feature gets unlocked
|
// The user journey states thresholds when a new feature gets unlocked
|
||||||
public static userJourney = {
|
public static userJourney = {
|
||||||
|
|
|
@ -9,6 +9,7 @@ import {FixedUiElement} from "./Base/FixedUiElement";
|
||||||
import Locale from "../UI/i18n/Locale";
|
import Locale from "../UI/i18n/Locale";
|
||||||
import {ImageUploadFlow} from "./Image/ImageUploadFlow";
|
import {ImageUploadFlow} from "./Image/ImageUploadFlow";
|
||||||
import {Translation} from "./i18n/Translation";
|
import {Translation} from "./i18n/Translation";
|
||||||
|
import State from "../State";
|
||||||
|
|
||||||
export class SubstitutedTranslation extends UIElement {
|
export class SubstitutedTranslation extends UIElement {
|
||||||
private readonly tags: UIEventSource<any>;
|
private readonly tags: UIEventSource<any>;
|
||||||
|
@ -183,7 +184,41 @@ export default class SpecialVisualizations {
|
||||||
return new VariableUiElement(source.map(data => data[neededValue] ?? "Loading..."));
|
return new VariableUiElement(source.map(data => data[neededValue] ?? "Loading..."));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
funcName: "share_link",
|
||||||
|
docs: "Creates a link that (attempts to) open the native 'share'-screen",
|
||||||
|
example: "{share_link()} to share the current page, {share_link(<some_url>)} to share the given url",
|
||||||
|
args: [
|
||||||
|
{
|
||||||
|
name: "url",
|
||||||
|
doc: "The url to share",
|
||||||
|
defaultValue: "{current_url()}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
constr: (tagSource: UIEventSource<any>, args) => {
|
||||||
|
if (navigator.share !== undefined) {
|
||||||
|
return new FixedUiElement("").onClick(() => {
|
||||||
|
|
||||||
|
let name = tagSource["name"]
|
||||||
|
let title= State.state.layoutToUse.data.title.txt
|
||||||
|
if(name === undefined){
|
||||||
|
name = title
|
||||||
|
}else{
|
||||||
|
name = `${name} (${title})`
|
||||||
|
}
|
||||||
|
|
||||||
|
navigator.share({
|
||||||
|
url: args[0] ?? window.location.href,
|
||||||
|
title: name,
|
||||||
|
text: State.state.layoutToUse.data.shortDescription.txt
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return new FixedUiElement("")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
static HelpMessage: UIElement = SpecialVisualizations.GenHelpMessage();
|
static HelpMessage: UIElement = SpecialVisualizations.GenHelpMessage();
|
||||||
|
|
|
@ -1,2 +1,305 @@
|
||||||
{
|
{
|
||||||
|
"id": "toilets",
|
||||||
|
"name": {
|
||||||
|
"en": "Toilets",
|
||||||
|
"de": "Toiletten",
|
||||||
|
"fr": "Toilettes"
|
||||||
|
},
|
||||||
|
"overpassTags": "amenity=toilets",
|
||||||
|
"title": {
|
||||||
|
"render": {
|
||||||
|
"en": "Toilet",
|
||||||
|
"de": "Toilette",
|
||||||
|
"fr": "Toilettes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"render": "./assets/layers/toilets/toilets.svg",
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "wheelchair=yes",
|
||||||
|
"then": "./assets/layers/toilets/wheelchair.svg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "toilets:position=urinals",
|
||||||
|
"then": "./assets/layers/toilets/urinal.svg"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"render": "#0000ff"
|
||||||
|
},
|
||||||
|
"minzoom": 12,
|
||||||
|
"wayHandling": 2,
|
||||||
|
"presets": [
|
||||||
|
{
|
||||||
|
"title": {
|
||||||
|
"en": "Toilet",
|
||||||
|
"de": "Toilette",
|
||||||
|
"fr": "Toilettes"
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"amenity=toilets"
|
||||||
|
],
|
||||||
|
"description": {
|
||||||
|
"en": "A publicly accessible toilet or restroom",
|
||||||
|
"de": "Eine öffentlich zugängliche Toilette",
|
||||||
|
"fr": "Des toilettes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": {
|
||||||
|
"en": "Toilets with wheelchair accessible toilet",
|
||||||
|
"de": "Toiletten mit rollstuhlgerechter Toilette",
|
||||||
|
"fr": "Toilettes accessible aux personnes à mobilité réduite"
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"amenity=toilets",
|
||||||
|
"wheelchair=yes"
|
||||||
|
],
|
||||||
|
"description": {
|
||||||
|
"en": "A restroom which has at least one wheelchair-accessible toilet",
|
||||||
|
"de": "Eine Toilettenanlage mit mindestens einer rollstuhlgerechten Toilette",
|
||||||
|
"fr": "Toilettes avec au moins un WC accessible aux personnes à mobilité réduite"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tagRenderings": [
|
||||||
|
"images",
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Are these toilets publicly accessible?",
|
||||||
|
"de": "Sind diese Toiletten öffentlich zugänglich?",
|
||||||
|
"fr": "Ces toilettes sont-elles accessibles publiquement ?"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "Access is {access}",
|
||||||
|
"de": "Zugang ist {access}",
|
||||||
|
"fr": "L'accès est {access}"
|
||||||
|
},
|
||||||
|
"freeform": {
|
||||||
|
"key": "access",
|
||||||
|
"addExtraTags": [
|
||||||
|
"fixme=the tag access was filled out by the user and might need refinement"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "access=yes",
|
||||||
|
"then": {
|
||||||
|
"en": "Public access",
|
||||||
|
"de": "Öffentlicher Zugang",
|
||||||
|
"fr": "Accès publique"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "access=customers",
|
||||||
|
"then": {
|
||||||
|
"en": "Only access to customers",
|
||||||
|
"de": "Nur Zugang für Kunden",
|
||||||
|
"fr": "Accès réservé aux clients"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "access=no",
|
||||||
|
"then": {
|
||||||
|
"en": "Not accessible",
|
||||||
|
"de": "Nicht zugänglich",
|
||||||
|
"fr": "WC privés"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "access=key",
|
||||||
|
"then": {
|
||||||
|
"en": "Accessible, but one has to ask a key to enter",
|
||||||
|
"de": "Zugänglich, aber man muss einen Schlüssel für die Eingabe verlangen",
|
||||||
|
"fr": "Accessible, mais vous devez demander la clé"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Are these toilets free to use?",
|
||||||
|
"de": "Können diese Toiletten kostenlos benutzt werden?",
|
||||||
|
"fr": "Ces toilettes sont-elles payantes"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "These are paid toilets",
|
||||||
|
"de": "Dies sind bezahlte Toiletten",
|
||||||
|
"fr": "Toilettes payantes"
|
||||||
|
},
|
||||||
|
"if": "fee=yes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "fee=no",
|
||||||
|
"then": {
|
||||||
|
"en": "Free to use",
|
||||||
|
"de": "Kostenlose Nutzung",
|
||||||
|
"fr": "Toilettes gratuites"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "How much does one have to pay for these toilets?",
|
||||||
|
"de": "Wie viel muss man für diese Toiletten bezahlen?",
|
||||||
|
"fr": "Quel est le prix d'accès de ces toilettes ?"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "The fee is {charge}",
|
||||||
|
"de": "Die Gebühr beträgt {charge}",
|
||||||
|
"fr": "Le prix est {charge}"
|
||||||
|
},
|
||||||
|
"condition": "fee=yes",
|
||||||
|
"freeform": {
|
||||||
|
"key": "charge",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Is there a dedicated toilet for wheelchair users",
|
||||||
|
"de": "Gibt es eine Toilette für Rollstuhlfahrer?",
|
||||||
|
"fr": "Un WC réservé aux personnes à mobilité réduite est-il présent ?"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "There is a dedicated toilet for wheelchair users",
|
||||||
|
"de": "Es gibt eine Toilette für Rollstuhlfahrer",
|
||||||
|
"fr": "Il y a un WC réservé pour les personnes à mobilité réduite"
|
||||||
|
},
|
||||||
|
"if": "wheelchair=yes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "wheelchair=no",
|
||||||
|
"then": {
|
||||||
|
"en": "No wheelchair access",
|
||||||
|
"de": "Kein Zugang für Rollstuhlfahrer",
|
||||||
|
"fr": "Non accessible aux personnes à mobilité réduite"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Which kind of toilets are this?",
|
||||||
|
"de": "Welche Art von Toiletten sind das?",
|
||||||
|
"fr": "De quel type sont ces toilettes ?"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "toilets:position=seated",
|
||||||
|
"then": {
|
||||||
|
"en": "There are only seated toilets",
|
||||||
|
"de": "Es gibt nur Sitztoiletten",
|
||||||
|
"fr": "Il y a uniquement des WC assis"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "toilets:position=urinals",
|
||||||
|
"then": {
|
||||||
|
"en": "There are only urinals here",
|
||||||
|
"de": "Hier gibt es nur Pissoirs",
|
||||||
|
"fr": "Il y a uniquement des urinoirs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "toilets:position=squat",
|
||||||
|
"then": {
|
||||||
|
"en": "There are only squat toilets here",
|
||||||
|
"de": "Es gibt hier nur Hocktoiletten.",
|
||||||
|
"fr": "Il y a uniquement des WC turques"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "toilets:position=seated;urinals",
|
||||||
|
"then": {
|
||||||
|
"en": "Both seated toilets and urinals are available here",
|
||||||
|
"de": "Sowohl Sitztoiletten als auch Pissoirs sind hier verfügbar",
|
||||||
|
"fr": "Il y a des WC assis et des urinoirs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Is a changing table (to change diapers) available?",
|
||||||
|
"de": "Ist ein Wickeltisch (zum Wechseln der Windeln) vorhanden?",
|
||||||
|
"fr": "Ces WC disposent-ils d'une table à langer ?"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "A changing table is available",
|
||||||
|
"de": "Ein Wickeltisch ist verfügbar",
|
||||||
|
"fr": "Une table à langer est disponible"
|
||||||
|
},
|
||||||
|
"if": "changing_table=yes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "changing_table=no",
|
||||||
|
"then": {
|
||||||
|
"en": "No changing table is available",
|
||||||
|
"de": "Es ist kein Wickeltisch verfügbar",
|
||||||
|
"fr": "Aucune table à langer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"question": {
|
||||||
|
"en": "Where is the changing table located?",
|
||||||
|
"de": "Wo befindet sich der Wickeltisch?",
|
||||||
|
"fr": "Où se situe la table à langer ?"
|
||||||
|
},
|
||||||
|
"render": {
|
||||||
|
"en": "The changing table is located at {changing_table:location}",
|
||||||
|
"de": "Die Wickeltabelle befindet sich in {changing_table:location}",
|
||||||
|
"fr": "Emplacement de la table à langer : {changing_table:location}"
|
||||||
|
},
|
||||||
|
"condition": "changing_table=yes",
|
||||||
|
"freeform": {
|
||||||
|
"key": "changing_table:location"
|
||||||
|
},
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "The changing table is in the toilet for women. ",
|
||||||
|
"de": "Der Wickeltisch befindet sich in der Damentoilette. ",
|
||||||
|
"fr": "La table à langer se situe dans les WC pour femmes. "
|
||||||
|
},
|
||||||
|
"if": "changing_table:location=female_toilet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"then": {
|
||||||
|
"en": "The changing table is in the toilet for men. ",
|
||||||
|
"de": "Der Wickeltisch befindet sich in der Herrentoilette. ",
|
||||||
|
"fr": "La table à langer se situe dans les WC pour hommes. "
|
||||||
|
},
|
||||||
|
"if": "changing_table:location=male_toilet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "changing_table:location=wheelchair_toilet",
|
||||||
|
"then": {
|
||||||
|
"en": "The changing table is in the toilet for wheelchair users. ",
|
||||||
|
"de": "Der Wickeltisch befindet sich in der Toilette für Rollstuhlfahrer. ",
|
||||||
|
"fr": "La table à langer se situe dans les WC pour personnes à mobilité réduite. "
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "changing_table:location=dedicated_room",
|
||||||
|
"then": {
|
||||||
|
"en": "The changing table is in a dedicated room. ",
|
||||||
|
"de": "Der Wickeltisch befindet sich in einem eigenen Raum. ",
|
||||||
|
"fr": "La table à langer se situe dans un espace dédié. "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -5,84 +5,49 @@
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
version="1.1"
|
|
||||||
x="0px"
|
|
||||||
y="0px"
|
|
||||||
viewBox="0 0 100.18594 100.18594"
|
|
||||||
enable-background="new 0 0 100 100"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="svg22"
|
|
||||||
sodipodi:docname="noun_Urinal_1307984.svg"
|
|
||||||
width="100.18594"
|
|
||||||
height="100.18594"
|
height="100.18594"
|
||||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
|
width="100.18594"
|
||||||
|
id="svg22"
|
||||||
|
xml:space="preserve"
|
||||||
|
enable-background="new 0 0 100 100"
|
||||||
|
viewBox="0 0 100.18594 100.18594"
|
||||||
|
y="0px"
|
||||||
|
x="0px"
|
||||||
|
version="1.1"><metadata
|
||||||
id="metadata28"><rdf:RDF><cc:Work
|
id="metadata28"><rdf:RDF><cc:Work
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
id="defs26" /><sodipodi:namedview
|
id="defs26" /><g
|
||||||
pagecolor="#ffffff"
|
transform="translate(0,0.0919838)"
|
||||||
bordercolor="#666666"
|
id="layer1"><circle
|
||||||
borderopacity="1"
|
r="50.092972"
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1043"
|
|
||||||
id="namedview24"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="3.776"
|
|
||||||
inkscape:cx="-24.614037"
|
|
||||||
inkscape:cy="81.446444"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="layer1" /><g
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
inkscape:label="bg"
|
|
||||||
transform="translate(0,0.0919838)"><circle
|
|
||||||
style="fill:#55bd00;fill-opacity:1;stroke:none;stroke-width:5.08555174;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98823529"
|
|
||||||
id="path845"
|
|
||||||
cx="50.092972"
|
|
||||||
cy="50.000988"
|
cy="50.000988"
|
||||||
r="50.092972" /></g><g
|
cx="50.092972"
|
||||||
inkscape:groupmode="layer"
|
id="path845"
|
||||||
id="layer2"
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.08555174;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.98823529" /></g><g
|
||||||
inkscape:label="fg"
|
transform="translate(0,0.0919838)"
|
||||||
transform="translate(0,0.0919838)"><g
|
id="layer2"><g
|
||||||
id="g849"
|
transform="matrix(1.0774227,0,0,1,-6.5327497,-2.3834746)"
|
||||||
transform="matrix(1.0774227,0,0,1,-6.5327497,-2.3834746)"><circle
|
id="g849"><circle
|
||||||
cx="45.222931"
|
id="circle2"
|
||||||
cy="20.633209"
|
|
||||||
r="6.8829999"
|
r="6.8829999"
|
||||||
id="circle2" /></g><path
|
cy="20.633209"
|
||||||
inkscape:connector-curvature="0"
|
cx="45.222931" fill="#734a08ff"/></g><path
|
||||||
id="path4"
|
style="stroke-width:1.03798974" fill="#734a08ff"
|
||||||
d="m 63.360093,62.535796 0.744233,-1.506117 c 0.03247,-0.03923 -1.837395,-1.305776 -1.867394,-1.264947 l -0.594756,1.578256 c 0.02894,-0.04064 1.750018,1.1577 1.717917,1.192808 z"
|
d="m 63.360093,62.535796 0.744233,-1.506117 c 0.03247,-0.03923 -1.837395,-1.305776 -1.867394,-1.264947 l -0.594756,1.578256 c 0.02894,-0.04064 1.750018,1.1577 1.717917,1.192808 z"
|
||||||
style="stroke-width:1.03798974" /><path
|
id="path4" /><path
|
||||||
inkscape:connector-curvature="0"
|
style="stroke-width:1.03798974" fill="#734a08ff"
|
||||||
id="path6"
|
|
||||||
d="m 60.739166,60.844217 0.516546,-1.606098 c 0,0 -0.521003,-0.237131 -1.041486,-0.471307 -0.545369,-0.189171 -1.087902,-0.380873 -1.087902,-0.380873 l -0.357271,1.653154 c 0,0 0.503158,0.179353 1.004367,0.360064 0.483056,0.220467 0.965746,0.44506 0.965746,0.44506 z"
|
d="m 60.739166,60.844217 0.516546,-1.606098 c 0,0 -0.521003,-0.237131 -1.041486,-0.471307 -0.545369,-0.189171 -1.087902,-0.380873 -1.087902,-0.380873 l -0.357271,1.653154 c 0,0 0.503158,0.179353 1.004367,0.360064 0.483056,0.220467 0.965746,0.44506 0.965746,0.44506 z"
|
||||||
style="stroke-width:1.03798974" /><path
|
id="path6" /><path
|
||||||
inkscape:connector-curvature="0"
|
style="stroke-width:1.03798974" fill="#734a08ff"
|
||||||
id="path8"
|
|
||||||
d="m 57.763048,59.750399 0.274951,-1.667072 c 0,0 -0.139693,-0.03528 -0.351095,-0.08634 -0.210149,-0.05636 -0.492219,-0.117309 -0.781965,-0.153545 -0.288667,-0.04252 -0.576272,-0.08523 -0.79215,-0.118241 -0.214817,-0.0332 -0.359526,-0.04729 -0.359526,-0.04729 l -0.107285,1.687263 c 0,0 0.53246,0.07874 1.066328,0.159253 0.269259,0.03173 0.532422,0.09093 0.72596,0.146159 0.193384,0.04815 0.324782,0.07981 0.324782,0.07981 z"
|
d="m 57.763048,59.750399 0.274951,-1.667072 c 0,0 -0.139693,-0.03528 -0.351095,-0.08634 -0.210149,-0.05636 -0.492219,-0.117309 -0.781965,-0.153545 -0.288667,-0.04252 -0.576272,-0.08523 -0.79215,-0.118241 -0.214817,-0.0332 -0.359526,-0.04729 -0.359526,-0.04729 l -0.107285,1.687263 c 0,0 0.53246,0.07874 1.066328,0.159253 0.269259,0.03173 0.532422,0.09093 0.72596,0.146159 0.193384,0.04815 0.324782,0.07981 0.324782,0.07981 z"
|
||||||
style="stroke-width:1.03798974" /><path
|
id="path8" /><path
|
||||||
inkscape:connector-curvature="0"
|
style="stroke-width:1.03798974" fill="#734a08ff"
|
||||||
id="path10"
|
|
||||||
d="m 52.262826,57.706454 0.162629,1.679272 c -0.01946,-0.04836 2.163417,-0.133706 2.159193,-0.08321 l 0.02616,-1.68819 c 5.23e-4,-0.05289 -2.335967,0.03619 -2.347984,0.09212 z"
|
d="m 52.262826,57.706454 0.162629,1.679272 c -0.01946,-0.04836 2.163417,-0.133706 2.159193,-0.08321 l 0.02616,-1.68819 c 5.23e-4,-0.05289 -2.335967,0.03619 -2.347984,0.09212 z"
|
||||||
style="stroke-width:1.03798974" /><path
|
id="path10" /><path fill="#734a08ff"
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path12"
|
|
||||||
d="m 44.487525,32.636 v -0.06 -0.546 c 0,-2.926 -2.556724,-5.299 -5.709263,-5.299 -3.152539,0 -5.709263,2.373 -5.709263,5.299 v 0.546 L 35.690687,45.197688 33.068999,85.688 h 11.418526 l -0.0331,-26.43253 c 1.188486,3.790204 7.349685,4.322606 6.763764,-1.56947 z"
|
|
||||||
style="stroke-width:1.03798974"
|
style="stroke-width:1.03798974"
|
||||||
sodipodi:nodetypes="ccsssccccccc" /><path
|
d="m 44.487525,32.636 v -0.06 -0.546 c 0,-2.926 -2.556724,-5.299 -5.709263,-5.299 -3.152539,0 -5.709263,2.373 -5.709263,5.299 v 0.546 L 35.690687,45.197688 33.068999,85.688 h 11.418526 l -0.0331,-26.43253 c 1.188486,3.790204 7.349685,4.322606 6.763764,-1.56947 z"
|
||||||
inkscape:connector-curvature="0"
|
id="path12" /><path fill="#734a08ff"
|
||||||
id="path14"
|
|
||||||
d="m 68.240384,43.32148 v 15.764528 c -3.446517,5.459344 -5.76619,4.074036 -10.247903,5.133803 1.652985,11.916006 8.426597,10.425906 10.341535,21.124208 v 0.06209 c 2.338689,-0.4811 6.021132,0.919057 6.10748,-2.71532 L 74.347864,43.32148 Z"
|
|
||||||
style="stroke-width:1.49871337"
|
style="stroke-width:1.49871337"
|
||||||
sodipodi:nodetypes="cccccccc" /></g></svg>
|
d="m 68.240384,43.32148 v 15.764528 c -3.446517,5.459344 -5.76619,4.074036 -10.247903,5.133803 1.652985,11.916006 8.426597,10.425906 10.341535,21.124208 v 0.06209 c 2.338689,-0.4811 6.021132,0.919057 6.10748,-2.71532 L 74.347864,43.32148 Z"
|
||||||
|
id="path14" /></g></svg>
|
||||||
|
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.4 KiB |
|
@ -1,2 +1,19 @@
|
||||||
{
|
{
|
||||||
|
"osmlink": {
|
||||||
|
"render": "<a href='https://openstreetmap.org/{id}' target='_blank'><img src='./assets/svg/osm-logo-us.svg'/></a>",
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "id~=-",
|
||||||
|
"then": "<span class='alert'>Uploading...</alert>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"wikipedialink": {
|
||||||
|
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank'><img src='./assets/wikipedia.svg' alt='WP'/></a>",
|
||||||
|
"condition": "wikipedia~*"
|
||||||
|
},
|
||||||
|
|
||||||
|
"sharelink": {
|
||||||
|
"render": "{share_link()}"
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -2,20 +2,6 @@
|
||||||
"images": {
|
"images": {
|
||||||
"render": "{image_carousel()}{image_upload()}"
|
"render": "{image_carousel()}{image_upload()}"
|
||||||
},
|
},
|
||||||
|
|
||||||
"osmlink": {
|
|
||||||
"render": "<a href='https://openstreetmap.org/{id}' target='_blank'><img src='./assets/svg/osm-logo-us.svg'/></a>",
|
|
||||||
"mappings":[{
|
|
||||||
"if": "id~=-",
|
|
||||||
"then": "<span class='alert'>Uploading...</alert>"
|
|
||||||
}]
|
|
||||||
},
|
|
||||||
|
|
||||||
"wikipedialink": {
|
|
||||||
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank'><img src='./assets/wikipedia.svg' alt='WP'/></a>",
|
|
||||||
"condition": "wikipedia~*"
|
|
||||||
},
|
|
||||||
|
|
||||||
"phone": {
|
"phone": {
|
||||||
"question": {
|
"question": {
|
||||||
"en": "What is the phone number of {name}?",
|
"en": "What is the phone number of {name}?",
|
||||||
|
@ -27,7 +13,6 @@
|
||||||
"type": "phone"
|
"type": "phone"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"email": {
|
"email": {
|
||||||
"render": "<a href='mailto:{email}' target='_blank'>{email}</a>",
|
"render": "<a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||||
"freeform": {
|
"freeform": {
|
||||||
|
@ -35,7 +20,6 @@
|
||||||
"type": "email"
|
"type": "email"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"website": {
|
"website": {
|
||||||
"question": {
|
"question": {
|
||||||
"en": "What is the website of {name}?",
|
"en": "What is the website of {name}?",
|
||||||
|
@ -49,7 +33,6 @@
|
||||||
"type": "url"
|
"type": "url"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"opening_hours": {
|
"opening_hours": {
|
||||||
"question": {
|
"question": {
|
||||||
"en": "What are the opening hours of {name}?",
|
"en": "What are the opening hours of {name}?",
|
||||||
|
|
|
@ -166,7 +166,7 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"icon": "./assets/pencil.svg",
|
"icon": "./assets/svg/pencil.svg",
|
||||||
"width": "5",
|
"width": "5",
|
||||||
"color": {
|
"color": {
|
||||||
"render": "#aaaaaa",
|
"render": "#aaaaaa",
|
||||||
|
|
|
@ -23,306 +23,6 @@
|
||||||
"widenFactor": 0.05,
|
"widenFactor": 0.05,
|
||||||
"icon": "./assets/themes/toilets/toilets.svg",
|
"icon": "./assets/themes/toilets/toilets.svg",
|
||||||
"layers": [
|
"layers": [
|
||||||
{
|
"toilets"
|
||||||
"id": "Toilet",
|
|
||||||
"name": {
|
|
||||||
"en": "Toilets",
|
|
||||||
"de": "Toiletten",
|
|
||||||
"fr": "Toilettes"
|
|
||||||
},
|
|
||||||
"overpassTags": "amenity=toilets",
|
|
||||||
"title": {
|
|
||||||
"render": {
|
|
||||||
"en": "Toilet",
|
|
||||||
"de": "Toilette",
|
|
||||||
"fr": "Toilettes"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"icon": {
|
|
||||||
"render": "./assets/themes/toilets/toilets.svg",
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "wheelchair=yes",
|
|
||||||
"then": "./assets/themes/toilets/wheelchair.svg"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"color": {
|
|
||||||
"render": "#0000ff"
|
|
||||||
},
|
|
||||||
"minzoom": 12,
|
|
||||||
"wayHandling": 2,
|
|
||||||
"presets": [
|
|
||||||
{
|
|
||||||
"title": {
|
|
||||||
"en": "Toilet",
|
|
||||||
"de": "Toilette",
|
|
||||||
"fr": "Toilettes"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"amenity=toilets"
|
|
||||||
],
|
|
||||||
"description": {
|
|
||||||
"en": "A publicly accessible toilet or restroom",
|
|
||||||
"de": "Eine öffentlich zugängliche Toilette",
|
|
||||||
"fr": "Des toilettes"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": {
|
|
||||||
"en": "Toilets with wheelchair accessible toilet",
|
|
||||||
"de": "Toiletten mit rollstuhlgerechter Toilette",
|
|
||||||
"fr": "Toilettes accessible aux personnes à mobilité réduite"
|
|
||||||
},
|
|
||||||
"tags": [
|
|
||||||
"amenity=toilets",
|
|
||||||
"wheelchair=yes"
|
|
||||||
],
|
|
||||||
"description": {
|
|
||||||
"en": "A restroom which has at least one wheelchair-accessible toilet",
|
|
||||||
"de": "Eine Toilettenanlage mit mindestens einer rollstuhlgerechten Toilette",
|
|
||||||
"fr": "Toilettes avec au moins un WC accessible aux personnes à mobilité réduite"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tagRenderings": [
|
|
||||||
"images",
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Are these toilets publicly accessible?",
|
|
||||||
"de": "Sind diese Toiletten öffentlich zugänglich?",
|
|
||||||
"fr": "Ces toilettes sont-elles accessibles publiquement ?"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "Access is {access}",
|
|
||||||
"de": "Zugang ist {access}",
|
|
||||||
"fr": "L'accès est {access}"
|
|
||||||
},
|
|
||||||
"freeform": {
|
|
||||||
"key": "access",
|
|
||||||
"addExtraTags": [
|
|
||||||
"fixme=the tag access was filled out by the user and might need refinement"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "access=yes",
|
|
||||||
"then": {
|
|
||||||
"en": "Public access",
|
|
||||||
"de": "Öffentlicher Zugang",
|
|
||||||
"fr": "Accès publique"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "access=customers",
|
|
||||||
"then": {
|
|
||||||
"en": "Only access to customers",
|
|
||||||
"de": "Nur Zugang für Kunden",
|
|
||||||
"fr": "Accès réservé aux clients"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "access=no",
|
|
||||||
"then": {
|
|
||||||
"en": "Not accessible",
|
|
||||||
"de": "Nicht zugänglich",
|
|
||||||
"fr": "WC privés"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "access=key",
|
|
||||||
"then": {
|
|
||||||
"en": "Accessible, but one has to ask a key to enter",
|
|
||||||
"de": "Zugänglich, aber man muss einen Schlüssel für die Eingabe verlangen",
|
|
||||||
"fr": "Accessible, mais vous devez demander la clé"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Are these toilets free to use?",
|
|
||||||
"de": "Können diese Toiletten kostenlos benutzt werden?",
|
|
||||||
"fr": "Ces toilettes sont-elles payantes"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "These are paid toilets",
|
|
||||||
"de": "Dies sind bezahlte Toiletten",
|
|
||||||
"fr": "Toilettes payantes"
|
|
||||||
},
|
|
||||||
"if": "fee=yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "fee=no",
|
|
||||||
"then": {
|
|
||||||
"en": "Free to use",
|
|
||||||
"de": "Kostenlose Nutzung",
|
|
||||||
"fr": "Toilettes gratuites"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "How much does one have to pay for these toilets?",
|
|
||||||
"de": "Wie viel muss man für diese Toiletten bezahlen?",
|
|
||||||
"fr": "Quel est le prix d'accès de ces toilettes ?"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "The fee is {charge}",
|
|
||||||
"de": "Die Gebühr beträgt {charge}",
|
|
||||||
"fr": "Le prix est {charge}"
|
|
||||||
},
|
|
||||||
"condition": "fee=yes",
|
|
||||||
"freeform": {
|
|
||||||
"key": "charge",
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Is there a dedicated toilet for wheelchair users",
|
|
||||||
"de": "Gibt es eine Toilette für Rollstuhlfahrer?",
|
|
||||||
"fr": "Un WC réservé aux personnes à mobilité réduite est-il présent ?"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "There is a dedicated toilet for wheelchair users",
|
|
||||||
"de": "Es gibt eine Toilette für Rollstuhlfahrer",
|
|
||||||
"fr": "Il y a un WC réservé pour les personnes à mobilité réduite"
|
|
||||||
},
|
|
||||||
"if": "wheelchair=yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "wheelchair=no",
|
|
||||||
"then": {
|
|
||||||
"en": "No wheelchair access",
|
|
||||||
"de": "Kein Zugang für Rollstuhlfahrer",
|
|
||||||
"fr": "Non accessible aux personnes à mobilité réduite"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Which kind of toilets are this?",
|
|
||||||
"de": "Welche Art von Toiletten sind das?",
|
|
||||||
"fr": "De quel type sont ces toilettes ?"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"if": "toilets:position=seated",
|
|
||||||
"then": {
|
|
||||||
"en": "There are only seated toilets",
|
|
||||||
"de": "Es gibt nur Sitztoiletten",
|
|
||||||
"fr": "Il y a uniquement des WC assis"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "toilets:position=urinals",
|
|
||||||
"then": {
|
|
||||||
"en": "There are only urinals here",
|
|
||||||
"de": "Hier gibt es nur Pissoirs",
|
|
||||||
"fr": "Il y a uniquement des urinoirs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "toilets:position=squat",
|
|
||||||
"then": {
|
|
||||||
"en": "There are only squat toilets here",
|
|
||||||
"de": "Es gibt hier nur Hocktoiletten.",
|
|
||||||
"fr": "Il y a uniquement des WC turques"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "toilets:position=seated;urinals",
|
|
||||||
"then": {
|
|
||||||
"en": "Both seated toilets and urinals are available here",
|
|
||||||
"de": "Sowohl Sitztoiletten als auch Pissoirs sind hier verfügbar",
|
|
||||||
"fr": "Il y a des WC assis et des urinoirs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Is a changing table (to change diapers) available?",
|
|
||||||
"de": "Ist ein Wickeltisch (zum Wechseln der Windeln) vorhanden?",
|
|
||||||
"fr": "Ces WC disposent-ils d'une table à langer ?"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "A changing table is available",
|
|
||||||
"de": "Ein Wickeltisch ist verfügbar",
|
|
||||||
"fr": "Une table à langer est disponible"
|
|
||||||
},
|
|
||||||
"if": "changing_table=yes"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "changing_table=no",
|
|
||||||
"then": {
|
|
||||||
"en": "No changing table is available",
|
|
||||||
"de": "Es ist kein Wickeltisch verfügbar",
|
|
||||||
"fr": "Aucune table à langer"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question": {
|
|
||||||
"en": "Where is the changing table located?",
|
|
||||||
"de": "Wo befindet sich der Wickeltisch?",
|
|
||||||
"fr": "Où se situe la table à langer ?"
|
|
||||||
},
|
|
||||||
"render": {
|
|
||||||
"en": "The changing table is located at {changing_table:location}",
|
|
||||||
"de": "Die Wickeltabelle befindet sich in {changing_table:location}",
|
|
||||||
"fr": "Emplacement de la table à langer : {changing_table:location}"
|
|
||||||
},
|
|
||||||
"condition": "changing_table=yes",
|
|
||||||
"freeform": {
|
|
||||||
"key": "changing_table:location"
|
|
||||||
},
|
|
||||||
"mappings": [
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "The changing table is in the toilet for women. ",
|
|
||||||
"de": "Der Wickeltisch befindet sich in der Damentoilette. ",
|
|
||||||
"fr": "La table à langer se situe dans les WC pour femmes. "
|
|
||||||
},
|
|
||||||
"if": "changing_table:location=female_toilet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"then": {
|
|
||||||
"en": "The changing table is in the toilet for men. ",
|
|
||||||
"de": "Der Wickeltisch befindet sich in der Herrentoilette. ",
|
|
||||||
"fr": "La table à langer se situe dans les WC pour hommes. "
|
|
||||||
},
|
|
||||||
"if": "changing_table:location=male_toilet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "changing_table:location=wheelchair_toilet",
|
|
||||||
"then": {
|
|
||||||
"en": "The changing table is in the toilet for wheelchair users. ",
|
|
||||||
"de": "Der Wickeltisch befindet sich in der Toilette für Rollstuhlfahrer. ",
|
|
||||||
"fr": "La table à langer se situe dans les WC pour personnes à mobilité réduite. "
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"if": "changing_table:location=dedicated_room",
|
|
||||||
"then": {
|
|
||||||
"en": "The changing table is in a dedicated room. ",
|
|
||||||
"de": "Der Wickeltisch befindet sich in einem eigenen Raum. ",
|
|
||||||
"fr": "La table à langer se situe dans un espace dédié. "
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
Loading…
Reference in a new issue