forked from MapComplete/MapComplete
Merge branch 'pietervdvn:develop' into develop
This commit is contained in:
commit
d14a46cec3
131 changed files with 5463 additions and 1179 deletions
BIN
Docs/FilterFunctionality.gif
Normal file
BIN
Docs/FilterFunctionality.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 MiB |
BIN
Docs/FilteredByDepth.gif
Normal file
BIN
Docs/FilteredByDepth.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 MiB |
|
@ -4,6 +4,11 @@ Making your own theme
|
|||
In MapComplete, it is relatively simple to make your own theme. This guide will give some information on how you can do
|
||||
this.
|
||||
|
||||
Table of contents:
|
||||
|
||||
1. [Requirements](#requirements) which lists what you should know before starting to create a theme
|
||||
2. [What is a good theme?](#what-is-a-good-theme)
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
|
@ -15,14 +20,217 @@ Before you start, you should have the following qualifications:
|
|||
- You are in contact with your local OpenStreetMap community and do know some other members to discuss tagging and to
|
||||
help testing
|
||||
|
||||
If you do not have those qualifications, reach out to the MapComplete community channel
|
||||
Please, do reach out to the MapComplete community channel
|
||||
on [Telegram](https://t.me/MapComplete)
|
||||
or [Matrix](https://app.element.io/#/room/#MapComplete:matrix.org).
|
||||
|
||||
|
||||
What is a good theme?
|
||||
---------------------
|
||||
|
||||
A **theme** (or _layout_) is a single map showing one or more layers.
|
||||
The layers should work together in such a way that they serve a certain **audience**.
|
||||
You should be able to state in a few sentences whom would be the user of such a map, e.g.
|
||||
|
||||
- a cyclist searching for bike repair
|
||||
- a thirsty person who needs water
|
||||
- someone who wants to know what their street is named after
|
||||
- ...
|
||||
|
||||
Some layers will be useful for many themes (e.g. _drinking water_, _toilets_, _shops_, ...). Due to this, MapComplete supports to reuse already existing official layers into a theme.
|
||||
|
||||
To include an already existing layer, simply type the layer id, e.g.:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "my-theme",
|
||||
"title": "My theme for xyz",
|
||||
"...": "...",
|
||||
"layers": [
|
||||
{
|
||||
"id": "my super-awesome new layer"
|
||||
},
|
||||
"bench",
|
||||
"shops",
|
||||
"drinking_water",
|
||||
"toilet"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Note that it is good practice to use an existing layer and to tweak it:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "my super awesome theme",
|
||||
"...": "...",
|
||||
"layers": [
|
||||
{
|
||||
"builtin": [
|
||||
"toilet",
|
||||
"bench"
|
||||
],
|
||||
"override": {
|
||||
"#": "Override is a section which copies all the keys here and 'pastes' them into the existing layers. For example, the 'minzoom' defined here will redifine the minzoom of 'toilet' and 'bench'",
|
||||
"minzoom": 17,
|
||||
"#0": "Appending to lists is supported to, e.g. to add an extra question",
|
||||
"tagRenderings+": [
|
||||
{
|
||||
"id": "new-question",
|
||||
"question": "What is <some property>?",
|
||||
"render": "{property}",
|
||||
"...": "..."
|
||||
}
|
||||
],
|
||||
"#1": "Note that paths will be followed: the below block will add/change the icon of the layer, without changing the other properties of the first tag rendering. (Assumption: the first mapRendering is the icon rendering)",
|
||||
"mapRendering": [
|
||||
{
|
||||
"icon": {
|
||||
"render": "new-icon.svg"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### What is a good layer?
|
||||
|
||||
A good layer is layer which shows **all** objects of a certain type, e.g. **all** shops, **all** restaurants, ...
|
||||
|
||||
It asks some relevant questions, with the most important and easiests questions first.
|
||||
|
||||
#### Don't: use a layer to filter
|
||||
|
||||
**Do not define a layer which filters on an attribute**, such as <del>all restaurants with a vegetarian diet</del>, <del>all shops which accept bitcoin</del>.
|
||||
This makes _addition_ of new points difficult as information might not yet be known. Conser the following situation:
|
||||
|
||||
1. A theme defines a layer `vegetarian restaurants`, which matches `amenity=restaurant` & `diet:vegetarian=yes`.
|
||||
2. An object exists in OSM with `amenity=restaurant`;`name=Fancy Food`;`diet:vegan=yes`;`phone=...`;...
|
||||
3. A contributor visits the themes and will notice that _Fancy Food_ is missing
|
||||
4. The contributor will add _Fancy Food_
|
||||
5. There are now **two** Fancy Food objects in OSM.
|
||||
|
||||
Instead, use the filter functionality instead. This can be used from the layer to hide some objects based on their properties.
|
||||
When the contributor wants to add a new point, they'll be notified that some features might be hidden and only be allowed to add a new point when the points are shown.
|
||||
|
||||

|
||||
|
||||
```json
|
||||
{
|
||||
"id": "my awesome layer",
|
||||
"tagRenderings": "... some relevant attributes and questions ...",
|
||||
"mapRenderings": "... display on the map ... ",
|
||||
"filter": [
|
||||
{
|
||||
"id": "vegetarian",
|
||||
"options": [
|
||||
{
|
||||
"question": {
|
||||
"en": "Has a vegetarian menu"
|
||||
},
|
||||
"osmTags": {
|
||||
"or": [
|
||||
"diet:vegetarian=yes",
|
||||
"diet:vegetarian=only",
|
||||
"diet:vegan=yes",
|
||||
"diet:vegan=only"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
If you want to show only features of a certain type, there is a workaround.
|
||||
For example, the [fritures map](https://mapcomplete.osm.be/fritures.html?z=1&welcome-control-toggle=true) will show french fries shop, aka every `amenity~fast_food|restaurant` with `cuisine=friture`.
|
||||
However, quite a few fritures are already mapped as fastfood but have their `cuisine`-tag missing (or misspelled).
|
||||
|
||||
There is a workaround for this: show **all** food related items at zoomlevel 19 (or higher), and only show the fritures when zoomed out.
|
||||
|
||||
In order to achieve this:
|
||||
|
||||
1. The layer 'food' is defined in a separate file and reused
|
||||
2. The layer food is imported in the theme 'fritures'. With 'override', some properties are changed, namely:
|
||||
- The `osmTags` are overwritten: `cuisine=friture` is now required
|
||||
- The presets are overwritten and _disabled_
|
||||
- The _id_ and _name_ of the layer are changed
|
||||
3. The layer `food` is imported _a second time_, but now the minzoom is set to `19`. This will show _all_ restaurants.
|
||||
|
||||
In case of a friture which is already added as fastfood, they'll see the fastfood popup instead of adding a new item:
|
||||
|
||||

|
||||
|
||||
```json
|
||||
{
|
||||
"layers": [
|
||||
{
|
||||
"builtin": "food",
|
||||
"override": {
|
||||
"id": "friture",
|
||||
"name": {
|
||||
"en": "Fries shop"
|
||||
},
|
||||
"=presets": [],
|
||||
"source": {
|
||||
"=osmTags": {
|
||||
"and": [
|
||||
"cuisine=friture",
|
||||
{
|
||||
"or": [
|
||||
"amenity=fast_food",
|
||||
"amenity=restaurant"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"builtin": "food",
|
||||
"override": {
|
||||
"minzoom": 19,
|
||||
"filter": null,
|
||||
"name": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### What is a good question and tagrendering?
|
||||
|
||||
A tagrendering maps an attribute onto a piece of human readable text.
|
||||
These should be **full sentences**, e.g. `"render": "The maximum speed of this road is {maxspeed} km/h"`
|
||||
|
||||
In some cases, there might be some predifined special values as mappings, such as `"mappings": [{"if": "maxspeed=30", "then": "The maxspeed is 30km/h"}]`
|
||||
|
||||
The question then follows logically: `{"question": "What is the maximum allowed speed for this road, in km/h?"}`
|
||||
At last, you'll also want to say that the user can type an answer too and that it has to be a number: `"freeform":{"key": "maxspeed","type":"pnat"}`.
|
||||
|
||||
The entire tagRendering will thus be:
|
||||
|
||||
```json
|
||||
{
|
||||
"question": "What is the maximum allowed speed for this road, in km/h?",
|
||||
"render": "The maximum speed of this road is {maxspeed} km/h",
|
||||
"freeform":{"key": "maxspeed","type":"pnat"},
|
||||
"mappings": [{"if": "maxspeed=30", "then": "The maxspeed is 30km/h"}]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
The template
|
||||
------------
|
||||
|
||||
[A basic template is availalbe here](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/theme-template.json)
|
||||
[A basic template is available here](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/theme-template.json)
|
||||
|
||||
The custom theme generator
|
||||
--------------------------
|
||||
|
@ -229,18 +437,21 @@ disregarding other properties.
|
|||
|
||||
One should not make one layer for benches with a backrest and one layer for benches without. This is confusing for users
|
||||
and poses problems: what if the backrest status is unknown? What if it is some weird value? Also, it isn't possible to '
|
||||
move' an attribute to another layer.
|
||||
move' a feature to another layer.
|
||||
|
||||
Instead, make one layer for one kind of object and change the icon based on attributes.
|
||||
|
||||
### Using layers as filters
|
||||
|
||||
Using layers as filters - this doesn't work!
|
||||
|
||||
Use the `filter`-functionality instead.
|
||||
|
||||
### Not reading the theme JSON specs
|
||||
|
||||
There are a few advanced features to do fancy stuff available, which are documented only in the spec above - for
|
||||
example, reusing background images and substituting the colours or HTML rendering. If you need advanced stuff, read it
|
||||
through!
|
||||
|
||||
### Forgetting adjacent concepts
|
||||
|
||||
Some new contributors might add a POI to indicate something that resembles it, but quite isn't.
|
||||
|
||||
For example, if they are only offered a layer with public bookcases, they might map their local library with a public bookcase.
|
||||
The perfect solution for this is to provide both the library-layer and public bookcases layer - but this requires having both layers.
|
||||
|
||||
A good solution is to clearly explain what a certain feature is and what it is not.
|
|
@ -22,9 +22,8 @@
|
|||
"#": "For more options and configuration, see the documentation in LayoutConfig.json",
|
||||
"#layers": "The list of layers is where most of the content will be. Either reuse an already existing layer by simply calling it's ID or define a whole new layer. An overview of builtin layers is at https://github.com/pietervdvn/MapComplete/blob/develop/Docs/BuiltinLayers.md#normal-layers",
|
||||
"layers": [
|
||||
"bench",
|
||||
{
|
||||
"id": "a singular nound describing the feature, in english",
|
||||
"id": "a singular noun describing the feature, in english",
|
||||
"source": {
|
||||
"osmTags": {
|
||||
"#": "For a description on which tags are possible, see https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md",
|
||||
|
|
|
@ -16,7 +16,7 @@ export default class TitleHandler {
|
|||
const currentTitle: UIEventSource<string> = state.selectedElement.map(
|
||||
selected => {
|
||||
const layout = state.layoutToUse
|
||||
const defaultTitle = Translations.WT(layout?.title)?.txt ?? "MapComplete"
|
||||
const defaultTitle = layout?.title?.txt ?? "MapComplete"
|
||||
|
||||
if (selected === undefined) {
|
||||
return defaultTitle
|
||||
|
|
|
@ -14,7 +14,6 @@ import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert
|
|||
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
|
||||
import SharedTagRenderings from "../Customizations/SharedTagRenderings";
|
||||
import * as known_layers from "../assets/generated/known_layers.json"
|
||||
import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson";
|
||||
import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme";
|
||||
import * as licenses from "../assets/generated/license_info.json"
|
||||
import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig";
|
||||
|
@ -43,10 +42,6 @@ export default class DetermineLayout {
|
|||
}
|
||||
|
||||
let layoutId: string = undefined
|
||||
if (location.href.indexOf("buurtnatuur.be") >= 0) {
|
||||
layoutId = "buurtnatuur"
|
||||
}
|
||||
|
||||
|
||||
const path = window.location.pathname.split("/").slice(-1)[0];
|
||||
if (path !== "theme.html" && path !== "") {
|
||||
|
@ -72,7 +67,7 @@ export default class DetermineLayout {
|
|||
|
||||
public static LoadLayoutFromHash(
|
||||
userLayoutParam: UIEventSource<string>
|
||||
): (LayoutConfig & {definition: LayoutConfigJson}) | null {
|
||||
): LayoutConfig | null {
|
||||
let hash = location.hash.substr(1);
|
||||
let json: any;
|
||||
|
||||
|
@ -113,9 +108,7 @@ export default class DetermineLayout {
|
|||
|
||||
const layoutToUse = DetermineLayout.prepCustomTheme(json)
|
||||
userLayoutParam.setData(layoutToUse.id);
|
||||
const config = new LayoutConfig(layoutToUse, false);
|
||||
config["definition"] = json
|
||||
return <any> config
|
||||
return layoutToUse
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
if (hash === undefined || hash.length < 10) {
|
||||
|
@ -144,7 +137,7 @@ export default class DetermineLayout {
|
|||
.AttachTo("centermessage");
|
||||
}
|
||||
|
||||
private static prepCustomTheme(json: any): LayoutConfigJson {
|
||||
private static prepCustomTheme(json: any, sourceUrl?: string): LayoutConfig {
|
||||
|
||||
if(json.layers === undefined && json.tagRenderings !== undefined){
|
||||
const iconTr = json.mapRendering.map(mr => mr.icon).find(icon => icon !== undefined)
|
||||
|
@ -161,7 +154,6 @@ export default class DetermineLayout {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
const knownLayersDict = new Map<string, LayerConfigJson>()
|
||||
for (const key in known_layers.layers) {
|
||||
const layer = known_layers.layers[key]
|
||||
|
@ -172,10 +164,17 @@ export default class DetermineLayout {
|
|||
sharedLayers: knownLayersDict
|
||||
}
|
||||
json = new FixLegacyTheme().convertStrict(json, "While loading a dynamic theme")
|
||||
const raw = json;
|
||||
|
||||
json = new FixImages(DetermineLayout._knownImages).convertStrict(json, "While fixing the images")
|
||||
json = new PrepareTheme(converState).convertStrict(json, "While preparing a dynamic theme")
|
||||
console.log("The layoutconfig is ", json)
|
||||
return json
|
||||
|
||||
|
||||
return new LayoutConfig(json, false, {
|
||||
definitionRaw: JSON.stringify(raw, null, " "),
|
||||
definedAtUrl: sourceUrl
|
||||
})
|
||||
}
|
||||
|
||||
private static async LoadRemoteTheme(link: string): Promise<LayoutConfig | null> {
|
||||
|
@ -190,8 +189,7 @@ export default class DetermineLayout {
|
|||
try {
|
||||
parsed.id = link;
|
||||
console.log("Loaded remote link:", link)
|
||||
const layoutToUse = DetermineLayout.prepCustomTheme(parsed)
|
||||
return new LayoutConfig(layoutToUse, false)
|
||||
return DetermineLayout.prepCustomTheme(parsed, link)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
DetermineLayout.ShowErrorOnCustomTheme(
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* This feature source helps the ShowDataLayer class: it introduces the necessary extra features and indiciates with what renderConfig it should be rendered.
|
||||
* This feature source helps the ShowDataLayer class: it introduces the necessary extra features and indicates with what renderConfig it should be rendered.
|
||||
*/
|
||||
import {UIEventSource} from "../../UIEventSource";
|
||||
import {GeoOperations} from "../../GeoOperations";
|
||||
|
@ -11,22 +11,25 @@ export default class RenderingMultiPlexerFeatureSource {
|
|||
public readonly features: UIEventSource<(any & { pointRenderingIndex: number | undefined, lineRenderingIndex: number | undefined })[]>;
|
||||
|
||||
constructor(upstream: FeatureSource, layer: LayerConfig) {
|
||||
|
||||
const pointRenderObjects: { rendering: PointRenderingConfig, index: number }[] = layer.mapRendering.map((r, i) => ({
|
||||
rendering: r,
|
||||
index: i
|
||||
}))
|
||||
const pointRenderings = pointRenderObjects.filter(r => r.rendering.location.has("point"))
|
||||
const centroidRenderings = pointRenderObjects.filter(r => r.rendering.location.has("centroid"))
|
||||
const projectedCentroidRenderings = pointRenderObjects.filter(r => r.rendering.location.has("projected_centerpoint"))
|
||||
const startRenderings = pointRenderObjects.filter(r => r.rendering.location.has("start"))
|
||||
const endRenderings = pointRenderObjects.filter(r => r.rendering.location.has("end"))
|
||||
const hasCentroid = centroidRenderings.length > 0 || projectedCentroidRenderings.length > 0
|
||||
const lineRenderObjects = layer.lineRendering
|
||||
|
||||
this.features = upstream.features.map(
|
||||
features => {
|
||||
if (features === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
const pointRenderObjects: { rendering: PointRenderingConfig, index: number }[] = layer.mapRendering.map((r, i) => ({
|
||||
rendering: r,
|
||||
index: i
|
||||
}))
|
||||
const pointRenderings = pointRenderObjects.filter(r => r.rendering.location.has("point"))
|
||||
const centroidRenderings = pointRenderObjects.filter(r => r.rendering.location.has("centroid"))
|
||||
const startRenderings = pointRenderObjects.filter(r => r.rendering.location.has("start"))
|
||||
const endRenderings = pointRenderObjects.filter(r => r.rendering.location.has("end"))
|
||||
|
||||
const lineRenderObjects = layer.lineRendering
|
||||
|
||||
const withIndex: (any & { pointRenderingIndex: number | undefined, lineRenderingIndex: number | undefined, multiLineStringIndex: number | undefined })[] = [];
|
||||
|
||||
|
@ -55,12 +58,25 @@ export default class RenderingMultiPlexerFeatureSource {
|
|||
}
|
||||
} else {
|
||||
// This is a a line: add the centroids
|
||||
for (const rendering of centroidRenderings) {
|
||||
addAsPoint(feat, rendering, GeoOperations.centerpointCoordinates(feat))
|
||||
let centerpoint: [number, number] = undefined;
|
||||
let projectedCenterPoint : [number, number] = undefined
|
||||
if(hasCentroid){
|
||||
centerpoint = GeoOperations.centerpointCoordinates(feat)
|
||||
if(projectedCentroidRenderings.length > 0){
|
||||
projectedCenterPoint = <[number,number]> GeoOperations.nearestPoint(feat, centerpoint).geometry.coordinates
|
||||
}
|
||||
}
|
||||
for (const rendering of centroidRenderings) {
|
||||
addAsPoint(feat, rendering, centerpoint)
|
||||
}
|
||||
|
||||
|
||||
if (feat.geometry.type === "LineString") {
|
||||
|
||||
for (const rendering of projectedCentroidRenderings) {
|
||||
addAsPoint(feat, rendering, projectedCenterPoint)
|
||||
}
|
||||
|
||||
// Add start- and endpoints
|
||||
const coordinates = feat.geometry.coordinates
|
||||
for (const rendering of startRenderings) {
|
||||
|
@ -71,6 +87,10 @@ export default class RenderingMultiPlexerFeatureSource {
|
|||
addAsPoint(feat, rendering, coordinate)
|
||||
}
|
||||
|
||||
}else{
|
||||
for (const rendering of projectedCentroidRenderings) {
|
||||
addAsPoint(feat, rendering, centerpoint)
|
||||
}
|
||||
}
|
||||
|
||||
// AT last, add it 'as is' to what we should render
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import {Utils} from "../../Utils";
|
||||
import {UIEventSource} from "../UIEventSource";
|
||||
import * as wds from "wikibase-sdk"
|
||||
import * as wds from "wikidata-sdk"
|
||||
|
||||
export class WikidataResponse {
|
||||
public readonly id: string
|
||||
|
@ -126,13 +126,22 @@ export interface WikidataSearchoptions {
|
|||
maxCount?: 20 | number
|
||||
}
|
||||
|
||||
export interface WikidataAdvancedSearchoptions extends WikidataSearchoptions {
|
||||
instanceOf?: number[];
|
||||
notInstanceOf?: number[]
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Utility functions around wikidata
|
||||
*/
|
||||
export default class Wikidata {
|
||||
|
||||
private static readonly _identifierPrefixes = ["Q", "L"].map(str => str.toLowerCase())
|
||||
private static readonly _prefixesToRemove = ["https://www.wikidata.org/wiki/Lexeme:", "https://www.wikidata.org/wiki/", "Lexeme:"].map(str => str.toLowerCase())
|
||||
private static readonly _prefixesToRemove = ["https://www.wikidata.org/wiki/Lexeme:",
|
||||
"https://www.wikidata.org/wiki/",
|
||||
"http://www.wikidata.org/entity/",
|
||||
"Lexeme:"].map(str => str.toLowerCase())
|
||||
|
||||
|
||||
private static readonly _cache = new Map<string, UIEventSource<{ success: WikidataResponse } | { error: any }>>()
|
||||
|
@ -148,6 +157,52 @@ export default class Wikidata {
|
|||
return src;
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a search text, searches for the relevant wikidata entries, excluding pages "outside of the main tree", e.g. disambiguation pages.
|
||||
* Optionally, an 'instance of' can be given to limit the scope, e.g. instanceOf:5 (humans) will only search for humans
|
||||
*/
|
||||
public static async searchAdvanced(text: string, options: WikidataAdvancedSearchoptions): Promise<{
|
||||
id: string,
|
||||
relevance?: number,
|
||||
label: string,
|
||||
description?: string
|
||||
}[]> {
|
||||
let instanceOf = ""
|
||||
if (options?.instanceOf !== undefined && options.instanceOf.length > 0) {
|
||||
const phrases = options.instanceOf.map(q => `{ ?item wdt:P31/wdt:P279* wd:Q${q}. }`)
|
||||
instanceOf = "{"+ phrases.join(" UNION ") + "}"
|
||||
}
|
||||
const forbidden = (options?.notInstanceOf ?? [])
|
||||
.concat([17379835]) // blacklist 'wikimedia pages outside of the main knowledge tree', e.g. disambiguation pages
|
||||
const minusPhrases = forbidden.map(q => `MINUS {?item wdt:P31/wdt:P279* wd:Q${q} .}`)
|
||||
const sparql = `SELECT * WHERE {
|
||||
SERVICE wikibase:mwapi {
|
||||
bd:serviceParam wikibase:api "EntitySearch" .
|
||||
bd:serviceParam wikibase:endpoint "www.wikidata.org" .
|
||||
bd:serviceParam mwapi:search "${text}" .
|
||||
bd:serviceParam mwapi:language "${options.lang}" .
|
||||
?item wikibase:apiOutputItem mwapi:item .
|
||||
?num wikibase:apiOrdinal true .
|
||||
bd:serviceParam wikibase:limit ${Math.round((options.maxCount ?? 20) * 1.5) /*Some padding for disambiguation pages */} .
|
||||
?label wikibase:apiOutput mwapi:label .
|
||||
?description wikibase:apiOutput "@description" .
|
||||
}
|
||||
${instanceOf}
|
||||
${minusPhrases.join("\n ")}
|
||||
} ORDER BY ASC(?num) LIMIT ${options.maxCount ?? 20}`
|
||||
const url = wds.sparqlQuery(sparql)
|
||||
|
||||
const result = await Utils.downloadJson(url)
|
||||
/*The full uri of the wikidata-item*/
|
||||
|
||||
return result.results.bindings.map(({item, label, description, num}) => ({
|
||||
relevance: num?.value,
|
||||
id: item?.value,
|
||||
label: label?.value,
|
||||
description: description?.value
|
||||
}))
|
||||
}
|
||||
|
||||
public static async search(
|
||||
search: string,
|
||||
options?: WikidataSearchoptions,
|
||||
|
@ -195,39 +250,28 @@ export default class Wikidata {
|
|||
|
||||
public static async searchAndFetch(
|
||||
search: string,
|
||||
options?: WikidataSearchoptions
|
||||
options?: WikidataAdvancedSearchoptions
|
||||
): Promise<WikidataResponse[]> {
|
||||
const maxCount = options.maxCount
|
||||
// We provide some padding to filter away invalid values
|
||||
options.maxCount = Math.ceil((options.maxCount ?? 20) * 1.5)
|
||||
const searchResults = await Wikidata.search(search, options)
|
||||
const maybeResponses = await Promise.all(searchResults.map(async r => {
|
||||
try {
|
||||
return await Wikidata.LoadWikidataEntry(r.id).AsPromise()
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return undefined;
|
||||
}
|
||||
}))
|
||||
const responses = maybeResponses
|
||||
.map(r => <WikidataResponse>r["success"])
|
||||
.filter(wd => {
|
||||
if (wd === undefined) {
|
||||
return false;
|
||||
const searchResults = await Wikidata.searchAdvanced(search, options)
|
||||
const maybeResponses = await Promise.all(
|
||||
searchResults.map(async r => {
|
||||
try {
|
||||
console.log("Loading ", r.id)
|
||||
return await Wikidata.LoadWikidataEntry(r.id).AsPromise()
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
return undefined;
|
||||
}
|
||||
if (wd.claims.get("P31" /*Instance of*/)?.has("Q4167410"/* Wikimedia Disambiguation page*/)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
})
|
||||
responses.splice(maxCount, responses.length - maxCount)
|
||||
return responses
|
||||
}))
|
||||
return Utils.NoNull(maybeResponses.map(r => <WikidataResponse>r["success"]))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the 'key' segment from a URL
|
||||
*
|
||||
*
|
||||
* Wikidata.ExtractKey("https://www.wikidata.org/wiki/Lexeme:L614072") // => "L614072"
|
||||
* Wikidata.ExtractKey("http://www.wikidata.org/entity/Q55008046") // => "Q55008046"
|
||||
*/
|
||||
public static ExtractKey(value: string | number): string {
|
||||
if (typeof value === "number") {
|
||||
|
@ -271,6 +315,35 @@ export default class Wikidata {
|
|||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts 'Q123' into 123, returns undefined if invalid
|
||||
*
|
||||
* Wikidata.QIdToNumber("Q123") // => 123
|
||||
* Wikidata.QIdToNumber(" Q123 ") // => 123
|
||||
* Wikidata.QIdToNumber(" X123 ") // => undefined
|
||||
* Wikidata.QIdToNumber(" Q123X ") // => undefined
|
||||
* Wikidata.QIdToNumber(undefined) // => undefined
|
||||
* Wikidata.QIdToNumber(123) // => 123
|
||||
*/
|
||||
public static QIdToNumber(q: string | number): number | undefined {
|
||||
if(q === undefined || q === null){
|
||||
return
|
||||
}
|
||||
if(typeof q === "number"){
|
||||
return q
|
||||
}
|
||||
q = q.trim()
|
||||
if (!q.startsWith("Q")) {
|
||||
return
|
||||
}
|
||||
q = q.substr(1)
|
||||
const n = Number(q)
|
||||
if (isNaN(n)) {
|
||||
return
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
public static IdToArticle(id: string) {
|
||||
if (id.startsWith("Q")) {
|
||||
return "https://wikidata.org/wiki/" + id
|
||||
|
@ -305,4 +378,4 @@ export default class Wikidata {
|
|||
return WikidataResponse.fromJson(response)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ import {Utils} from "../Utils";
|
|||
|
||||
export default class Constants {
|
||||
|
||||
public static vNumber = "0.19.0-alpha";
|
||||
public static vNumber = "0.18.2";
|
||||
|
||||
public static ImgurApiKey = '7070e7167f0a25a'
|
||||
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"
|
||||
|
|
|
@ -216,13 +216,18 @@ export class Fuse<T> extends DesugaringStep<T> {
|
|||
const information = []
|
||||
for (let i = 0; i < this.steps.length; i++) {
|
||||
const step = this.steps[i];
|
||||
let r = step.convert(json, "While running step " + step.name + ": " + context)
|
||||
errors.push(...r.errors ?? [])
|
||||
warnings.push(...r.warnings ?? [])
|
||||
information.push(...r.information ?? [])
|
||||
json = r.result
|
||||
if (errors.length > 0) {
|
||||
break;
|
||||
try{
|
||||
let r = step.convert(json, "While running step " + step.name + ": " + context)
|
||||
errors.push(...r.errors ?? [])
|
||||
warnings.push(...r.warnings ?? [])
|
||||
information.push(...r.information ?? [])
|
||||
json = r.result
|
||||
if (errors.length > 0) {
|
||||
break;
|
||||
}
|
||||
}catch(e){
|
||||
console.error("Step "+step.name+" failed due to "+e);
|
||||
throw e
|
||||
}
|
||||
}
|
||||
return {
|
||||
|
|
|
@ -479,6 +479,7 @@ export class PrepareTheme extends Fuse<LayoutConfigJson> {
|
|||
}) {
|
||||
super(
|
||||
"Fully prepares and expands a theme",
|
||||
|
||||
new AddContextToTransltionsInLayout(),
|
||||
new PreparePersonalTheme(state),
|
||||
new WarnForUnsubstitutedLayersInTheme(),
|
||||
|
|
|
@ -68,7 +68,7 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
|
|||
const warnings = []
|
||||
const information = []
|
||||
|
||||
const theme = new LayoutConfig(json, true, "test")
|
||||
const theme = new LayoutConfig(json, true)
|
||||
|
||||
{
|
||||
// Legacy format checks
|
||||
|
@ -217,12 +217,17 @@ class MiscThemeChecks extends DesugaringStep<LayoutConfigJson>{
|
|||
|
||||
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[]; information?: string[] } {
|
||||
const warnings = []
|
||||
const errors = []
|
||||
if(json.id !== "personal" && (json.layers === undefined || json.layers.length === 0)){
|
||||
errors.push("The theme "+json.id+" has no 'layers' defined ("+context+")")
|
||||
}
|
||||
if(json.socialImage === ""){
|
||||
warnings.push("Social image for theme "+json.id+" is the emtpy string")
|
||||
}
|
||||
return {
|
||||
result :json,
|
||||
warnings
|
||||
warnings,
|
||||
errors
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -231,8 +236,8 @@ export class PrevalidateTheme extends Fuse<LayoutConfigJson> {
|
|||
|
||||
constructor() {
|
||||
super("Various consistency checks on the raw JSON",
|
||||
new OverrideShadowingCheck(),
|
||||
new MiscThemeChecks()
|
||||
new MiscThemeChecks(),
|
||||
new OverrideShadowingCheck()
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -13,9 +13,10 @@ export default interface PointRenderingConfigJson {
|
|||
|
||||
/**
|
||||
* All the locations that this point should be rendered at.
|
||||
* Using `location: ["point", "centroid"] will always render centerpoint
|
||||
* Using `location: ["point", "centroid"] will always render centerpoint.
|
||||
* 'projected_centerpoint' will show an item on the line itself, near the middle of the line. (LineStrings only)
|
||||
*/
|
||||
location: ("point" | "centroid" | "start" | "end" | string)[]
|
||||
location: ("point" | "centroid" | "start" | "end" | "projected_centerpoint" | string)[]
|
||||
|
||||
/**
|
||||
* The icon for an element.
|
||||
|
|
|
@ -18,9 +18,12 @@ export default interface UnitConfigJson {
|
|||
|
||||
export interface ApplicableUnitJson {
|
||||
/**
|
||||
* The canonical value which will be added to the text.
|
||||
* The canonical value which will be added to the value in OSM.
|
||||
* e.g. "m" for meters
|
||||
* If the user inputs '42', the canonical value will be added and it'll become '42m'
|
||||
* If the user inputs '42', the canonical value will be added and it'll become '42m'.
|
||||
*
|
||||
* Important: often, _no_ canonical values are expected, e.g. in the case of 'maxspeed' where 'km/h' is the default.
|
||||
* In this case, an empty string should be used
|
||||
*/
|
||||
canonicalDenomination: string,
|
||||
/**
|
||||
|
|
|
@ -134,6 +134,9 @@ export default class LayerConfig extends WithContextLoader {
|
|||
|
||||
this.allowSplit = json.allowSplit ?? false;
|
||||
this.name = Translations.T(json.name, translationContext + ".name");
|
||||
if(json.units!==undefined && !Array.isArray(json.units)){
|
||||
throw "At "+context+".units: the 'units'-section should be a list; you probably have an object there"
|
||||
}
|
||||
this.units = (json.units ?? []).map(((unitJson, i) => Unit.fromJson(unitJson, `${context}.unit[${i}]`)))
|
||||
|
||||
if (json.description !== undefined) {
|
||||
|
|
|
@ -56,9 +56,17 @@ export default class LayoutConfig {
|
|||
public readonly usedImages: string[]
|
||||
public readonly extraLink?: ExtraLinkConfig
|
||||
|
||||
constructor(json: LayoutConfigJson, official = true, context?: string) {
|
||||
public readonly definedAtUrl? : string;
|
||||
public readonly definitionRaw?: string;
|
||||
|
||||
constructor(json: LayoutConfigJson, official = true,options?: {
|
||||
definedAtUrl?: string,
|
||||
definitionRaw?: string
|
||||
}) {
|
||||
this.official = official;
|
||||
this.id = json.id;
|
||||
this.definedAtUrl = options?.definedAtUrl
|
||||
this.definitionRaw = options?.definitionRaw
|
||||
if (official) {
|
||||
if (json.id.toLowerCase() !== json.id) {
|
||||
throw "The id of a theme should be lowercase: " + json.id
|
||||
|
@ -67,11 +75,7 @@ export default class LayoutConfig {
|
|||
throw "The id of a theme should match [a-z0-9-_]*: " + json.id
|
||||
}
|
||||
}
|
||||
if(context === undefined){
|
||||
context = this.id
|
||||
}else{
|
||||
context = context + "." + this.id;
|
||||
}
|
||||
const context = this.id
|
||||
this.maintainer = json.maintainer;
|
||||
this.credits = json.credits;
|
||||
this.version = json.version;
|
||||
|
|
|
@ -15,8 +15,8 @@ import {VariableUiElement} from "../../UI/Base/VariableUIElement";
|
|||
|
||||
export default class PointRenderingConfig extends WithContextLoader {
|
||||
|
||||
private static readonly allowed_location_codes = new Set<string>(["point", "centroid", "start", "end"])
|
||||
public readonly location: Set<"point" | "centroid" | "start" | "end" | string>
|
||||
private static readonly allowed_location_codes = new Set<string>(["point", "centroid", "start", "end","projected_centerpoint"])
|
||||
public readonly location: Set<"point" | "centroid" | "start" | "end" | "projected_centerpoint" | string>
|
||||
|
||||
public readonly icon: TagRenderingConfig;
|
||||
public readonly iconBadges: { if: TagsFilter; then: TagRenderingConfig }[];
|
||||
|
|
|
@ -14,7 +14,7 @@ export default class AddNewMarker extends Combine {
|
|||
let last = undefined;
|
||||
for (const filteredLayer of filteredLayers) {
|
||||
const layer = filteredLayer.layerDef;
|
||||
if(layer.name === undefined){
|
||||
if(layer.name === undefined && !filteredLayer.isDisplayed.data){
|
||||
continue
|
||||
}
|
||||
for (const preset of filteredLayer.layerDef.presets) {
|
||||
|
|
|
@ -17,7 +17,10 @@ export default class LicensePicker extends DropDown<string> {
|
|||
{value: LicensePicker.ccbysa, shown: Translations.t.image.ccbs.Clone()},
|
||||
{value: LicensePicker.ccby, shown: Translations.t.image.ccb.Clone()}
|
||||
],
|
||||
state?.osmConnection?.GetPreference("pictures-license") ?? new UIEventSource<string>("CC0")
|
||||
state?.osmConnection?.GetPreference("pictures-license") ?? new UIEventSource<string>("CC0"),
|
||||
{
|
||||
select_class:"w-min bg-indigo-100 p-1 rounded hover:bg-indigo-200"
|
||||
}
|
||||
)
|
||||
this.SetClass("flex flex-col sm:flex-row").SetStyle("float:left");
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ import BaseLayer from "../../Models/BaseLayer";
|
|||
import FilteredLayer from "../../Models/FilteredLayer";
|
||||
import {InputElement} from "../Input/InputElement";
|
||||
import CheckBoxes, {CheckBox} from "../Input/Checkboxes";
|
||||
import {SubtleButton} from "../Base/SubtleButton";
|
||||
import LZString from "lz-string";
|
||||
|
||||
export default class ShareScreen extends Combine {
|
||||
|
||||
|
@ -24,14 +26,6 @@ export default class ShareScreen extends Combine {
|
|||
const optionCheckboxes: InputElement<boolean>[] = []
|
||||
const optionParts: (UIEventSource<string>)[] = [];
|
||||
|
||||
function check() {
|
||||
return Svg.checkmark_svg().SetStyle("width: 1.5em; display:inline-block;");
|
||||
}
|
||||
|
||||
function nocheck() {
|
||||
return Svg.no_checkmark_svg().SetStyle("width: 1.5em; display: inline-block;");
|
||||
}
|
||||
|
||||
const includeLocation = new CheckBox(tr.fsIncludeCurrentLocation, true)
|
||||
optionCheckboxes.push(includeLocation);
|
||||
|
||||
|
@ -49,6 +43,7 @@ export default class ShareScreen extends Combine {
|
|||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
}, [currentLocation]));
|
||||
|
||||
|
||||
|
@ -119,6 +114,9 @@ export default class ShareScreen extends Combine {
|
|||
|
||||
}
|
||||
|
||||
if(layout.definitionRaw !== undefined){
|
||||
optionParts.push(new UIEventSource("userlayout="+(layout.definedAtUrl ?? layout.id)))
|
||||
}
|
||||
|
||||
const options = new Combine(optionCheckboxes).SetClass("flex flex-col")
|
||||
const url = (currentLocation ?? new UIEventSource(undefined)).map(() => {
|
||||
|
@ -126,13 +124,21 @@ export default class ShareScreen extends Combine {
|
|||
const host = window.location.host;
|
||||
let path = window.location.pathname;
|
||||
path = path.substr(0, path.lastIndexOf("/"));
|
||||
let literalText = `https://${host}${path}/${layout.id.toLowerCase()}`
|
||||
let id = layout.id.toLowerCase()
|
||||
if(layout.definitionRaw !== undefined){
|
||||
id="theme.html"
|
||||
}
|
||||
let literalText = `https://${host}${path}/${id}`
|
||||
|
||||
let hash = ""
|
||||
if(layout.definedAtUrl === undefined && layout.definitionRaw !== undefined){
|
||||
hash = "#"+ LZString.compressToBase64( Utils.MinifyJSON(layout.definitionRaw))
|
||||
}
|
||||
const parts = Utils.NoEmpty(Utils.NoNull(optionParts.map((eventSource) => eventSource.data)));
|
||||
if (parts.length === 0) {
|
||||
return literalText;
|
||||
return literalText + hash;
|
||||
}
|
||||
return literalText + "?" + parts.join("&");
|
||||
return literalText + "?" + parts.join("&") + hash;
|
||||
}, optionParts);
|
||||
|
||||
|
||||
|
@ -184,13 +190,27 @@ export default class ShareScreen extends Combine {
|
|||
|
||||
});
|
||||
|
||||
|
||||
let downloadThemeConfig: BaseUIElement = undefined;
|
||||
if(layout.definitionRaw !== undefined){
|
||||
downloadThemeConfig = new SubtleButton(Svg.download_svg(), new Combine([
|
||||
tr.downloadCustomTheme,
|
||||
tr.downloadCustomThemeHelp.SetClass("subtle")
|
||||
]).onClick(() => {
|
||||
Utils.offerContentsAsDownloadableFile(layout.definitionRaw, layout.id+".mapcomplete-theme-definition.json", {
|
||||
mimetype:"application/json"
|
||||
})
|
||||
})
|
||||
.SetClass("flex flex-col"))
|
||||
}
|
||||
|
||||
super([
|
||||
tr.intro.Clone(),
|
||||
tr.intro,
|
||||
link,
|
||||
new VariableUiElement(linkStatus),
|
||||
tr.addToHomeScreen.Clone(),
|
||||
tr.embedIntro.Clone(),
|
||||
downloadThemeConfig,
|
||||
tr.addToHomeScreen,
|
||||
tr.embedIntro,
|
||||
options,
|
||||
iframeCode,
|
||||
])
|
||||
|
|
|
@ -191,7 +191,7 @@ export default class SimpleAddUI extends Toggle {
|
|||
preset.icon(),
|
||||
new Combine([
|
||||
title.SetClass("font-bold"),
|
||||
Translations.WT(preset.description)?.FirstSentence()
|
||||
preset.description?.FirstSentence()
|
||||
]).SetClass("flex flex-col")
|
||||
)
|
||||
}
|
||||
|
@ -208,15 +208,20 @@ export default class SimpleAddUI extends Toggle {
|
|||
const allButtons = [];
|
||||
for (const layer of state.filteredLayers.data) {
|
||||
|
||||
if (layer.isDisplayed.data === false && !state.featureSwitchFilter.data) {
|
||||
// The layer is not displayed and we cannot enable the layer control -> we skip
|
||||
continue;
|
||||
if (layer.isDisplayed.data === false) {
|
||||
// The layer is not displayed...
|
||||
if(!state.featureSwitchFilter.data){
|
||||
// ...and we cannot enable the layer control -> we skip, as these presets can never be shown anyway
|
||||
continue;
|
||||
}
|
||||
|
||||
if (layer.layerDef.name === undefined) {
|
||||
// this layer can never be toggled on in any case, so we skip the presets
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (layer.layerDef.name === undefined) {
|
||||
// this is a parlty hidden layer
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
const presets = layer.layerDef.presets;
|
||||
for (const preset of presets) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import {VariableUiElement} from "../Base/VariableUIElement";
|
|||
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
|
||||
import {OsmConnection} from "../../Logic/Osm/OsmConnection";
|
||||
import {Changes} from "../../Logic/Osm/Changes";
|
||||
import Loading from "../Base/Loading";
|
||||
|
||||
export class ImageUploadFlow extends Toggle {
|
||||
|
||||
|
@ -138,16 +139,16 @@ export class ImageUploadFlow extends Toggle {
|
|||
if (l == 0) {
|
||||
return undefined
|
||||
}
|
||||
return t.uploadFailed.Clone().SetClass("alert");
|
||||
return new Loading(t.uploadFailed).SetClass("alert");
|
||||
})),
|
||||
new VariableUiElement(uploadedCount.map(l => {
|
||||
if (l == 0) {
|
||||
return undefined;
|
||||
}
|
||||
if (l == 1) {
|
||||
return t.uploadDone.Clone().SetClass("thanks");
|
||||
return t.uploadDone.Clone().SetClass("thanks block");
|
||||
}
|
||||
return t.uploadMultipleDone.Subs({count: l}).SetClass("thanks")
|
||||
return t.uploadMultipleDone.Subs({count: l}).SetClass("thanks block")
|
||||
})),
|
||||
|
||||
fileSelector,
|
||||
|
|
|
@ -13,19 +13,20 @@ export class ConfirmProcess extends Combine implements FlowStep<{ features: any[
|
|||
|
||||
constructor(v: { features: any[], theme: string }) {
|
||||
const t = Translations.t.importHelper.confirmProcess;
|
||||
const toConfirm = [
|
||||
const elements = [
|
||||
new Link(t.readImportGuidelines, "https://wiki.openstreetmap.org/wiki/Import_guidelines", true),
|
||||
t.contactedCommunity,
|
||||
t.licenseIsCompatible,
|
||||
t.wikipageIsMade
|
||||
];
|
||||
]
|
||||
const toConfirm = new CheckBoxes(elements);
|
||||
|
||||
super([
|
||||
new Title(t.titleLong),
|
||||
new CheckBoxes(toConfirm),
|
||||
toConfirm,
|
||||
]);
|
||||
this.SetClass("link-underline")
|
||||
this.IsValid = new CheckBoxes(toConfirm).GetValue().map(selected => toConfirm.length == selected.length)
|
||||
this.IsValid = toConfirm.GetValue().map(selected => elements.length == selected.length)
|
||||
this.Value = new UIEventSource<{ features: any[], theme: string }>(v)
|
||||
}
|
||||
}
|
|
@ -47,6 +47,27 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
const toImport: {features: any[]} = params;
|
||||
let overpassStatus = new UIEventSource<{ error: string } | "running" | "success" | "idle" | "cached">("idle")
|
||||
const cacheAge = new UIEventSource<number>(undefined);
|
||||
|
||||
|
||||
function loadDataFromOverpass(){
|
||||
// Load the data!
|
||||
const url = Constants.defaultOverpassUrls[1]
|
||||
const relationTracker = new RelationsTracker()
|
||||
const overpass = new Overpass(params.layer.source.osmTags, [], url, new UIEventSource<number>(180), relationTracker, true)
|
||||
console.log("Loading from overpass!")
|
||||
overpassStatus.setData("running")
|
||||
overpass.queryGeoJson(bbox).then(
|
||||
([data, date]) => {
|
||||
console.log("Received overpass-data: ", data.features.length, "features are loaded at ", date);
|
||||
overpassStatus.setData("success")
|
||||
fromLocalStorage.setData([data, date])
|
||||
},
|
||||
(error) => {
|
||||
overpassStatus.setData({error})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const fromLocalStorage = IdbLocalStorage.Get<[any, Date]>("importer-overpass-cache-" + layer.id, {
|
||||
|
||||
whenLoaded: (v) => {
|
||||
|
@ -63,22 +84,7 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
}
|
||||
cacheAge.setData(-1)
|
||||
}
|
||||
// Load the data!
|
||||
const url = Constants.defaultOverpassUrls[1]
|
||||
const relationTracker = new RelationsTracker()
|
||||
const overpass = new Overpass(params.layer.source.osmTags, [], url, new UIEventSource<number>(180), relationTracker, true)
|
||||
console.log("Loading from overpass!")
|
||||
overpassStatus.setData("running")
|
||||
overpass.queryGeoJson(bbox).then(
|
||||
([data, date]) => {
|
||||
console.log("Received overpass-data: ", data.features.length, "features are loaded at ", date);
|
||||
overpassStatus.setData("success")
|
||||
fromLocalStorage.setData([data, date])
|
||||
},
|
||||
(error) => {
|
||||
overpassStatus.setData({error})
|
||||
})
|
||||
|
||||
loadDataFromOverpass()
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -166,7 +172,7 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
return osmData.features.filter(f =>
|
||||
toImport.features.some(imp =>
|
||||
maxDist >= GeoOperations.distanceBetween(imp.geometry.coordinates, GeoOperations.centerpointCoordinates(f))))
|
||||
}, [nearbyCutoff.GetValue()]), false);
|
||||
}, [nearbyCutoff.GetValue().stabilized(500)]), false);
|
||||
const paritionedImport = ImportUtils.partitionFeaturesIfNearby(toImport, geojson, nearbyCutoff.GetValue().map(Number));
|
||||
|
||||
// Featuresource showing OSM-features which are nearby a toImport-feature
|
||||
|
@ -211,13 +217,17 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
if (age < 0) {
|
||||
return t.cacheExpired
|
||||
}
|
||||
return t.loadedDataAge.Subs({age: Utils.toHumanTime(age)})
|
||||
return new Combine([t.loadedDataAge.Subs({age: Utils.toHumanTime(age)}),
|
||||
new SubtleButton(Svg.reload_svg().SetClass("h-8"), t.reloadTheCache)
|
||||
.onClick(loadDataFromOverpass)
|
||||
.SetClass("h-12")
|
||||
])
|
||||
})),
|
||||
|
||||
new Title(t.titleLive),
|
||||
t.importCandidatesCount.Subs({count:toImport.features.length }),
|
||||
new VariableUiElement(geojson.map(geojson => {
|
||||
if(geojson?.features?.length === undefined && geojson?.features?.length === 0){
|
||||
if(geojson?.features?.length === undefined || geojson?.features?.length === 0){
|
||||
return t.nothingLoaded.Subs(layer).SetClass("alert")
|
||||
}
|
||||
return new Combine([
|
||||
|
@ -233,7 +243,7 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
new Combine([t.mapShowingNearbyIntro, nearbyCutoff]).SetClass("flex"),
|
||||
new VariableUiElement(toImportWithNearby.features.map(feats =>
|
||||
t.nearbyWarn.Subs({count: feats.length}).SetClass("alert"))),
|
||||
,t.setRangeToZero,
|
||||
t.setRangeToZero,
|
||||
matchedFeaturesMap]).SetClass("flex flex-col")
|
||||
|
||||
super([
|
||||
|
@ -246,7 +256,7 @@ export default class ConflationChecker extends Combine implements FlowStep<{ fea
|
|||
return new Loading(t.states.running)
|
||||
}
|
||||
if (d["error"] !== undefined) {
|
||||
return t.states.error.Subs(d).SetClass("alert")
|
||||
return t.states.error.Subs({error: d["error"]}).SetClass("alert")
|
||||
}
|
||||
|
||||
if (d === "cached") {
|
||||
|
|
|
@ -9,12 +9,14 @@ import {FixedUiElement} from "../Base/FixedUiElement";
|
|||
import {SubtleButton} from "../Base/SubtleButton";
|
||||
import Svg from "../../Svg";
|
||||
import Translations from "../i18n/Translations";
|
||||
import {Translation} from "../i18n/Translation";
|
||||
|
||||
export class CreateNotes extends Combine {
|
||||
|
||||
public static createNoteContents(feature: {properties: any, geometry: {coordinates: [number,number]}},
|
||||
options: {wikilink: string; intro: string; source: string, theme: string }
|
||||
): string[]{
|
||||
|
||||
public static createNoteContentsUi(feature: {properties: any, geometry: {coordinates: [number,number]}},
|
||||
options: {wikilink: string; intro: string; source: string, theme: string }
|
||||
): (Translation | string)[]{
|
||||
const src = feature.properties["source"] ?? feature.properties["src"] ?? options.source
|
||||
delete feature.properties["source"]
|
||||
delete feature.properties["src"]
|
||||
|
@ -41,14 +43,26 @@ export class CreateNotes extends Combine {
|
|||
return [
|
||||
options.intro,
|
||||
extraNote,
|
||||
note.datasource.Subs({source: src}).txt,
|
||||
note.wikilink.Subs(options).txt,
|
||||
note.datasource.Subs({source: src}),
|
||||
note.wikilink.Subs(options),
|
||||
'',
|
||||
note.importEasily.txt,
|
||||
note.importEasily,
|
||||
`https://mapcomplete.osm.be/${options.theme}.html?z=18&lat=${lat}&lon=${lon}#import`,
|
||||
...tags]
|
||||
}
|
||||
|
||||
public static createNoteContents(feature: {properties: any, geometry: {coordinates: [number,number]}},
|
||||
options: {wikilink: string; intro: string; source: string, theme: string }
|
||||
): string[]{
|
||||
return CreateNotes.createNoteContentsUi(feature, options).map(trOrStr => {
|
||||
if(typeof trOrStr === "string"){
|
||||
return trOrStr
|
||||
}
|
||||
return trOrStr.txt
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
constructor(state: { osmConnection: OsmConnection }, v: { features: any[]; wikilink: string; intro: string; source: string, theme: string }) {
|
||||
const t = Translations.t.importHelper.createNotes;
|
||||
const createdNotes: UIEventSource<number[]> = new UIEventSource<number[]>([])
|
||||
|
@ -83,7 +97,7 @@ export class CreateNotes extends Combine {
|
|||
)))),
|
||||
new Combine([
|
||||
Svg.party_svg().SetClass("w-24"),
|
||||
t.done.Subs(v.features.length).SetClass("thanks"),
|
||||
t.done.Subs({count: v.features.length}).SetClass("thanks"),
|
||||
new SubtleButton(Svg.note_svg(),
|
||||
t.openImportViewer , {
|
||||
url: "import_viewer.html"
|
||||
|
|
|
@ -44,6 +44,47 @@ interface NoteState {
|
|||
status: "imported" | "already_mapped" | "invalid" | "closed" | "not_found" | "open" | "has_comments"
|
||||
}
|
||||
|
||||
class DownloadStatisticsButton extends SubtleButton {
|
||||
constructor(states: NoteState[][]) {
|
||||
super(Svg.statistics_svg(), "Download statistics");
|
||||
this.onClick(() => {
|
||||
|
||||
const st: NoteState[] = [].concat(...states)
|
||||
|
||||
const fields = [
|
||||
"id",
|
||||
"status",
|
||||
"theme",
|
||||
"date_created",
|
||||
"date_closed",
|
||||
"days_open",
|
||||
"intro",
|
||||
"...comments"
|
||||
]
|
||||
const values : string[][] = st.map(note => {
|
||||
|
||||
|
||||
return [note.props.id+"",
|
||||
note.status,
|
||||
note.theme,
|
||||
note.props.date_created?.substr(0, note.props.date_created.length - 3),
|
||||
note.props.closed_at?.substr(0, note.props.closed_at.length - 3) ?? "",
|
||||
JSON.stringify( note.intro),
|
||||
...note.props.comments.map(c => JSON.stringify(c.user)+": "+JSON.stringify(c.text))
|
||||
]
|
||||
})
|
||||
|
||||
Utils.offerContentsAsDownloadableFile(
|
||||
[fields, ...values].map(c => c.join(", ")).join("\n"),
|
||||
"mapcomplete_import_notes_overview.csv",
|
||||
{
|
||||
mimetype: "text/csv"
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
class MassAction extends Combine {
|
||||
constructor(state: UserRelatedState, props: NoteProperties[]) {
|
||||
const textField = ValidatedTextField.ForType("text").ConstructInputElement()
|
||||
|
@ -303,7 +344,9 @@ class ImportInspector extends VariableUiElement {
|
|||
contents.push(accordeon)
|
||||
const content = new Combine(contents)
|
||||
return new LeftIndex(
|
||||
[new TableOfContents(content, {noTopLevel: true, maxDepth: 1}).SetClass("subtle")],
|
||||
[new TableOfContents(content, {noTopLevel: true, maxDepth: 1}).SetClass("subtle"),
|
||||
new DownloadStatisticsButton(perBatch)
|
||||
],
|
||||
content
|
||||
)
|
||||
|
||||
|
|
|
@ -4,13 +4,14 @@ import {UIEventSource} from "../../Logic/UIEventSource";
|
|||
import Translations from "../i18n/Translations";
|
||||
import Title from "../Base/Title";
|
||||
import {CreateNotes} from "./CreateNotes";
|
||||
import {FixedUiElement} from "../Base/FixedUiElement";
|
||||
|
||||
export default class Introdution extends Combine implements FlowStep<void> {
|
||||
readonly IsValid: UIEventSource<boolean>;
|
||||
readonly Value: UIEventSource<void>;
|
||||
|
||||
constructor() {
|
||||
const example = CreateNotes.createNoteContents({
|
||||
const example = CreateNotes.createNoteContentsUi({
|
||||
properties:{
|
||||
"some_key":"some_value",
|
||||
"note":"a note in the original dataset"
|
||||
|
@ -23,7 +24,7 @@ export default class Introdution extends Combine implements FlowStep<void> {
|
|||
intro: "There might be an XYZ here",
|
||||
theme: "theme",
|
||||
source: "source of the data"
|
||||
})
|
||||
}).map(el => el === "" ? new FixedUiElement("").SetClass("block") : el)
|
||||
|
||||
super([
|
||||
new Title(Translations.t.importHelper.introduction.title),
|
||||
|
|
|
@ -47,7 +47,7 @@ export class DropDown<T> extends InputElement<T> {
|
|||
}
|
||||
|
||||
options = options ?? {}
|
||||
options.select_class = options.select_class ?? 'bg-indigo-100 p-1 rounded hover:bg-indigo-200'
|
||||
options.select_class = options.select_class ?? 'w-full bg-indigo-100 p-1 rounded hover:bg-indigo-200'
|
||||
|
||||
|
||||
{
|
||||
|
|
|
@ -250,13 +250,15 @@ class WikidataTextField extends TextFieldDef {
|
|||
["subarg", "doc"],
|
||||
[["removePrefixes", "remove these snippets of text from the start of the passed string to search"],
|
||||
["removePostfixes", "remove these snippets of text from the end of the passed string to search"],
|
||||
["instanceOf","A list of Q-identifier which indicates that the search results _must_ be an entity of this type, e.g. [`Q5`](https://www.wikidata.org/wiki/Q5) for humans"],
|
||||
["notInstanceof","A list of Q-identifiers which indicates that the search results _must not_ be an entity of this type, e.g. [`Q79007`](https://www.wikidata.org/wiki/Q79007) to filter away all streets from the search results"]
|
||||
]
|
||||
)])
|
||||
]]),
|
||||
new Title("Example usage"),
|
||||
`The following is the 'freeform'-part of a layer config which will trigger a search for the wikidata item corresponding with the name of the selected feature. It will also remove '-street', '-square', ... if found at the end of the name
|
||||
|
||||
\`\`\`
|
||||
\`\`\`json
|
||||
"freeform": {
|
||||
"key": "name:etymology:wikidata",
|
||||
"type": "wikidata",
|
||||
|
@ -269,11 +271,29 @@ class WikidataTextField extends TextFieldDef {
|
|||
"path",
|
||||
"square",
|
||||
"plaza",
|
||||
]
|
||||
],
|
||||
"#": "Remove streets and parks from the search results:"
|
||||
"notInstanceOf": ["Q79007","Q22698"]
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
\`\`\``
|
||||
\`\`\`
|
||||
|
||||
Another example is to search for species and trees:
|
||||
|
||||
\`\`\`json
|
||||
"freeform": {
|
||||
"key": "species:wikidata",
|
||||
"type": "wikidata",
|
||||
"helperArgs": [
|
||||
"species",
|
||||
{
|
||||
"instanceOf": [10884, 16521]
|
||||
}]
|
||||
}
|
||||
\`\`\`
|
||||
`
|
||||
]));
|
||||
}
|
||||
|
||||
|
@ -304,9 +324,9 @@ class WikidataTextField extends TextFieldDef {
|
|||
const args = inputHelperOptions.args ?? []
|
||||
const searchKey = args[0] ?? "name"
|
||||
|
||||
let searchFor = <string>inputHelperOptions.feature?.properties[searchKey]?.toLowerCase()
|
||||
let searchFor = <string>(inputHelperOptions.feature?.properties[searchKey]?.toLowerCase() ?? "")
|
||||
|
||||
const options = args[1]
|
||||
const options: any = args[1]
|
||||
if (searchFor !== undefined && options !== undefined) {
|
||||
const prefixes = <string[]>options["removePrefixes"]
|
||||
const postfixes = <string[]>options["removePostfixes"]
|
||||
|
@ -325,10 +345,18 @@ class WikidataTextField extends TextFieldDef {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
let instanceOf : number[] = Utils.NoNull((options?.instanceOf ?? []).map(i => Wikidata.QIdToNumber(i)))
|
||||
let notInstanceOf : number[] = Utils.NoNull((options?.notInstanceOf ?? []).map(i => Wikidata.QIdToNumber(i)))
|
||||
|
||||
console.log("Instance of", instanceOf)
|
||||
|
||||
|
||||
return new WikidataSearchBox({
|
||||
value: currentValue,
|
||||
searchText: new UIEventSource<string>(searchFor)
|
||||
searchText: new UIEventSource<string>(searchFor),
|
||||
instanceOf,
|
||||
notInstanceOf
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -424,7 +452,7 @@ class UrlTextfieldDef extends TextFieldDef {
|
|||
reformat(str: string): string {
|
||||
try {
|
||||
let url: URL
|
||||
str = str.toLowerCase()
|
||||
// str = str.toLowerCase() // URLS are case sensitive. Lowercasing them might break some URLS. See #763
|
||||
if (!str.startsWith("http://") && !str.startsWith("https://") && !str.startsWith("http:")) {
|
||||
url = new URL("https://" + str)
|
||||
} else {
|
||||
|
|
|
@ -202,7 +202,7 @@ export default class DeleteWizard extends Toggle {
|
|||
private static generateDeleteTagRenderingConfig(softDeletionTags: TagsFilter,
|
||||
nonDeleteOptions: { if: TagsFilter; then: Translation }[],
|
||||
extraDeleteReasons: { explanation: Translation; changesetMessage: string }[],
|
||||
currentTags: any) {
|
||||
currentTags: any): TagRenderingConfig {
|
||||
const t = Translations.t.delete
|
||||
nonDeleteOptions = nonDeleteOptions ?? []
|
||||
let softDeletionTagsStr = []
|
||||
|
|
|
@ -194,7 +194,7 @@ ${Utils.special_visualizations_importRequirementDocs}
|
|||
importFlow,
|
||||
isImported
|
||||
),
|
||||
t.zoomInMore.SetClass("alert"),
|
||||
t.zoomInMore.SetClass("alert block"),
|
||||
state.locationControl.map(l => l.zoom >= 18)
|
||||
),
|
||||
pleaseLoginButton,
|
||||
|
@ -613,7 +613,7 @@ export class ImportPointButton extends AbstractImportButton {
|
|||
icon: () => new Img(args.icon),
|
||||
layerToAddTo: state.filteredLayers.data.filter(l => l.layerDef.id === args.targetLayer)[0],
|
||||
name: args.text,
|
||||
title: Translations.WT(args.text),
|
||||
title: Translations.T(args.text),
|
||||
preciseInput: preciseInputSpec, // must be explicitely assigned, if 'undefined' won't work otherwise
|
||||
boundsFactor: 3
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ export default class MoveWizard extends Toggle {
|
|||
moveReason.setData(reason)
|
||||
moveButton = new SubtleButton(
|
||||
reason.icon.SetStyle("height: 1.5rem; width: 1.5rem;"),
|
||||
Translations.WT(reason.invitingText)
|
||||
Translations.T(reason.invitingText)
|
||||
).onClick(() => {
|
||||
currentStep.setData("pick_location")
|
||||
})
|
||||
|
|
|
@ -11,7 +11,7 @@ import {SaveButton} from "./SaveButton";
|
|||
import {VariableUiElement} from "../Base/VariableUIElement";
|
||||
import Translations from "../i18n/Translations";
|
||||
import {FixedUiElement} from "../Base/FixedUiElement";
|
||||
import {Translation} from "../i18n/Translation";
|
||||
import {Translation, TypedTranslation} from "../i18n/Translation";
|
||||
import Constants from "../../Models/Constants";
|
||||
import {SubstitutedTranslation} from "../SubstitutedTranslation";
|
||||
import {TagsFilter} from "../../Logic/Tags/TagsFilter";
|
||||
|
@ -51,7 +51,7 @@ export default class TagRenderingQuestion extends Combine {
|
|||
|
||||
const applicableMappingsSrc =
|
||||
UIEventSource.ListStabilized(tags.map(tags => {
|
||||
const applicableMappings: { if: TagsFilter, then: any, ifnot?: TagsFilter, addExtraTags: Tag[] }[] = []
|
||||
const applicableMappings: { if: TagsFilter, icon?: string, then: TypedTranslation<object>, ifnot?: TagsFilter, addExtraTags: Tag[] }[] = []
|
||||
for (const mapping of configuration.mappings ?? []) {
|
||||
if (mapping.hideInAnswer === true) {
|
||||
continue
|
||||
|
@ -158,7 +158,7 @@ export default class TagRenderingQuestion extends Combine {
|
|||
private static GenerateInputElement(
|
||||
state,
|
||||
configuration: TagRenderingConfig,
|
||||
applicableMappings: { if: TagsFilter, then: any, ifnot?: TagsFilter, addExtraTags: Tag[] }[],
|
||||
applicableMappings: { if: TagsFilter, then: TypedTranslation<object>, icon?: string, ifnot?: TagsFilter, addExtraTags: Tag[] }[],
|
||||
applicableUnit: Unit,
|
||||
tagsSource: UIEventSource<any>,
|
||||
feedback: UIEventSource<Translation>
|
||||
|
@ -168,7 +168,7 @@ export default class TagRenderingQuestion extends Combine {
|
|||
const ff = TagRenderingQuestion.GenerateFreeform(state, configuration, applicableUnit, tagsSource, feedback);
|
||||
|
||||
|
||||
const hasImages = applicableMappings.findIndex(mapping => mapping.then.icon !== undefined) >= 0
|
||||
const hasImages = applicableMappings.findIndex(mapping => mapping.icon !== undefined) >= 0
|
||||
let inputEls: InputElement<TagsFilter>[];
|
||||
|
||||
const ifNotsPresent = applicableMappings.some(mapping => mapping.ifnot !== undefined)
|
||||
|
@ -207,7 +207,7 @@ export default class TagRenderingQuestion extends Combine {
|
|||
applicableMappings.map((mapping, i) => {
|
||||
return {
|
||||
value: new And([mapping.if, ...allIfNotsExcept(i)]),
|
||||
shown: Translations.WT(mapping.then)
|
||||
shown: mapping.then.Subs(tagsSource.data)
|
||||
}
|
||||
})
|
||||
)
|
||||
|
|
|
@ -46,6 +46,8 @@ import {LoginToggle} from "./Popup/LoginButton";
|
|||
import {start} from "repl";
|
||||
import {SubstitutedTranslation} from "./SubstitutedTranslation";
|
||||
import {TextField} from "./Input/TextField";
|
||||
import Wikidata, {WikidataResponse} from "../Logic/Web/Wikidata";
|
||||
import {Translation} from "./i18n/Translation";
|
||||
|
||||
export interface SpecialVisualization {
|
||||
funcName: string,
|
||||
|
@ -159,19 +161,19 @@ class CloseNoteButton implements SpecialVisualization {
|
|||
tags.ping()
|
||||
})
|
||||
})
|
||||
|
||||
if((params.minZoom??"") !== "" && !isNaN(Number(params.minZoom))){
|
||||
closeButton = new Toggle(
|
||||
|
||||
if ((params.minZoom ?? "") !== "" && !isNaN(Number(params.minZoom))) {
|
||||
closeButton = new Toggle(
|
||||
closeButton,
|
||||
params.zoomButton ?? "",
|
||||
state. locationControl.map(l => l.zoom >= Number(params.minZoom))
|
||||
state.locationControl.map(l => l.zoom >= Number(params.minZoom))
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
return new LoginToggle(new Toggle(
|
||||
t.isClosed.SetClass("thanks"),
|
||||
closeButton,
|
||||
|
||||
|
||||
isClosed
|
||||
), t.loginToClose, state)
|
||||
}
|
||||
|
@ -180,7 +182,7 @@ class CloseNoteButton implements SpecialVisualization {
|
|||
|
||||
export default class SpecialVisualizations {
|
||||
|
||||
public static specialVisualizations : SpecialVisualization[] = SpecialVisualizations.init()
|
||||
public static specialVisualizations: SpecialVisualization[] = SpecialVisualizations.init()
|
||||
|
||||
public static HelpMessage() {
|
||||
|
||||
|
@ -207,28 +209,28 @@ export default class SpecialVisualizations {
|
|||
));
|
||||
|
||||
return new Combine([
|
||||
new Combine([
|
||||
|
||||
new Title("Special tag renderings", 1),
|
||||
|
||||
"In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's.",
|
||||
"General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args",
|
||||
new Title("Using expanded syntax",4),
|
||||
`Instead of using \`{"render": {"en": "{some_special_visualisation(some_arg, some other really long message, more args)} , "nl": "{some_special_visualisation(some_arg, een boodschap in een andere taal, more args)}}, one can also write`,
|
||||
new FixedUiElement(JSON.stringify({
|
||||
render: {
|
||||
special:{
|
||||
type: "some_special_visualisation",
|
||||
"argname": "some_arg",
|
||||
"message":{
|
||||
en:"some other really long message",
|
||||
nl: "een boodschap in een andere taal"
|
||||
},
|
||||
"other_arg_name":"more args"
|
||||
new Combine([
|
||||
|
||||
new Title("Special tag renderings", 1),
|
||||
|
||||
"In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's.",
|
||||
"General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args",
|
||||
new Title("Using expanded syntax", 4),
|
||||
`Instead of using \`{"render": {"en": "{some_special_visualisation(some_arg, some other really long message, more args)} , "nl": "{some_special_visualisation(some_arg, een boodschap in een andere taal, more args)}}, one can also write`,
|
||||
new FixedUiElement(JSON.stringify({
|
||||
render: {
|
||||
special: {
|
||||
type: "some_special_visualisation",
|
||||
"argname": "some_arg",
|
||||
"message": {
|
||||
en: "some other really long message",
|
||||
nl: "een boodschap in een andere taal"
|
||||
},
|
||||
"other_arg_name": "more args"
|
||||
}
|
||||
}
|
||||
}
|
||||
})).SetClass("code")
|
||||
]).SetClass("flex flex-col"),
|
||||
})).SetClass("code")
|
||||
]).SetClass("flex flex-col"),
|
||||
...helpTexts
|
||||
]
|
||||
).SetClass("flex flex-col");
|
||||
|
@ -297,6 +299,32 @@ export default class SpecialVisualizations {
|
|||
)
|
||||
|
||||
},
|
||||
{
|
||||
funcName: "wikidata_label",
|
||||
docs: "Shows the label of the corresponding wikidata-item",
|
||||
args: [
|
||||
{
|
||||
name: "keyToShowWikidataFor",
|
||||
doc: "Use the wikidata entry from this key to show the label",
|
||||
defaultValue: "wikidata"
|
||||
}
|
||||
],
|
||||
example: "`{wikidata_label()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the label itself",
|
||||
constr: (_, tagsSource, args) =>
|
||||
new VariableUiElement(
|
||||
tagsSource.map(tags => tags[args[0]])
|
||||
.map(wikidata => {
|
||||
wikidata = Utils.NoEmpty(wikidata?.split(";")?.map(wd => wd.trim()) ?? [])[0]
|
||||
const entry = Wikidata.LoadWikidataEntry(wikidata)
|
||||
return new VariableUiElement(entry.map(e => {
|
||||
if (e === undefined || e["success"] === undefined) {
|
||||
return wikidata
|
||||
}
|
||||
const response = <WikidataResponse>e["success"]
|
||||
return Translation.fromMap(response.labels)
|
||||
}))
|
||||
}))
|
||||
},
|
||||
{
|
||||
funcName: "minimap",
|
||||
docs: "A small map showing the selected feature.",
|
||||
|
@ -482,7 +510,7 @@ export default class SpecialVisualizations {
|
|||
docs: "Downloads a JSON from the given URL, e.g. '{live(example.org/data.json, shorthand:x.y.z, other:a.b.c, shorthand)}' will download the given file, will create an object {shorthand: json[x][y][z], other: json[a][b][c] out of it and will return 'other' or 'json[a][b][c]. This is made to use in combination with tags, e.g. {live({url}, {url:format}, needed_value)}",
|
||||
example: "{live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)}",
|
||||
args: [{
|
||||
name: "Url",
|
||||
name: "Url",
|
||||
doc: "The URL to load",
|
||||
required: true
|
||||
}, {
|
||||
|
@ -783,7 +811,7 @@ export default class SpecialVisualizations {
|
|||
const textField = new TextField(
|
||||
{
|
||||
placeholder: t.addCommentPlaceholder,
|
||||
inputStyle: "width: 100%; height: 6rem;",
|
||||
inputStyle: "width: 100%; height: 6rem;",
|
||||
textAreaRows: 3,
|
||||
htmlType: "area"
|
||||
}
|
||||
|
@ -846,7 +874,7 @@ export default class SpecialVisualizations {
|
|||
textField,
|
||||
new Combine([
|
||||
stateButtons.SetClass("sm:mr-2"),
|
||||
new Toggle(addCommentButton,
|
||||
new Toggle(addCommentButton,
|
||||
new Combine([t.typeText]).SetClass("flex items-center h-full subtle"),
|
||||
textField.GetValue().map(t => t !== undefined && t.length >= 1)).SetClass("sm:mr-2")
|
||||
]).SetClass("sm:flex sm:justify-between sm:items-stretch")
|
||||
|
@ -947,7 +975,7 @@ export default class SpecialVisualizations {
|
|||
]
|
||||
|
||||
specialVisualizations.push(new AutoApplyButton(specialVisualizations))
|
||||
|
||||
|
||||
return specialVisualizations;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,14 +17,20 @@ export default class WikidataSearchBox extends InputElement<string> {
|
|||
IsSelected: UIEventSource<boolean> = new UIEventSource<boolean>(false);
|
||||
private readonly wikidataId: UIEventSource<string>
|
||||
private readonly searchText: UIEventSource<string>
|
||||
private readonly instanceOf?: number[];
|
||||
private readonly notInstanceOf?: number[];
|
||||
|
||||
constructor(options?: {
|
||||
searchText?: UIEventSource<string>,
|
||||
value?: UIEventSource<string>
|
||||
value?: UIEventSource<string>,
|
||||
notInstanceOf?: number[],
|
||||
instanceOf?: number[]
|
||||
}) {
|
||||
super();
|
||||
this.searchText = options?.searchText
|
||||
this.wikidataId = options?.value ?? new UIEventSource<string>(undefined);
|
||||
this.instanceOf = options?.instanceOf
|
||||
this.notInstanceOf = options?.notInstanceOf
|
||||
}
|
||||
|
||||
GetValue(): UIEventSource<string> {
|
||||
|
@ -59,7 +65,9 @@ export default class WikidataSearchBox extends InputElement<string> {
|
|||
if (promise === undefined) {
|
||||
promise = Wikidata.searchAndFetch(searchText, {
|
||||
lang,
|
||||
maxCount: 5
|
||||
maxCount: 5,
|
||||
notInstanceOf: this.notInstanceOf,
|
||||
instanceOf: this.instanceOf
|
||||
}
|
||||
)
|
||||
WikidataSearchBox._searchCache.set(key, promise)
|
||||
|
@ -75,13 +83,15 @@ export default class WikidataSearchBox extends InputElement<string> {
|
|||
return new Combine([Translations.t.general.wikipedia.failed.Clone().SetClass("alert"), searchFailMessage.data])
|
||||
}
|
||||
|
||||
if (searchField.GetValue().data.length === 0) {
|
||||
return Translations.t.general.wikipedia.doSearch
|
||||
}
|
||||
|
||||
if (searchResults.length === 0) {
|
||||
return Translations.t.general.wikipedia.noResults.Subs({search: searchField.GetValue().data ?? ""})
|
||||
}
|
||||
|
||||
if (searchResults.length === 0) {
|
||||
return Translations.t.general.wikipedia.doSearch
|
||||
}
|
||||
|
||||
|
||||
return new Combine(searchResults.map(wikidataresponse => {
|
||||
const el = WikidataPreviewBox.WikidataResponsePreview(wikidataresponse).SetClass("rounded-xl p-1 sm:p-2 md:p-3 m-px border-2 sm:border-4 transition-colors")
|
||||
|
|
|
@ -22,6 +22,25 @@ export default class Translations {
|
|||
return s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a string or an object into a typed translation.
|
||||
* Translation objects ('Translation' and 'TypedTranslation') are converted/returned
|
||||
*
|
||||
* Translations.T("some text") // => new TypedTranslation({"*": "some text"})
|
||||
* Translations.T("some text").txt // => "some text"
|
||||
*
|
||||
* const t = new Translation({"nl": "vertaling", "en": "translation"})
|
||||
* Translations.T(t) // => new TypedTranslation<object>({"nl": "vertaling", "en": "translation"})
|
||||
*
|
||||
* const t = new TypedTranslation({"nl": "vertaling", "en": "translation"})
|
||||
* Translations.T(t) // => t
|
||||
*
|
||||
* const json: any = {"en": "English", "nl": "Nederlands"};
|
||||
* const translation = Translations.T(new Translation(json));
|
||||
* translation.textFor("en") // => "English"
|
||||
* translation.textFor("nl") // => "Nederlands"
|
||||
*
|
||||
*/
|
||||
static T(t: string | any, context = undefined): TypedTranslation<object> {
|
||||
if (t === undefined || t === null) {
|
||||
return undefined;
|
||||
|
@ -30,7 +49,7 @@ export default class Translations {
|
|||
t = "" + t
|
||||
}
|
||||
if (typeof t === "string") {
|
||||
return new TypedTranslation({"*": t}, context);
|
||||
return new TypedTranslation<object>({"*": t}, context);
|
||||
}
|
||||
if (t.render !== undefined) {
|
||||
const msg = "Creating a translation, but this object contains a 'render'-field. Use the translation directly"
|
||||
|
@ -40,30 +59,12 @@ export default class Translations {
|
|||
if (t instanceof TypedTranslation) {
|
||||
return t;
|
||||
}
|
||||
return new TypedTranslation(t, context);
|
||||
if(t instanceof Translation){
|
||||
return new TypedTranslation<object>(t.translations)
|
||||
}
|
||||
return new TypedTranslation<object>(t, context);
|
||||
}
|
||||
|
||||
/**
|
||||
* 'Wrap Translation': given an object containing translations OR a string, returns a translation object
|
||||
*
|
||||
* const json: any = {"en": "English", "nl": "Nederlands"};
|
||||
* const translation = Translations.WT(new Translation(json));
|
||||
* translation.textFor("en") // => "English"
|
||||
* translation.textFor("nl") // => "Nederlands"
|
||||
*/
|
||||
public static WT(s: string | Translation): Translation {
|
||||
if (s === undefined || s === null) {
|
||||
return undefined;
|
||||
}
|
||||
if (typeof (s) === "string") {
|
||||
return new Translation({'*': s});
|
||||
}
|
||||
if (s instanceof Translation) {
|
||||
return s.Clone() /* MUST CLONE HERE! */;
|
||||
}
|
||||
console.error("Trying to Translation.WT, but got ", s)
|
||||
throw "??? Not a valid translation"
|
||||
}
|
||||
|
||||
public static CountTranslations() {
|
||||
const queue: any = [Translations.t];
|
||||
|
|
2
Utils.ts
2
Utils.ts
|
@ -756,7 +756,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
|
|||
* Triggers a 'download file' popup which will download the contents
|
||||
*/
|
||||
public static offerContentsAsDownloadableFile(contents: string | Blob, fileName: string = "download.txt",
|
||||
options?: { mimetype: string | "text/plain" | "text/csv" | "application/vnd.geo+json" | "{gpx=application/gpx+xml}" }) {
|
||||
options?: { mimetype: string | "text/plain" | "text/csv" | "application/vnd.geo+json" | "{gpx=application/gpx+xml}" | "application/json" }) {
|
||||
const element = document.createElement("a");
|
||||
let file;
|
||||
if (typeof (contents) === "string") {
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
{
|
||||
"ca": "català",
|
||||
"de": "Deutsch",
|
||||
"eo": "Esperanto",
|
||||
"fr": "français",
|
||||
"es": "español",
|
||||
"gl": "lingua galega",
|
||||
"fi": "suomi",
|
||||
"en": "English",
|
||||
"ru": "русский язык",
|
||||
"it": "italiano",
|
||||
"pl": "język polski",
|
||||
"ja": "日本語",
|
||||
"sv": "svenska",
|
||||
"pt": "português",
|
||||
"nl": "Nederlands",
|
||||
"id": "Indonesia",
|
||||
"eo": "Esperanto",
|
||||
"es": "español",
|
||||
"fi": "suomi",
|
||||
"fr": "français",
|
||||
"gl": "lingua galega",
|
||||
"hu": "magyar",
|
||||
"id": "Indonesia",
|
||||
"it": "italiano",
|
||||
"ja": "日本語",
|
||||
"nb_NO": "bokmål",
|
||||
"zh_Hant": "簡體中文",
|
||||
"pt_BR": "português brasileiro"
|
||||
"nl": "Nederlands",
|
||||
"pl": "język polski",
|
||||
"pt": "português",
|
||||
"pt_BR": "português brasileiro",
|
||||
"ru": "русский язык",
|
||||
"sl": "slovenščina",
|
||||
"sv": "svenska",
|
||||
"zh_Hant": "簡體中文"
|
||||
}
|
|
@ -1,27 +1,4 @@
|
|||
{
|
||||
"ca": {
|
||||
"en": "Catalan",
|
||||
"de": "Katalanisch",
|
||||
"nl": "Catalaans",
|
||||
"ca": "català",
|
||||
"es": "catalán",
|
||||
"fr": "catalan",
|
||||
"eo": "kataluna lingvo",
|
||||
"fi": "katalaani",
|
||||
"gl": "lingua catalá",
|
||||
"hu": "katalán",
|
||||
"id": "Bahasa Katala",
|
||||
"it": "catalano",
|
||||
"ja": "カタルーニャ語",
|
||||
"nb_NO": "katalansk",
|
||||
"pl": "język kataloński",
|
||||
"pt": "língua catalã",
|
||||
"pt_BR": "língua catalã",
|
||||
"ru": "каталанский язык",
|
||||
"sv": "katalanska",
|
||||
"zh_Hans": "加泰罗尼亚语",
|
||||
"zh_Hant": "加泰隆尼亞語"
|
||||
},
|
||||
"de": {
|
||||
"ca": "alemany",
|
||||
"en": "German",
|
||||
|
@ -41,6 +18,7 @@
|
|||
"pl": "język niemiecki",
|
||||
"pt": "alemão",
|
||||
"ru": "немецкий язык",
|
||||
"sl": "nemščina",
|
||||
"sv": "tyska",
|
||||
"zh_Hans": "德语",
|
||||
"zh_Hant": "德語"
|
||||
|
@ -65,10 +43,36 @@
|
|||
"pt": "esperanto",
|
||||
"pt_BR": "esperanto",
|
||||
"ru": "эсперанто",
|
||||
"sl": "esperanto",
|
||||
"sv": "esperanto",
|
||||
"zh_Hans": "世界语"
|
||||
},
|
||||
"ca": {
|
||||
"en": "Catalan",
|
||||
"de": "Katalanisch",
|
||||
"nl": "Catalaans",
|
||||
"ca": "català",
|
||||
"es": "catalán",
|
||||
"fr": "catalan",
|
||||
"eo": "kataluna lingvo",
|
||||
"fi": "katalaani",
|
||||
"gl": "lingua catalá",
|
||||
"hu": "katalán",
|
||||
"id": "Bahasa Katala",
|
||||
"it": "catalano",
|
||||
"ja": "カタルーニャ語",
|
||||
"nb_NO": "katalansk",
|
||||
"pl": "język kataloński",
|
||||
"pt": "língua catalã",
|
||||
"pt_BR": "língua catalã",
|
||||
"ru": "каталанский язык",
|
||||
"sl": "Katalonščina",
|
||||
"sv": "katalanska",
|
||||
"zh_Hans": "加泰罗尼亚语",
|
||||
"zh_Hant": "加泰隆尼亞語"
|
||||
},
|
||||
"fr": {
|
||||
"zh_Hans": "法语",
|
||||
"es": "francés",
|
||||
"nl": "Frans",
|
||||
"en": "French",
|
||||
|
@ -84,11 +88,11 @@
|
|||
"fi": "ranska",
|
||||
"gl": "lingua francesa",
|
||||
"ja": "フランス語",
|
||||
"zh_Hans": "法语",
|
||||
"nb_NO": "fransk",
|
||||
"pl": "język francuski",
|
||||
"pt_BR": "francês",
|
||||
"ru": "французский язык",
|
||||
"sl": "francoščina",
|
||||
"sv": "franska"
|
||||
},
|
||||
"es": {
|
||||
|
@ -110,6 +114,7 @@
|
|||
"pt": "espanhol",
|
||||
"pt_BR": "espanhol",
|
||||
"ru": "испанский язык",
|
||||
"sl": "španščina",
|
||||
"sv": "spanska",
|
||||
"zh_Hans": "西班牙语",
|
||||
"zh_Hant": "西班牙語"
|
||||
|
@ -133,17 +138,11 @@
|
|||
"pt": "galego",
|
||||
"pt_BR": "língua galega",
|
||||
"ru": "галисийский язык",
|
||||
"sl": "Galicijščina",
|
||||
"sv": "galiciska",
|
||||
"zh_Hant": "加利西亞語"
|
||||
},
|
||||
"fi": {
|
||||
"nb_NO": "finsk",
|
||||
"pl": "język fiński",
|
||||
"pt": "finlandês",
|
||||
"pt_BR": "língua finlandesa",
|
||||
"sv": "finska",
|
||||
"zh_Hans": "芬兰语",
|
||||
"zh_Hant": "芬蘭語",
|
||||
"nl": "Fins",
|
||||
"de": "Finnisch",
|
||||
"en": "Finnish",
|
||||
|
@ -157,16 +156,17 @@
|
|||
"ca": "finès",
|
||||
"eo": "finna lingvo",
|
||||
"fr": "finnois",
|
||||
"gl": "finés"
|
||||
"gl": "finés",
|
||||
"nb_NO": "finsk",
|
||||
"pl": "język fiński",
|
||||
"pt": "finlandês",
|
||||
"pt_BR": "língua finlandesa",
|
||||
"sl": "finščina",
|
||||
"sv": "finska",
|
||||
"zh_Hans": "芬兰语",
|
||||
"zh_Hant": "芬蘭語"
|
||||
},
|
||||
"en": {
|
||||
"pl": "język angielski",
|
||||
"pt": "inglês",
|
||||
"pt_BR": "inglês",
|
||||
"ru": "английский язык",
|
||||
"sv": "engelska",
|
||||
"zh_Hans": "英语",
|
||||
"zh_Hant": "英語",
|
||||
"id": "Inggris",
|
||||
"it": "inglese",
|
||||
"ja": "英語",
|
||||
|
@ -180,9 +180,25 @@
|
|||
"fi": "englanti",
|
||||
"fr": "anglais",
|
||||
"gl": "lingua inglesa",
|
||||
"hu": "angol"
|
||||
"hu": "angol",
|
||||
"pl": "język angielski",
|
||||
"pt": "inglês",
|
||||
"pt_BR": "inglês",
|
||||
"ru": "английский язык",
|
||||
"sl": "angleščina",
|
||||
"sv": "engelska",
|
||||
"zh_Hans": "英语",
|
||||
"zh_Hant": "英語"
|
||||
},
|
||||
"ru": {
|
||||
"zh_Hans": "俄语",
|
||||
"zh_Hant": "俄語",
|
||||
"hu": "orosz",
|
||||
"en": "Russian",
|
||||
"ru": "русский язык",
|
||||
"es": "ruso",
|
||||
"fr": "russe",
|
||||
"nl": "Russisch",
|
||||
"ca": "rus",
|
||||
"de": "Russisch",
|
||||
"eo": "rusa lingvo",
|
||||
|
@ -191,88 +207,35 @@
|
|||
"id": "Rusia",
|
||||
"it": "russo",
|
||||
"ja": "ロシア語",
|
||||
"hu": "orosz",
|
||||
"en": "Russian",
|
||||
"ru": "русский язык",
|
||||
"es": "ruso",
|
||||
"fr": "russe",
|
||||
"nl": "Russisch",
|
||||
"sv": "ryska",
|
||||
"zh_Hans": "俄语",
|
||||
"zh_Hant": "俄語",
|
||||
"nb_NO": "russisk",
|
||||
"pl": "język rosyjski",
|
||||
"pt": "russo",
|
||||
"pt_BR": "russo"
|
||||
"pt_BR": "russo",
|
||||
"sl": "ruščina",
|
||||
"sv": "ryska"
|
||||
},
|
||||
"it": {
|
||||
"zh_Hans": "意大利语",
|
||||
"zh_Hant": "義大利語",
|
||||
"nb_NO": "italiensk",
|
||||
"pl": "język włoski",
|
||||
"pt_BR": "língua italiana",
|
||||
"ru": "итальянский язык",
|
||||
"sv": "italienska",
|
||||
"ca": "italià",
|
||||
"eo": "itala lingvo",
|
||||
"fi": "italia",
|
||||
"gl": "lingua italiana",
|
||||
"en": "Italian",
|
||||
"ja": "イタリア語",
|
||||
"es": "italiano",
|
||||
"hu": "olasz",
|
||||
"id": "Italia",
|
||||
"it": "italiano",
|
||||
"fr": "italien",
|
||||
"de": "Italienisch",
|
||||
"nl": "Italiaans",
|
||||
"pt": "italiano"
|
||||
},
|
||||
"pl": {
|
||||
"de": "Polnisch",
|
||||
"en": "Polish",
|
||||
"pl": "język polski",
|
||||
"es": "polaco",
|
||||
"fr": "polonais",
|
||||
"ca": "polonès",
|
||||
"eo": "pola lingvo",
|
||||
"fi": "puola",
|
||||
"gl": "lingua polaca",
|
||||
"hu": "lengyel",
|
||||
"id": "Polandia",
|
||||
"zh_Hans": "波兰语",
|
||||
"zh_Hant": "波蘭語",
|
||||
"it": "polacco",
|
||||
"ja": "ポーランド語",
|
||||
"nb_NO": "polsk",
|
||||
"nl": "Pools",
|
||||
"pt": "polaco",
|
||||
"pt_BR": "língua polonesa",
|
||||
"ru": "польский язык",
|
||||
"sv": "polska"
|
||||
},
|
||||
"ja": {
|
||||
"nb_NO": "japansk",
|
||||
"nl": "Japans",
|
||||
"pl": "język japoński",
|
||||
"pt": "japonês",
|
||||
"pt_BR": "língua japonesa",
|
||||
"ru": "японский язык",
|
||||
"sv": "japanska",
|
||||
"zh_Hans": "日语",
|
||||
"zh_Hant": "日語",
|
||||
"en": "Japanese",
|
||||
"ca": "japonès",
|
||||
"de": "Japanisch",
|
||||
"eo": "japana lingvo",
|
||||
"es": "japonés",
|
||||
"fi": "japani",
|
||||
"fr": "japonais",
|
||||
"gl": "lingua xaponesa",
|
||||
"hu": "japán",
|
||||
"id": "Bahasa Jepang",
|
||||
"it": "giapponese",
|
||||
"ja": "日本語"
|
||||
"sl": {
|
||||
"en": "Slovene",
|
||||
"ca": "eslovè",
|
||||
"de": "Slowenisch",
|
||||
"eo": "slovena lingvo",
|
||||
"es": "esloveno",
|
||||
"fi": "sloveeni",
|
||||
"fr": "slovène",
|
||||
"gl": "lingua eslovena",
|
||||
"hu": "szlovén",
|
||||
"id": "Bahasa Slovenia",
|
||||
"it": "sloveno",
|
||||
"ja": "スロベニア語",
|
||||
"nb_NO": "slovensk",
|
||||
"nl": "Sloveens",
|
||||
"pl": "język słoweński",
|
||||
"pt": "língua eslovena",
|
||||
"pt_BR": "língua eslovena",
|
||||
"ru": "словенский язык",
|
||||
"sl": "slovenščina",
|
||||
"sv": "slovenska",
|
||||
"zh_Hant": "斯洛維尼亞語"
|
||||
},
|
||||
"sv": {
|
||||
"en": "Swedish",
|
||||
|
@ -294,8 +257,33 @@
|
|||
"pt": "língua sueca",
|
||||
"pt_BR": "língua sueca",
|
||||
"ru": "шведский язык",
|
||||
"sl": "švedščina",
|
||||
"zh_Hant": "瑞典語"
|
||||
},
|
||||
"it": {
|
||||
"en": "Italian",
|
||||
"ja": "イタリア語",
|
||||
"es": "italiano",
|
||||
"hu": "olasz",
|
||||
"id": "Italia",
|
||||
"it": "italiano",
|
||||
"fr": "italien",
|
||||
"de": "Italienisch",
|
||||
"nl": "Italiaans",
|
||||
"pt": "italiano",
|
||||
"ca": "italià",
|
||||
"eo": "itala lingvo",
|
||||
"fi": "italia",
|
||||
"gl": "lingua italiana",
|
||||
"nb_NO": "italiensk",
|
||||
"pl": "język włoski",
|
||||
"pt_BR": "língua italiana",
|
||||
"ru": "итальянский язык",
|
||||
"sl": "italijanščina",
|
||||
"sv": "italienska",
|
||||
"zh_Hans": "意大利语",
|
||||
"zh_Hant": "義大利語"
|
||||
},
|
||||
"pt": {
|
||||
"en": "Portuguese",
|
||||
"hu": "portugál",
|
||||
|
@ -315,32 +303,105 @@
|
|||
"pl": "język portugalski",
|
||||
"pt_BR": "português",
|
||||
"ru": "португальский язык",
|
||||
"sl": "portugalščina",
|
||||
"sv": "portugisiska",
|
||||
"zh_Hans": "葡萄牙语",
|
||||
"zh_Hant": "葡萄牙語"
|
||||
},
|
||||
"pl": {
|
||||
"de": "Polnisch",
|
||||
"en": "Polish",
|
||||
"pl": "język polski",
|
||||
"es": "polaco",
|
||||
"fr": "polonais",
|
||||
"nb_NO": "polsk",
|
||||
"nl": "Pools",
|
||||
"pt": "polaco",
|
||||
"pt_BR": "língua polonesa",
|
||||
"ru": "польский язык",
|
||||
"sl": "poljščina",
|
||||
"sv": "polska",
|
||||
"zh_Hans": "波兰语",
|
||||
"zh_Hant": "波蘭語",
|
||||
"ca": "polonès",
|
||||
"eo": "pola lingvo",
|
||||
"fi": "puola",
|
||||
"gl": "lingua polaca",
|
||||
"hu": "lengyel",
|
||||
"id": "Polandia",
|
||||
"it": "polacco",
|
||||
"ja": "ポーランド語"
|
||||
},
|
||||
"ja": {
|
||||
"nb_NO": "japansk",
|
||||
"nl": "Japans",
|
||||
"pl": "język japoński",
|
||||
"pt": "japonês",
|
||||
"pt_BR": "língua japonesa",
|
||||
"ru": "японский язык",
|
||||
"sl": "Japonščina",
|
||||
"sv": "japanska",
|
||||
"zh_Hans": "日语",
|
||||
"zh_Hant": "日語",
|
||||
"id": "bahasa Jepang",
|
||||
"en": "Japanese",
|
||||
"ca": "japonès",
|
||||
"de": "Japanisch",
|
||||
"eo": "japana lingvo",
|
||||
"es": "japonés",
|
||||
"fi": "japani",
|
||||
"fr": "japonais",
|
||||
"gl": "lingua xaponesa",
|
||||
"hu": "japán",
|
||||
"it": "giapponese",
|
||||
"ja": "日本語"
|
||||
},
|
||||
"nl": {
|
||||
"en": "Dutch",
|
||||
"de": "Niederländisch",
|
||||
"nl": "Nederlands",
|
||||
"ca": "neerlandès",
|
||||
"es": "neerlandés",
|
||||
"fr": "néerlandais",
|
||||
"hu": "holland",
|
||||
"id": "Belanda",
|
||||
"it": "olandese",
|
||||
"es": "Neerlandés",
|
||||
"eo": "nederlanda lingvo",
|
||||
"fi": "hollanti",
|
||||
"gl": "lingua neerlandesa",
|
||||
"zh_Hans": "荷兰语",
|
||||
"zh_Hant": "荷蘭語",
|
||||
"ja": "オランダ語",
|
||||
"nb_NO": "nederlandsk",
|
||||
"pl": "język niderlandzki",
|
||||
"pt": "neerlandês",
|
||||
"pt_BR": "neerlandês",
|
||||
"ru": "нидерландский язык",
|
||||
"sv": "nederländska"
|
||||
"sl": "Nizozemščina",
|
||||
"sv": "nederländska",
|
||||
"zh_Hans": "荷兰语",
|
||||
"zh_Hant": "荷蘭語"
|
||||
},
|
||||
"hu": {
|
||||
"en": "Hungarian",
|
||||
"fr": "hongrois",
|
||||
"pt": "húngaro",
|
||||
"pt_BR": "língua húngara",
|
||||
"ru": "венгерский язык",
|
||||
"sl": "madžarščina",
|
||||
"sv": "ungerska",
|
||||
"zh_Hant": "匈牙利語",
|
||||
"ca": "hongarès",
|
||||
"de": "Ungarisch",
|
||||
"eo": "hungara lingvo",
|
||||
"es": "húngaro",
|
||||
"fi": "unkari",
|
||||
"gl": "lingua húngara",
|
||||
"hu": "magyar",
|
||||
"id": "Hongaria",
|
||||
"it": "ungherese",
|
||||
"ja": "ハンガリー語",
|
||||
"nb_NO": "ungarsk",
|
||||
"nl": "Hongaars",
|
||||
"pl": "język węgierski"
|
||||
},
|
||||
"id": {
|
||||
"en": "Indonesian",
|
||||
|
@ -361,33 +422,16 @@
|
|||
"pt": "língua indonésia",
|
||||
"pt_BR": "língua indonésia",
|
||||
"ru": "индонезийский язык",
|
||||
"sl": "indonezijščina",
|
||||
"sv": "indonesiska",
|
||||
"zh_Hans": "印度尼西亚语",
|
||||
"zh_Hant": "印尼語"
|
||||
},
|
||||
"hu": {
|
||||
"nb_NO": "ungarsk",
|
||||
"nl": "Hongaars",
|
||||
"pl": "język węgierski",
|
||||
"pt": "húngaro",
|
||||
"pt_BR": "língua húngara",
|
||||
"ru": "венгерский язык",
|
||||
"sv": "ungerska",
|
||||
"zh_Hant": "匈牙利語",
|
||||
"ca": "hongarès",
|
||||
"de": "Ungarisch",
|
||||
"eo": "hungara lingvo",
|
||||
"es": "húngaro",
|
||||
"fi": "unkari",
|
||||
"gl": "lingua húngara",
|
||||
"hu": "magyar",
|
||||
"id": "Hongaria",
|
||||
"it": "ungherese",
|
||||
"ja": "ハンガリー語",
|
||||
"en": "Hungarian",
|
||||
"fr": "hongrois"
|
||||
},
|
||||
"nb_NO": {
|
||||
"ca": "bokmål",
|
||||
"de": "Bokmål",
|
||||
"en": "Bokmål",
|
||||
"eo": "Bokmål",
|
||||
"es": "bokmål",
|
||||
"fi": "kirjanorja",
|
||||
"fr": "bokmål",
|
||||
|
@ -402,11 +446,8 @@
|
|||
"pt": "bokmål",
|
||||
"pt_BR": "Bokmål",
|
||||
"ru": "букмол",
|
||||
"sv": "bokmål",
|
||||
"ca": "bokmål",
|
||||
"de": "Bokmål",
|
||||
"en": "Bokmål",
|
||||
"eo": "Bokmål"
|
||||
"sl": "Bokmål",
|
||||
"sv": "bokmål"
|
||||
},
|
||||
"zh_Hant": {
|
||||
"ca": "xinès simplificat",
|
||||
|
@ -420,7 +461,7 @@
|
|||
"it": "cinese semplificato",
|
||||
"ja": "簡体字中国語",
|
||||
"nb_NO": "tradisjonell kinesisk",
|
||||
"pl": "Chiński uproszczony",
|
||||
"pl": "język chiński uproszczony",
|
||||
"pt": "chinês simplificado",
|
||||
"zh_Hans": "简体中文",
|
||||
"zh_Hant": "簡體中文",
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
"ru": "Известные адреса в OSM",
|
||||
"id": "Alamat yang dikenal di OSM",
|
||||
"es": "Direcciones conocidas en OSM",
|
||||
"zh_Hans": "OSM中已知的地址"
|
||||
"zh_Hans": "OSM中已知的地址",
|
||||
"nb_NO": "Kjente adresser i OSM"
|
||||
},
|
||||
"minzoom": 18,
|
||||
"source": {
|
||||
|
@ -38,7 +39,8 @@
|
|||
"ru": "Известный адрес",
|
||||
"es": "Domicilio conocido",
|
||||
"zh_Hans": "已知的地址",
|
||||
"id": "Alamat yang diketahui"
|
||||
"id": "Alamat yang diketahui",
|
||||
"nb_NO": "Kjent adresse"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
|
@ -53,7 +55,8 @@
|
|||
"id": "Alamat",
|
||||
"es": "Direcciones",
|
||||
"zh_Hans": "地址",
|
||||
"ca": "Adreces"
|
||||
"ca": "Adreces",
|
||||
"nb_NO": "Adresser"
|
||||
},
|
||||
"tagRenderings": [
|
||||
{
|
||||
|
@ -67,7 +70,8 @@
|
|||
"pl": "Numer tego domu to <b>{addr:housenumber}</b>",
|
||||
"ru": "Номер дома <b>{addr:housenumber}</b>",
|
||||
"zh_Hans": "门牌号是<b>{addr:housenumber}</b>",
|
||||
"id": "Nomor rumah ini <b>{addr:housenumber}</b>"
|
||||
"id": "Nomor rumah ini <b>{addr:housenumber}</b>",
|
||||
"es": "La numeración de la casa es <b>{addr:housenumber}</b>"
|
||||
},
|
||||
"question": {
|
||||
"en": "What is the number of this house?",
|
||||
|
@ -119,7 +123,8 @@
|
|||
"fr": "Le nom de la voie est <b>{addr:street}</b>",
|
||||
"pl": "Ten adres znajduje się na ulicy <b>{addr:street}</b>",
|
||||
"zh_Hans": "这个地址位于<b>{addr:street}</b>街",
|
||||
"id": "Alamat ini ada di jalan <b>{addr:street}</b>"
|
||||
"id": "Alamat ini ada di jalan <b>{addr:street}</b>",
|
||||
"es": "La dirección está en la calle <b>{addr:street}</b>"
|
||||
},
|
||||
"question": {
|
||||
"en": "What street is this address located in?",
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
"hu": "Mentőállomás-térkép",
|
||||
"nl": "Kaart van ambulancestations",
|
||||
"zh_Hans": "救护车站地图",
|
||||
"id": "Peta stasiun ambulans"
|
||||
"id": "Peta stasiun ambulans",
|
||||
"es": "Mapa de estaciones de ambulancias"
|
||||
},
|
||||
"minzoom": 12,
|
||||
"source": {
|
||||
|
@ -29,7 +30,8 @@
|
|||
"de": "Rettungswache",
|
||||
"it": "Stazione delle ambulanze",
|
||||
"hu": "Mentőállomás",
|
||||
"nl": "Ambulancestation"
|
||||
"nl": "Ambulancestation",
|
||||
"es": "Estación de Ambulancias"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
|
@ -40,7 +42,8 @@
|
|||
"it": "La stazione delle ambulanze è un’area per lo stoccaggio delle ambulanze, dell’equipaggiamento medico, dei dispositivi di protezione individuale e di altre forniture medicali.",
|
||||
"hu": "A mentőállomás olyan terület, ahol mentőautókat, orvosi felszereléseket, egyéni védőfelszereléseket és egyéb orvosi felszereléseket tárolnak.",
|
||||
"ru": "Станция скорой помощи это полигон для хранения транспорта, медицинского оборудования, средств индивидуальной защиты и других медицинских принадлежностей.",
|
||||
"nl": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard."
|
||||
"nl": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.",
|
||||
"es": "Una estación de ambulancias es una zona para almacenar vehículos de ambulancia, equipamiento médico, equipos de protección personal y otros suministros médicos."
|
||||
},
|
||||
"tagRenderings": [
|
||||
{
|
||||
|
@ -56,7 +59,9 @@
|
|||
"it": "Qual è il nome di questa stazione delle ambulanze?",
|
||||
"de": "Wie heißt diese Rettungswache?",
|
||||
"hu": "Mi a neve ennek a menőtállomásnak?",
|
||||
"nl": "Hoe heet dit ambulancestation?"
|
||||
"nl": "Hoe heet dit ambulancestation?",
|
||||
"es": "¿Cual es el nombre de esta estación de ambulancias?",
|
||||
"nb_NO": "Hva er navnet på denne ambulansestasjonen?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This station is called {name}.",
|
||||
|
@ -66,7 +71,9 @@
|
|||
"it": "Questa stazione è chiamata {name}.",
|
||||
"de": "Diese Rettungswache heißt {name}.",
|
||||
"hu": "A mentőállomás neve: {name}.",
|
||||
"nl": "Dit station heet {name}."
|
||||
"nl": "Dit station heet {name}.",
|
||||
"es": "Esta estación se llama {name}.",
|
||||
"nb_NO": "Denne stasjonen heter {name}."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -82,7 +89,8 @@
|
|||
"it": " Come si chiama la strada in cui si trova questa stazione?",
|
||||
"de": " Wie lautet der Name der Straße, in der sich die Rettungswache befindet?",
|
||||
"hu": " Mi a neve annak az utcának, amelyben az állomás található?",
|
||||
"nl": " In welke straat ligt dit station?"
|
||||
"nl": " In welke straat ligt dit station?",
|
||||
"es": " ¿Cual es el nombre de la calle en la que se encuentra la estación?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This station is along a highway called {addr:street}.",
|
||||
|
@ -92,7 +100,8 @@
|
|||
"it": "Questa stazione si trova in {addr:street}.",
|
||||
"de": "Dieser Bahnhof liegt an der Straße {addr:street}.",
|
||||
"hu": "Ez az állomás a következő utcában van: {addr:street}.",
|
||||
"nl": "Straat waar dit station ligt: {addr:street}"
|
||||
"nl": "Straat waar dit station ligt: {addr:street}",
|
||||
"es": "Esta estación se encuentra al lado de una autovía llamada {addr:street}."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -105,7 +114,8 @@
|
|||
"it": "Dove si trova la stazione? (ad es. quartiere, paese o città)",
|
||||
"de": "Wo befindet sich die Rettungswache? (z. B. Name von Stadtviertel, Dorf oder Stadt)",
|
||||
"hu": "Hol található az állomás? (Pl. a falu, kisváros vagy városrész neve.)",
|
||||
"nl": "Waar ligt het station? (v.b. naam van de buurt, dorp of stad)"
|
||||
"nl": "Waar ligt het station? (v.b. naam van de buurt, dorp of stad)",
|
||||
"es": "¿Dónde se encuentra la estación? (ej. nombre del barrio, pueblo o ciudad)"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "addr:place"
|
||||
|
@ -117,7 +127,8 @@
|
|||
"it": "La stazione si trova a {addr:place}.",
|
||||
"de": "Diese Rettungswache befindet sich in {addr:place}.",
|
||||
"hu": "Ez az állomás itt található: {addr:place}.",
|
||||
"nl": "Dit station ligt in {addr:place}."
|
||||
"nl": "Dit station ligt in {addr:place}.",
|
||||
"es": "Esta estación se encuentra en {addr:place}."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -130,7 +141,8 @@
|
|||
"de": "Welches Unternehmen betreibt diese Rettungswache?",
|
||||
"hu": "Milyen szervezet működteti ezt az állomást?",
|
||||
"ru": "Какая организация управляет этой станцией?",
|
||||
"nl": "Welke organisatie beheert dit station?"
|
||||
"nl": "Welke organisatie beheert dit station?",
|
||||
"es": "¿Qué agencia opera esta estación?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This station is operated by {operator}.",
|
||||
|
@ -140,7 +152,8 @@
|
|||
"de": "Diese Rettungswache wird betrieben von {operator}.",
|
||||
"hu": "Az állomás üzemeltetője: {operator}.",
|
||||
"ru": "Эта станция управляется {operator}.",
|
||||
"nl": "Dit station wordt beheerd door {operator}."
|
||||
"nl": "Dit station wordt beheerd door {operator}.",
|
||||
"es": "Esta estación la opera {operator}."
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator"
|
||||
|
@ -156,7 +169,8 @@
|
|||
"it": "Com’è classificato il gestore della stazione?",
|
||||
"de": "Wie kann der Betreiber der Rettungswache eingestuft werden?",
|
||||
"hu": "Hogyan sorolható be az állomás üzemeltetője?",
|
||||
"nl": "Wat voor een organisatie is de beheerder van dit station?"
|
||||
"nl": "Wat voor een organisatie is de beheerder van dit station?",
|
||||
"es": "¿Como está clasificada la operadora de la estación?"
|
||||
},
|
||||
"render": {
|
||||
"en": "The operator is a(n) {operator:type} entity.",
|
||||
|
@ -165,7 +179,8 @@
|
|||
"it": "L’operatore è un ente {operator:type}.",
|
||||
"de": "Der Betreiber ist eine {operator:type}.",
|
||||
"hu": "Az üzemeltető egy {operator:type} jellegű szervezet.",
|
||||
"nl": "De beheerder is van het type {operator:type}."
|
||||
"nl": "De beheerder is van het type {operator:type}.",
|
||||
"es": "La operador a no es una entidad de tipo {operator:type}."
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator:type"
|
||||
|
@ -185,7 +200,8 @@
|
|||
"de": "Die Rettungswache wird von einer Behörde betrieben.",
|
||||
"hu": "A mentőállomást a kormány üzemelteti.",
|
||||
"ru": "Станция управляется правительством.",
|
||||
"nl": "Dit station wordt beheerd door de overheid."
|
||||
"nl": "Dit station wordt beheerd door de overheid.",
|
||||
"es": "La estación la opera el govierno."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -202,7 +218,8 @@
|
|||
"de": "Die Rettungswache wird von einer gemeindenahen oder informellen Organisation betrieben.",
|
||||
"hu": "Mentőállomást egy közösségi vagy nem hivatalos szervezet működteti.",
|
||||
"ru": "Станция управляется волонтёрами или частной организацией.",
|
||||
"nl": "Dit station wordt beheerd door een informele of community organisatie."
|
||||
"nl": "Dit station wordt beheerd door een informele of community organisatie.",
|
||||
"es": "La estación la opera una organización basada en la comunidad o informal."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -218,7 +235,8 @@
|
|||
"it": "La stazione è gestita da un gruppo ufficiale di volontari.",
|
||||
"de": "Die Rettungswache wird von einer Freiwilligenorganisation betrieben.",
|
||||
"hu": "A mentőállomást egy önkéntesekből álló hivatalos csoport működteti.",
|
||||
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers."
|
||||
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers.",
|
||||
"es": "La estación la opera un grupo formal de voluntarios."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -234,7 +252,8 @@
|
|||
"it": "La stazione è gestita da un privato.",
|
||||
"de": "Die Rettungswache wird von einer privaten Organisation betrieben.",
|
||||
"hu": "Az állomást egy magánkézben lévő szervezet működteti.",
|
||||
"nl": "Dit station wordt beheerd door een privé-organisatie."
|
||||
"nl": "Dit station wordt beheerd door een privé-organisatie.",
|
||||
"es": "La estación es de gestión privada."
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -256,7 +275,9 @@
|
|||
"hu": "Mentőállomás",
|
||||
"nl": "een ambulancestation",
|
||||
"zh_Hans": "救护车站",
|
||||
"id": "Stasiun ambulans"
|
||||
"id": "Stasiun ambulans",
|
||||
"es": "una estación de ambulancias",
|
||||
"nb_NO": "en ambulansestasjon"
|
||||
},
|
||||
"description": {
|
||||
"en": "Add an ambulance station to the map",
|
||||
|
@ -268,7 +289,9 @@
|
|||
"hu": "Mentőállomás hozzáadása a térképhez",
|
||||
"nl": "Voeg een ambulancestation toe aan de kaart",
|
||||
"zh_Hans": "向地图中添加一个救护车站",
|
||||
"id": "Tambahkan stasiun ambulans ke peta"
|
||||
"id": "Tambahkan stasiun ambulans ke peta",
|
||||
"es": "Añadir una estación de ambulancias al mapa",
|
||||
"nb_NO": "Legg til en ambulansestasjon på kartet"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -286,7 +286,8 @@
|
|||
"pt": "Pedra",
|
||||
"hu": "Kő",
|
||||
"pl": "Skała",
|
||||
"ca": "Pedra"
|
||||
"ca": "Pedra",
|
||||
"es": "Piedra"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -345,7 +346,8 @@
|
|||
"pt": "Relevo",
|
||||
"hu": "Dombormű",
|
||||
"pl": "Płaskorzeźba",
|
||||
"ca": "Relleu"
|
||||
"ca": "Relleu",
|
||||
"es": "Relieve"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -363,7 +365,8 @@
|
|||
"id": "Azulejo (ubin dekoratif Spanyol)",
|
||||
"pt": "Azulejo (azulejo decorativo espanhol e português)",
|
||||
"hu": "Azulejo (portugál vagy spanyol dekoratív csempe)",
|
||||
"pl": "Azulejo (hiszpańskie płytka dekoracyjna)"
|
||||
"pl": "Azulejo (hiszpańskie płytka dekoracyjna)",
|
||||
"es": "Azulejo (azulejos decorativos españoles)"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -381,7 +384,8 @@
|
|||
"pt": "Ladrilhos",
|
||||
"hu": "Csempe",
|
||||
"pl": "Płyta ceramiczna (fliza)",
|
||||
"ca": "Enrajolat"
|
||||
"ca": "Enrajolat",
|
||||
"es": "Cerámica"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -401,7 +405,8 @@
|
|||
"id": "Seniman mana yang menciptakan ini?",
|
||||
"pt": "Que artista criou isto?",
|
||||
"hu": "Melyik művész alkotása ezt?",
|
||||
"pl": "Który artysta to stworzył?"
|
||||
"pl": "Który artysta to stworzył?",
|
||||
"es": "¿Que artista creó esto?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Created by {artist_name}",
|
||||
|
@ -416,7 +421,8 @@
|
|||
"id": "Dibuat oleh {artist_name}",
|
||||
"pt": "Criado por {artist_name}",
|
||||
"hu": "Alkotó: {artist_name}",
|
||||
"pl": "Stworzone przez {artist_name}"
|
||||
"pl": "Stworzone przez {artist_name}",
|
||||
"es": "Creado por {artist_name}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "artist_name"
|
||||
|
@ -437,7 +443,8 @@
|
|||
"id": "Adakah situs web mengenai informasi lebih lanjut tentang karya seni ini?",
|
||||
"pt": "Existe um site com mais informações sobre esta obra de arte?",
|
||||
"hu": "Van-e olyan honlap, amely további információkat tartalmaz erről a műalkotásról?",
|
||||
"pl": "Gdzie znajdę więcej informacji na temat tego dzieła sztuki?"
|
||||
"pl": "Gdzie znajdę więcej informacji na temat tego dzieła sztuki?",
|
||||
"es": "¿Hay un sitio web con más información sobre esta obra de arte?"
|
||||
},
|
||||
"render": {
|
||||
"en": "More information on <a href='{website}' target='_blank'>this website</a>",
|
||||
|
@ -452,7 +459,8 @@
|
|||
"nb_NO": "Mer info er å finne på <a href='{website}' target='_blank'>denne nettsiden</a>",
|
||||
"pt": "Mais informações <a href='{website}' target='_blank'>neste site</a>",
|
||||
"hu": "További információ <a href='{website}' target='_blank'>ezen a weboldalon</a>",
|
||||
"pl": "Więcej informacji na <a href='{website}' target='_blank'>tej stronie</a>"
|
||||
"pl": "Więcej informacji na <a href='{website}' target='_blank'>tej stronie</a>",
|
||||
"es": "Más información en <a href='{website}' target='_blank'>este sitio web</a>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "website",
|
||||
|
@ -473,7 +481,8 @@
|
|||
"nb_NO": "Hvilken Wikipedia-oppføring samsvarer med <b>dette kunstverket</b>?",
|
||||
"id": "Entri Wikidata mana yang sesuai dengan <b>karya seni ini</b>?",
|
||||
"pt": "Que entrada no Wikidata corresponde a <b>esta obra de arte</b>?",
|
||||
"hu": "Melyik Wikidata-bejegyzés felel meg <b>ennek a műalkotásnak</b>?"
|
||||
"hu": "Melyik Wikidata-bejegyzés felel meg <b>ennek a műalkotásnak</b>?",
|
||||
"es": "¿Qué entrada de Wikidata se corresponde con <b>esta obra de arte</b>?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Corresponds with <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>",
|
||||
|
@ -487,7 +496,8 @@
|
|||
"nb_NO": "Samsvarer med <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>",
|
||||
"id": "Sesuai dengan <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>",
|
||||
"pt": "Corresponde a <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>",
|
||||
"hu": "Ez a megfelelő: <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>"
|
||||
"hu": "Ez a megfelelő: <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>",
|
||||
"es": "Se corresponde con <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "wikidata",
|
||||
|
|
|
@ -81,7 +81,8 @@
|
|||
"nl": "Een paaltje in de weg",
|
||||
"de": "Ein Poller auf der Straße",
|
||||
"hu": "Terelőoszlop az úton",
|
||||
"fr": "Un potelet sur le chemin"
|
||||
"fr": "Un potelet sur le chemin",
|
||||
"es": "Un bolardo en la carretera"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": [
|
||||
|
@ -161,7 +162,8 @@
|
|||
"hu": "Ez egyetlen oszlop az úton",
|
||||
"nl": "Dit is een enkel paaltje in de weg",
|
||||
"fr": "C'est un plot unique sur la route",
|
||||
"de": "Dies ist ein einzelner Poller auf der Straße"
|
||||
"de": "Dies ist ein einzelner Poller auf der Straße",
|
||||
"es": "Este es un único bolardo en la carretera"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -171,7 +173,8 @@
|
|||
"nl": "Dit zijn fietshekjes die fietsers afremmen",
|
||||
"hu": "Ez egy kerékpárakadály, amely lelassítja a kerékpárosokat",
|
||||
"fr": "C'est une barrière visant à ralentir les vélos",
|
||||
"de": "Dies ist eine Fahrradbarriere, die Radfahrer abbremst"
|
||||
"de": "Dies ist eine Fahrradbarriere, die Radfahrer abbremst",
|
||||
"es": "Esta es una barrera ciclista que ralentiza a los ciclistas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -252,7 +255,8 @@
|
|||
"nl": "Wat voor fietshekjes zijn dit?",
|
||||
"de": "Um welche Art Fahrradhindernis handelt es sich?",
|
||||
"hu": "Milyen fajta kerékpárakadály ez?",
|
||||
"fr": "Quel est ce type de barrière cyclable ?"
|
||||
"fr": "Quel est ce type de barrière cyclable ?",
|
||||
"es": "¿Qué tipo de barrera ciclista es esta?"
|
||||
},
|
||||
"condition": "barrier=cycle_barrier",
|
||||
"mappings": [
|
||||
|
@ -321,14 +325,16 @@
|
|||
"nl": "Maximumbreedte: {maxwidth:physical} m",
|
||||
"de": "Maximale Durchfahrtsbreite: {maxwidth:physical} m",
|
||||
"fr": "Largeur maximale: {maxwidth:physical} m",
|
||||
"hu": "Legnagyobb szélesség: {maxwidth:physical} m"
|
||||
"hu": "Legnagyobb szélesség: {maxwidth:physical} m",
|
||||
"es": "Anchura máxima: {maxwidth:physical} m"
|
||||
},
|
||||
"question": {
|
||||
"en": "How wide is the gap left over besides the barrier?",
|
||||
"nl": "Hoe breed is de ruimte naast de barrière?",
|
||||
"de": "Welche Durchfahrtsbreite hat das Hindernis?",
|
||||
"hu": "Milyen széles az akadályon az a rés, amelyen át lehet haladni?",
|
||||
"fr": "Quelle est la largeur du passage ?"
|
||||
"fr": "Quelle est la largeur du passage ?",
|
||||
"es": "¿Cómo de ancho es el hueco dejado fuera de la barrera?"
|
||||
},
|
||||
"condition": {
|
||||
"and": [
|
||||
|
@ -352,14 +358,16 @@
|
|||
"nl": "Ruimte tussen barrières (langs de lengte van de weg): {width:separation} m",
|
||||
"de": "Abstand zwischen den Barrieren (entlang der Straße): {width:separation} m",
|
||||
"hu": "A korlátok közötti távolság (az út irányában): {width:separation} m",
|
||||
"fr": "Espace entre deux barrières successives : {width:separation} m"
|
||||
"fr": "Espace entre deux barrières successives : {width:separation} m",
|
||||
"es": "Espacio entre barreras (a lo largo de la longitud de la carretera): {width:separation} m"
|
||||
},
|
||||
"question": {
|
||||
"en": "How much space is there between the barriers (along the length of the road)?",
|
||||
"nl": "Hoeveel ruimte is er tussen de barrières (langs de lengte van de weg)?",
|
||||
"de": "Wie groß ist der Abstand zwischen den Barrieren (entlang der Straße)?",
|
||||
"hu": "Mekkora távolság van a korlátok között (az út irányában)?",
|
||||
"fr": "Combien d’espace sépare deux barrières successives ?"
|
||||
"fr": "Combien d’espace sépare deux barrières successives ?",
|
||||
"es": "¿Cuánto espacio hay entre las barreras (a lo largo de la longitud de la carretera)?"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
@ -383,14 +391,16 @@
|
|||
"nl": "Breedte van de opening: {width:opening} m",
|
||||
"de": "Breite der Öffnung: {width:opening} m",
|
||||
"fr": "Largeur de l'ouverture : {width:opening} m",
|
||||
"hu": "Nyílás szélessége: {width:opening} m"
|
||||
"hu": "Nyílás szélessége: {width:opening} m",
|
||||
"es": "Anchura de la apertura: {width:opening} m"
|
||||
},
|
||||
"question": {
|
||||
"en": "How wide is the smallest opening next to the barriers?",
|
||||
"nl": "Hoe breed is de smalste opening naast de barrières?",
|
||||
"de": "Wie breit ist die kleinste Öffnung neben den Barrieren?",
|
||||
"hu": "Milyen széles a korlátok melletti legkisebb nyílás?",
|
||||
"fr": "Quelle est la largeur d'ouverture après la plus petite près de la barrière ?"
|
||||
"fr": "Quelle est la largeur d'ouverture après la plus petite près de la barrière ?",
|
||||
"es": "¿Cómo de año es la apertura más pequeña al lado de las barreras?"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
@ -414,14 +424,16 @@
|
|||
"de": "Überschneidung: {overlap} m",
|
||||
"hu": "Átfedés: {overlap} m",
|
||||
"fr": "Chevauchement : {overlap} m",
|
||||
"nl": "Overlap: {overlap} m"
|
||||
"nl": "Overlap: {overlap} m",
|
||||
"es": "Solapado: {overlap} m"
|
||||
},
|
||||
"question": {
|
||||
"en": "How much overlap do the barriers have?",
|
||||
"nl": "Hoeveel overlappen de barrières?",
|
||||
"de": "Wie stark überschneiden sich die Barrieren?",
|
||||
"hu": "Mekkora a korlátok átfedése?",
|
||||
"fr": "Quel est le chevauchement des barrières ?"
|
||||
"fr": "Quel est le chevauchement des barrières ?",
|
||||
"es": "¿Cuánto se solapan las barreras?"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
|
|
@ -321,7 +321,8 @@
|
|||
"zh_Hant": "這個長椅 (座位) 是什麼做的?",
|
||||
"pt_BR": "De que é feito o banco (assento)?",
|
||||
"pl": "Z czego wykonana jest ławka (siedzisko)?",
|
||||
"pt": "De que é feito o banco (assento)?"
|
||||
"pt": "De que é feito o banco (assento)?",
|
||||
"es": "¿De que está hecho el banco (asiento)?"
|
||||
},
|
||||
"id": "bench-material"
|
||||
},
|
||||
|
@ -353,7 +354,8 @@
|
|||
"zh_Hant": "當坐在長椅時,那個人朝向 {direction}°。",
|
||||
"pl": "Siedząc na ławce, patrzy się w kierunku {direction}°.",
|
||||
"pt_BR": "Ao sentar-se no banco, olha-se para {direction} °.",
|
||||
"pt": "Ao sentar-se no banco, olha-se para {direction} °."
|
||||
"pt": "Ao sentar-se no banco, olha-se para {direction} °.",
|
||||
"es": "¿Cuando está sentado en el banco, uno mira hacia {direction}º."
|
||||
},
|
||||
"freeform": {
|
||||
"key": "direction",
|
||||
|
@ -420,7 +422,8 @@
|
|||
"pl": "Kolor: brązowy",
|
||||
"pt": "Cor: castanho",
|
||||
"eo": "Koloro: bruna",
|
||||
"ca": "Color: marró"
|
||||
"ca": "Color: marró",
|
||||
"es": "Color: marrón"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -592,7 +595,8 @@
|
|||
"zh_Hant": "上一次探察長椅是什麼時候?",
|
||||
"pt_BR": "Quando esta bancada foi pesquisada pela última vez?",
|
||||
"pl": "Kiedy ostatnio badano tę ławkę?",
|
||||
"pt": "Quando esta bancada foi pesquisada pela última vez?"
|
||||
"pt": "Quando esta bancada foi pesquisada pela última vez?",
|
||||
"es": "¿Cuándo fue la última vez que se inspeccionó este banco?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This bench was last surveyed on {survey:date}",
|
||||
|
@ -605,7 +609,8 @@
|
|||
"zh_Hant": "這個長椅最後是在 {survey:date} 探查的",
|
||||
"pt_BR": "Esta bancada foi pesquisada pela última vez em {survey:date}",
|
||||
"pl": "Ławka ta była ostatnio badana w dniu {survey:date}",
|
||||
"pt": "Esta bancada foi pesquisada pela última vez em {survey:date}"
|
||||
"pt": "Esta bancada foi pesquisada pela última vez em {survey:date}",
|
||||
"es": "Este banco se inspeccionó por última vez el {survey:date}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "survey:date",
|
||||
|
@ -679,6 +684,7 @@
|
|||
"nl": "Deze laag toont zitbanken en enkele vragen over deze zitbanken",
|
||||
"en": "A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few questions about them.",
|
||||
"fr": "Un banc est une surface en bois, métal, pierre... sur laquelle un humain peut s'asseoir. Cette couche permet de les visualiser et pose des questions à leur sujet.",
|
||||
"de": "Diese Karte stellt Sitzbänke aus Holz, Metall, Stein, ... dar und stellt ein paar Fragen, um weitere Informationen zu ergänzen."
|
||||
"de": "Diese Karte stellt Sitzbänke aus Holz, Metall, Stein, ... dar und stellt ein paar Fragen, um weitere Informationen zu ergänzen.",
|
||||
"es": "Un banco es una superficie de madera, metal, piedra, ... donde un humano se puede sentar. Estas capas los visualizan y preguntan algunas preguntas sobre ellos."
|
||||
}
|
||||
}
|
|
@ -66,7 +66,8 @@
|
|||
"zh_Hant": "大眾運輸站點的長椅",
|
||||
"pt_BR": "Banco em ponto de transporte público",
|
||||
"pl": "Ławka na przystanku komunikacji miejskiej",
|
||||
"pt": "Banco em ponto de transporte público"
|
||||
"pt": "Banco em ponto de transporte público",
|
||||
"es": "Banco en una parada de transporte público"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -156,7 +157,8 @@
|
|||
"en": "There is no bench here",
|
||||
"fr": "Il n'y a pas de banc ici",
|
||||
"de": "Hier gibt es keine Bank",
|
||||
"nl": "Er is hier geen bank"
|
||||
"nl": "Er is hier geen bank",
|
||||
"es": "No hay ningún banco aquí"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -122,7 +122,8 @@
|
|||
"nb_NO": "Sykkelleie koster {charge}",
|
||||
"zh_Hant": "租借單車需要 {charge}",
|
||||
"pt_BR": "Custos de empréstimo de bicicleta {charge}",
|
||||
"pt": "Custos de empréstimo de bicicleta {charge}"
|
||||
"pt": "Custos de empréstimo de bicicleta {charge}",
|
||||
"es": "Alquilar una bicicleta cuesta {charge}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "charge",
|
||||
|
@ -203,7 +204,8 @@
|
|||
"ru": "Доступны детские велосипеды",
|
||||
"zh_Hant": "提供兒童單車",
|
||||
"pt_BR": "Bicicletas para crianças disponíveis",
|
||||
"pt": "Bicicletas para crianças disponíveis"
|
||||
"pt": "Bicicletas para crianças disponíveis",
|
||||
"es": "Bicicletas para niños disponibles"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -217,7 +219,8 @@
|
|||
"ru": "Доступны велосипеды для взрослых",
|
||||
"zh_Hant": "有提供成人單車",
|
||||
"pt_BR": "Bicicletas para adulto disponíveis",
|
||||
"pt": "Bicicletas para adulto disponíveis"
|
||||
"pt": "Bicicletas para adulto disponíveis",
|
||||
"es": "Bicicletas para adultos disponibles"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -231,7 +234,8 @@
|
|||
"ru": "Доступны велосипеды для людей с ограниченными возможностями",
|
||||
"zh_Hant": "有提供行動不便人士的單車",
|
||||
"pt_BR": "Bicicletas para deficientes físicos disponíveis",
|
||||
"pt": "Bicicletas para deficientes físicos disponíveis"
|
||||
"pt": "Bicicletas para deficientes físicos disponíveis",
|
||||
"es": "Bicicletas para discapacitados disponibles"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -39,7 +39,8 @@
|
|||
"en": "{name}",
|
||||
"nl": "{name}",
|
||||
"ca": "{name}",
|
||||
"de": "{name}"
|
||||
"de": "{name}",
|
||||
"es": "{name}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -48,7 +49,8 @@
|
|||
"en": "Bicycle rental stations",
|
||||
"nl": "Fietsverhuustations",
|
||||
"fr": "Station de location de vélo",
|
||||
"de": "Fahrradverleihstationen"
|
||||
"de": "Fahrradverleihstationen",
|
||||
"es": "Estaciones de alquiler de bicicletas"
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images",
|
||||
|
@ -57,7 +59,8 @@
|
|||
"question": {
|
||||
"en": "What kind of bicycle rental is this?",
|
||||
"nl": "Wat voor fietsverhuur is dit?",
|
||||
"de": "Was ist das für ein Fahrradverleih?"
|
||||
"de": "Was ist das für ein Fahrradverleih?",
|
||||
"es": "¿Qué tipo de alquiler de bicicletas es este?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -70,7 +73,8 @@
|
|||
"then": {
|
||||
"en": "This is a shop whose main focus is bicycle rental",
|
||||
"nl": "Dit is een zaak die focust op fietsverhuur",
|
||||
"de": "Dies ist ein Geschäft, dessen Schwerpunkt auf dem Fahrradverleih liegt"
|
||||
"de": "Dies ist ein Geschäft, dessen Schwerpunkt auf dem Fahrradverleih liegt",
|
||||
"es": "Esta es una tienda que se centra en el alquiler de bicicletas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -83,7 +87,8 @@
|
|||
"then": {
|
||||
"en": "This is a rental buisiness which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus",
|
||||
"nl": "Dit is een zaak die verschillende voorwerpen en/of voertuigen verhuurt, waaronder ook fietsen; al zijn fietsen niet de hoofdfocus",
|
||||
"de": "Dies ist ein Vermietungsunternehmen, das verschiedene Gegenstände und/oder Fahrzeuge vermietet. Es vermietet auch Fahrräder, aber das ist nicht der Hauptschwerpunkt"
|
||||
"de": "Dies ist ein Vermietungsunternehmen, das verschiedene Gegenstände und/oder Fahrzeuge vermietet. Es vermietet auch Fahrräder, aber das ist nicht der Hauptschwerpunkt",
|
||||
"es": "Este es un negocio de alquileres que alquila varios objetos y/o vehículos. También alquila bicicletas, pero este no es el enfoque principal"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -91,7 +96,8 @@
|
|||
"then": {
|
||||
"en": "This is a shop which sells or repairs bicycles, but also rents out bicycles",
|
||||
"nl": "Dit is een fietsenmaker of fietswinkel die ook fietsen verhuurt",
|
||||
"de": "Dies ist ein Geschäft, das Fahrräder verkauft oder repariert, aber auch Fahrräder vermietet"
|
||||
"de": "Dies ist ein Geschäft, das Fahrräder verkauft oder repariert, aber auch Fahrräder vermietet",
|
||||
"es": "Esta es una tienda que vende o alquila bicicletas, pero también las alquila"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -99,7 +105,8 @@
|
|||
"then": {
|
||||
"en": "This is an automated docking station, where a bicycle is mechanically locked into a structure",
|
||||
"nl": "Dit is een docking station waar de fietsen mechanisch in een grotere structuur worden vastgemaakt",
|
||||
"de": "Dies ist eine automatisierte Dockingstation, bei der ein Fahrrad mechanisch in einer Struktur verriegelt wird"
|
||||
"de": "Dies ist eine automatisierte Dockingstation, bei der ein Fahrrad mechanisch in einer Struktur verriegelt wird",
|
||||
"es": "Esta es una estación automática, en la que una bici se asegura mecánicamente en una estructura"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -148,12 +155,14 @@
|
|||
"question": {
|
||||
"en": "What kind of bicycles and accessories are rented here?",
|
||||
"nl": "Wat voor soort fietsen en fietstoebehoren worden hier verhuurd?",
|
||||
"de": "Welche Art von Fahrrädern und Zubehör wird hier vermietet?"
|
||||
"de": "Welche Art von Fahrrädern und Zubehör wird hier vermietet?",
|
||||
"es": "¿Qué tipo de bicicletas y accesorios se alquilan aquí?"
|
||||
},
|
||||
"render": {
|
||||
"en": "{rental} is rented here",
|
||||
"nl": "{rental} kunnen hier uitgeleend worden",
|
||||
"de": "{rental} wird hier vermietet"
|
||||
"de": "{rental} wird hier vermietet",
|
||||
"es": "{rental} se alquilan aquí"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "rental",
|
||||
|
@ -166,7 +175,8 @@
|
|||
"then": {
|
||||
"en": "Normal city bikes can be rented here",
|
||||
"nl": "Gewone stadsfietsen kunnen hier gehuurd worden",
|
||||
"de": "Normale Stadtfahrräder können hier gemietet werden"
|
||||
"de": "Normale Stadtfahrräder können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicis normales"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -174,7 +184,8 @@
|
|||
"then": {
|
||||
"en": "Electrical bikes can be rented here",
|
||||
"nl": "Elektrische fietsen kunnen hier gehuurd worden",
|
||||
"de": "Elektrofahrräder können hier gemietet werden"
|
||||
"de": "Elektrofahrräder können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicis eléctricas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -182,7 +193,8 @@
|
|||
"then": {
|
||||
"en": "BMX bikes can be rented here",
|
||||
"nl": "BMX-fietsen kunnen hier gehuurd worden",
|
||||
"de": "BMX-Räder können hier gemietet werden"
|
||||
"de": "BMX-Räder können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicis BMX"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -190,7 +202,8 @@
|
|||
"then": {
|
||||
"en": "Mountainbikes can be rented here",
|
||||
"nl": "Mountainbikes kunnen hier gehuurd worden",
|
||||
"de": "Mountainbikes können hier gemietet werden"
|
||||
"de": "Mountainbikes können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicis de montaña"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -198,7 +211,8 @@
|
|||
"then": {
|
||||
"en": "Bikes for childs can be rented here",
|
||||
"nl": "Kinderfietsen kunnen hier gehuurd worden",
|
||||
"de": "Kinderfahrräder können hier gemietet werden"
|
||||
"de": "Kinderfahrräder können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicis infantiles"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -214,7 +228,8 @@
|
|||
"then": {
|
||||
"en": "Race bicycles can be rented here",
|
||||
"nl": "Wielerfietsen (sportfietsen) kunnen hier gehuurd worden",
|
||||
"de": "Rennräder können hier gemietet werden"
|
||||
"de": "Rennräder können hier gemietet werden",
|
||||
"es": "Aquí se pueden alquilar bicicletas de carreras"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -231,7 +246,8 @@
|
|||
{
|
||||
"en": "city bikes",
|
||||
"nl": "stadsfietsen",
|
||||
"de": "Stadträder"
|
||||
"de": "Stadträder",
|
||||
"es": "bicis de ciudad"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -239,7 +255,8 @@
|
|||
{
|
||||
"en": "electrical bikes",
|
||||
"nl": "elektrische fietsen",
|
||||
"de": "Elektrofahrräder"
|
||||
"de": "Elektrofahrräder",
|
||||
"es": "bicis eléctricas"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -247,7 +264,8 @@
|
|||
{
|
||||
"en": "bikes for children",
|
||||
"nl": "kinderfietsen",
|
||||
"de": "Kinderfahrräder"
|
||||
"de": "Kinderfahrräder",
|
||||
"es": "bicis infantiles"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -255,7 +273,8 @@
|
|||
{
|
||||
"en": "BMX bikes",
|
||||
"nl": "BMX-fietsen",
|
||||
"de": "BMX-Räder"
|
||||
"de": "BMX-Räder",
|
||||
"es": "bicis BMX"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -264,7 +283,8 @@
|
|||
"en": "mountainbike",
|
||||
"nl": "mountainbike",
|
||||
"ca": "bicicleta de muntanya",
|
||||
"de": "Mountainbikes"
|
||||
"de": "Mountainbikes",
|
||||
"es": "bicis de montaña"
|
||||
}
|
||||
],
|
||||
[
|
||||
|
@ -315,7 +335,8 @@
|
|||
"en": "a bicycle rental shop",
|
||||
"nl": "een fietsverhuurzaak",
|
||||
"fr": "une magasin de location de vélos",
|
||||
"de": "Ein Fahrradverleih"
|
||||
"de": "Ein Fahrradverleih",
|
||||
"es": "una tienda de alquiler de bicicletas"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_rental",
|
||||
|
@ -378,7 +399,8 @@
|
|||
"nl": "{title()} is permanent gestopt",
|
||||
"en": "{title()} has closed down permanently",
|
||||
"fr": "{title()} a était fermé de façon permanente",
|
||||
"de": "{title()} ist dauerhaft geschlossen"
|
||||
"de": "{title()} ist dauerhaft geschlossen",
|
||||
"es": "{title()} ha cerrado permanentemente"
|
||||
},
|
||||
"changesetMessage": "shop_closed"
|
||||
}
|
||||
|
@ -394,7 +416,8 @@
|
|||
"en": "This bicycle shop used to rent out bikes but doesn't rent out bikes anymore",
|
||||
"nl": "Deze fietszaak verhuurde vroeger fietsen, maar nu niet meer",
|
||||
"fr": "Ce magasin de vélo louait des vélos, mais n'en loue plus maintenant",
|
||||
"de": "Dieser Fahrradladen vermietete früher Fahrräder, aber jetzt nicht mehr"
|
||||
"de": "Dieser Fahrradladen vermietete früher Fahrräder, aber jetzt nicht mehr",
|
||||
"es": "Esta tienda de bicicletas alquilaba bicis, pero ya no lo hace"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -78,7 +78,8 @@
|
|||
"de": "Ist dieser Automat noch in Betrieb?",
|
||||
"zh_Hant": "這個自動販賣機仍有運作嗎?",
|
||||
"pt_BR": "Esta máquina de venda automática ainda está operacional?",
|
||||
"pt": "Esta máquina de venda automática ainda está operacional?"
|
||||
"pt": "Esta máquina de venda automática ainda está operacional?",
|
||||
"es": "¿Todavía es operacional esta máquina exprendedora?"
|
||||
},
|
||||
"render": {
|
||||
"en": "The operational status is <i>{operational_status}</i>",
|
||||
|
@ -89,7 +90,8 @@
|
|||
"ru": "Рабочий статус: <i> {operational_status}</i>",
|
||||
"zh_Hant": "運作狀態是 <i>{operational_status}</i>",
|
||||
"pt_BR": "O estado operacional é: <i>{operational_status}</i>",
|
||||
"pt": "O estado operacional é: <i>{operational_status}</i>"
|
||||
"pt": "O estado operacional é: <i>{operational_status}</i>",
|
||||
"es": "El estado operacional es <i>{operational_status}</i></i>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operational_status"
|
||||
|
@ -124,7 +126,8 @@
|
|||
"de": "Dieser Automat ist kaputt",
|
||||
"zh_Hant": "這個自動販賣機沒有運作了",
|
||||
"pt_BR": "Esta máquina de venda automática está quebrada",
|
||||
"pt": "Esta máquina de venda automática está quebrada"
|
||||
"pt": "Esta máquina de venda automática está quebrada",
|
||||
"es": "Esta máquina exprendedora está rota"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -140,7 +143,8 @@
|
|||
"de": "Dieser Automat ist geschlossen",
|
||||
"zh_Hant": "這個自動販賣機已經關閉了",
|
||||
"pt_BR": "Esta máquina de venda automática está fechada",
|
||||
"pt": "Esta máquina de venda automática está fechada"
|
||||
"pt": "Esta máquina de venda automática está fechada",
|
||||
"es": "Esta máquina exprendedora está cerrada"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -284,7 +284,8 @@
|
|||
"zh_Hans": "{name}的电话号码是什么?",
|
||||
"zh_Hant": "{name} 的電話號碼是?",
|
||||
"pt_BR": "Qual o número de telefone de {name}?",
|
||||
"pt": "Qual é o número de telefone de {name}?"
|
||||
"pt": "Qual é o número de telefone de {name}?",
|
||||
"es": "¿Cual es el número de teléfono de {name}?"
|
||||
},
|
||||
"render": "<a href='tel:{phone}'>{phone}</a>",
|
||||
"freeform": {
|
||||
|
@ -305,7 +306,8 @@
|
|||
"zh_Hans": "{name}的电子邮箱是什么?",
|
||||
"zh_Hant": "{name} 的電子郵件地址是?",
|
||||
"pt_BR": "Qual o endereço de email de {name}?",
|
||||
"pt": "Qual o endereço de email de {name}?"
|
||||
"pt": "Qual o endereço de email de {name}?",
|
||||
"es": "¿Cual es la dirección de correo electrónico de {name}?"
|
||||
},
|
||||
"render": "<a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"freeform": {
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
"zh_Hant": "單車清理服務",
|
||||
"pt_BR": "Serviço de limpeza de bicicletas",
|
||||
"pt": "Serviço de limpeza de bicicletas",
|
||||
"ru": "Услуги по чистке велосипедов"
|
||||
"ru": "Услуги по чистке велосипедов",
|
||||
"es": "Servicio de limpieza de bicis"
|
||||
},
|
||||
"title": {
|
||||
"render": {
|
||||
|
@ -21,7 +22,8 @@
|
|||
"zh_Hant": "單車清理服務",
|
||||
"pt_BR": "Serviço de limpeza de bicicletas",
|
||||
"pt": "Serviço de limpeza de bicicletas",
|
||||
"ru": "Услуги по чистке велосипедов"
|
||||
"ru": "Услуги по чистке велосипедов",
|
||||
"es": "Servicio de limpieza de bicis"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -34,7 +36,8 @@
|
|||
"de": "Fahrrad-Reinigungsdienst<i>{name}</i>",
|
||||
"zh_Hant": "單車清理服務 <i>{name}</i>",
|
||||
"pt_BR": "Serviço de limpeza de bicicletas <i>{name}</i>",
|
||||
"pt": "Serviço de limpeza de bicicletas <i>{name}</i>"
|
||||
"pt": "Serviço de limpeza de bicicletas <i>{name}</i>",
|
||||
"es": "Servicio de limpieza de bicis <i>{name}</i>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -61,7 +64,8 @@
|
|||
"zh_Hant": "單車清理服務",
|
||||
"pt_BR": "uma serviço de limpeza de bicicletas",
|
||||
"pt": "uma serviço de limpeza de bicicletas",
|
||||
"ru": "Услуги по чистке велосипедов"
|
||||
"ru": "Услуги по чистке велосипедов",
|
||||
"es": "un servicio de limpieza de bicis"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_wash"
|
||||
|
@ -74,12 +78,14 @@
|
|||
"question": {
|
||||
"en": "How much does it cost to use the cleaning service?",
|
||||
"de": "Wie viel kostet die Nutzung des Reinigungsdienstes?",
|
||||
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?"
|
||||
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
|
||||
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Using the cleaning service costs {service:bicycle:cleaning:charge}",
|
||||
"de": "Nutzung des Reinigungsservice kostet {service:bicycle:cleaning:charge}",
|
||||
"nl": "Het gebruik van het fietsschoonmaakpunt kost {service:bicycle:cleaning:charge}"
|
||||
"nl": "Het gebruik van het fietsschoonmaakpunt kost {service:bicycle:cleaning:charge}",
|
||||
"es": "Utilizar el servicio de limpieza cuesta {service:bicycle:cleaning:charge}"
|
||||
},
|
||||
"condition": {
|
||||
"and": [
|
||||
|
@ -100,7 +106,8 @@
|
|||
"then": {
|
||||
"en": "The cleaning service is free to use",
|
||||
"de": "Der Reinigungsservice ist kostenlos",
|
||||
"nl": "Het fietsschoonmaakpunt is gratis"
|
||||
"nl": "Het fietsschoonmaakpunt is gratis",
|
||||
"es": "El servicio de limpieza es gratis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -108,7 +115,8 @@
|
|||
"then": {
|
||||
"en": "Free to use",
|
||||
"de": "Kostenlose Nutzung",
|
||||
"nl": "Gratis te gebruiken"
|
||||
"nl": "Gratis te gebruiken",
|
||||
"es": "Gratis"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -117,7 +125,8 @@
|
|||
"then": {
|
||||
"en": "The cleaning service has a fee, but the amount is not known",
|
||||
"de": "Der Reinigungsdienst ist kostenpflichtig, aber der Betrag ist nicht bekannt",
|
||||
"nl": "Het fietsschoonmaakpunt is betalend, maar de prijs is onbekend"
|
||||
"nl": "Het fietsschoonmaakpunt is betalend, maar de prijs is onbekend",
|
||||
"es": "El servicio de limpieza tiene una tasa, pero la cantidad se desconoce"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
}
|
||||
|
@ -128,12 +137,14 @@
|
|||
"question": {
|
||||
"en": "How much does it cost to use the cleaning service?",
|
||||
"de": "Wie viel kostet die Nutzung des Reinigungsdienstes?",
|
||||
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?"
|
||||
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
|
||||
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Using the cleaning service costs {charge}",
|
||||
"de": "Die Nutzung des Reinigungsdienstes kostet {charge}",
|
||||
"nl": "Het gebruik van het fietsschoonmaakpunt kost {charge}"
|
||||
"nl": "Het gebruik van het fietsschoonmaakpunt kost {charge}",
|
||||
"es": "Utilizar el servicio de limpieza cuesta {charge}"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
@ -153,7 +164,8 @@
|
|||
"then": {
|
||||
"en": "Free to use cleaning service",
|
||||
"de": "Kostenloser Reinigungsservice",
|
||||
"nl": "Gratis fietsschoonmaakpunt"
|
||||
"nl": "Gratis fietsschoonmaakpunt",
|
||||
"es": "Un servicio de limpieza gratis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -161,7 +173,8 @@
|
|||
"then": {
|
||||
"en": "Free to use",
|
||||
"de": "Kostenlose Nutzung",
|
||||
"nl": "Gratis te gebruiken"
|
||||
"nl": "Gratis te gebruiken",
|
||||
"es": "Gratis"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -170,7 +183,8 @@
|
|||
"then": {
|
||||
"en": "The cleaning service has a fee",
|
||||
"de": "Der Reinigungsservice ist kostenpflichtig",
|
||||
"nl": "Je moet betalen voor het fietsschoonmaakpunt"
|
||||
"nl": "Je moet betalen voor het fietsschoonmaakpunt",
|
||||
"es": "El servicio de limpieza tiene una tarifa"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -220,6 +234,7 @@
|
|||
"description": {
|
||||
"en": "A layer showing facilities where one can clean their bike",
|
||||
"nl": "Een laag die plaatsen toont waar je je fiets kunt wassen",
|
||||
"de": "Eine Ebene mit Einrichtungen, in denen man sein Fahrrad reinigen kann"
|
||||
"de": "Eine Ebene mit Einrichtungen, in denen man sein Fahrrad reinigen kann",
|
||||
"es": "Una capa que muestra facilidades en las que uno puede limpiar su bici"
|
||||
}
|
||||
}
|
|
@ -13,7 +13,8 @@
|
|||
"pl": "Parking dla rowerów",
|
||||
"pt_BR": "Estacionamento de bicicletas",
|
||||
"pt": "Estacionamento de bicicletas",
|
||||
"ca": "Aparcament per a bicicletes"
|
||||
"ca": "Aparcament per a bicicletes",
|
||||
"es": "Aparcamiento de bicis"
|
||||
},
|
||||
"minzoom": 17,
|
||||
"source": {
|
||||
|
@ -37,7 +38,8 @@
|
|||
"ru": "Велосипедная парковка",
|
||||
"pl": "Parking dla rowerów",
|
||||
"pt_BR": "uma estacionamento de bicicletas",
|
||||
"pt": "uma estacionamento de bicicletas"
|
||||
"pt": "uma estacionamento de bicicletas",
|
||||
"es": "un aparcamiento de bicis"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_parking"
|
||||
|
@ -58,7 +60,8 @@
|
|||
"pl": "Parking dla rowerów",
|
||||
"pt_BR": "Estacionamento de bicicletas",
|
||||
"pt": "Estacionamento de bicicletas",
|
||||
"ca": "Aparcament per a bicicletes"
|
||||
"ca": "Aparcament per a bicicletes",
|
||||
"es": "Aparcamiento de bicis"
|
||||
}
|
||||
},
|
||||
"tagRenderings": [
|
||||
|
@ -76,7 +79,8 @@
|
|||
"zh_Hant": "這是那種類型的單車停車場?",
|
||||
"pl": "Jaki jest typ tego parkingu dla rowerów?",
|
||||
"pt_BR": "Qual o tipo deste estacionamento de bicicletas?",
|
||||
"pt": "Qual o tipo deste estacionamento de bicicletas?"
|
||||
"pt": "Qual o tipo deste estacionamento de bicicletas?",
|
||||
"es": "¿Cual es el tipo de este aparcamiento de bicicletas?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This is a bicycle parking of the type: {bicycle_parking}",
|
||||
|
@ -90,7 +94,8 @@
|
|||
"ru": "Это велопарковка типа {bicycle_parking}",
|
||||
"pl": "Jest to parking rowerowy typu: {bicycle_parking}",
|
||||
"pt_BR": "Este é um estacionamento de bicicletas do tipo: {bicycle_parking}",
|
||||
"pt": "Este é um estacionamento de bicicletas do tipo: {bicycle_parking}"
|
||||
"pt": "Este é um estacionamento de bicicletas do tipo: {bicycle_parking}",
|
||||
"es": "Este es un aparcamiento de bicicletas del tipo: {bicycle_parking}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "bicycle_parking",
|
||||
|
@ -200,7 +205,8 @@
|
|||
"hu": "Fészer",
|
||||
"zh_Hant": "車棚",
|
||||
"it": "Rimessa",
|
||||
"ru": "Навес"
|
||||
"ru": "Навес",
|
||||
"es": "Caseta"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/bike_parking/shed.svg",
|
||||
|
@ -216,7 +222,8 @@
|
|||
"it": "Colonnina",
|
||||
"de": "Poller",
|
||||
"zh_Hant": "柱子",
|
||||
"ca": "Pilona"
|
||||
"ca": "Pilona",
|
||||
"es": "Bolardo"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/bike_parking/bollard.svg",
|
||||
|
@ -231,7 +238,8 @@
|
|||
"fr": "Zone au sol qui est marquée pour le stationnement des vélos",
|
||||
"it": "Una zona del pavimento che è marcata per il parcheggio delle bici",
|
||||
"de": "Ein Bereich auf dem Boden, der für das Abstellen von Fahrrädern gekennzeichnet ist",
|
||||
"zh_Hant": "樓層當中標示為單車停車場的區域"
|
||||
"zh_Hant": "樓層當中標示為單車停車場的區域",
|
||||
"es": "Una área en el suelo que está marcada para el aparcamiento de bicicletas"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -247,7 +255,8 @@
|
|||
"pl": "Jaka jest względna lokalizacja tego parkingu rowerowego?",
|
||||
"pt_BR": "Qual a localização relativa deste estacionamento de bicicletas?",
|
||||
"de": "Wo befinden sich diese Fahrradabstellplätze?",
|
||||
"pt": "Qual a localização relativa deste estacionamento de bicicletas?"
|
||||
"pt": "Qual a localização relativa deste estacionamento de bicicletas?",
|
||||
"es": "¿Cual es la localización relativa de este aparcamiento de bicicletas?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -262,7 +271,8 @@
|
|||
"zh_Hant": "地下停車場",
|
||||
"pt_BR": "Estacionamento subterrâneo",
|
||||
"pt": "Estacionamento subterrâneo",
|
||||
"ca": "Aparcament subterrani"
|
||||
"ca": "Aparcament subterrani",
|
||||
"es": "Aparcamiento subterráneo"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -277,7 +287,8 @@
|
|||
"zh_Hant": "地面停車場",
|
||||
"pt_BR": "Estacionamento de superfície",
|
||||
"pt": "Estacionamento de superfície",
|
||||
"hu": "Felszíni parkoló"
|
||||
"hu": "Felszíni parkoló",
|
||||
"es": "Aparcamiento a nivel de calle"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -293,7 +304,8 @@
|
|||
"pt_BR": "Estacionamento no telhado",
|
||||
"pt": "Estacionamento no telhado",
|
||||
"ru": "Парковка на крыше",
|
||||
"ca": "Aparcament al terrat"
|
||||
"ca": "Aparcament al terrat",
|
||||
"es": "Aparcamiento de azotea"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -325,7 +337,8 @@
|
|||
"it": "È un parcheggio coperto? Indicare “coperto” per parcheggi all’interno.",
|
||||
"zh_Hant": "這個停車場是否有車棚?如果是室內停車場也請選擇\"遮蔽\"。",
|
||||
"pt_BR": "Este estacionamento é coberto? Também selecione \"coberto\" para estacionamentos internos.",
|
||||
"pt": "Este estacionamento é coberto? Também selecione \"coberto\" para estacionamentos internos."
|
||||
"pt": "Este estacionamento é coberto? Também selecione \"coberto\" para estacionamentos internos.",
|
||||
"es": "¿Está cubierto este aparcamiento? Selecciona \"cubierto\" también para aparcamientos interiores."
|
||||
},
|
||||
"condition": {
|
||||
"and": [
|
||||
|
@ -347,7 +360,8 @@
|
|||
"zh_Hant": "這個停車場有遮蔽 (有屋頂)",
|
||||
"ru": "Это крытая парковка (есть крыша/навес)",
|
||||
"pt_BR": "Este estacionamento é coberto (tem um telhado)",
|
||||
"pt": "Este estacionamento é coberto (tem um telhado)"
|
||||
"pt": "Este estacionamento é coberto (tem um telhado)",
|
||||
"es": "Este aparcamiento está cubierto (tiene un tejado)"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -363,7 +377,8 @@
|
|||
"zh_Hant": "這個停車場沒有遮蔽",
|
||||
"ru": "Это открытая парковка",
|
||||
"pt_BR": "Este estacionamento não é coberto",
|
||||
"pt": "Este estacionamento não é coberto"
|
||||
"pt": "Este estacionamento não é coberto",
|
||||
"es": "Este aparcamiento no está cubierto"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -377,7 +392,8 @@
|
|||
"gl": "Cantas bicicletas caben neste aparcadoiro de bicicletas (incluídas as posíbeis bicicletas de carga)?",
|
||||
"de": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz (einschließlich möglicher Lastenfahrräder)?",
|
||||
"it": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici da trasporto)?",
|
||||
"zh_Hant": "這個單車停車場能放幾台單車 (包括裝箱單車)?"
|
||||
"zh_Hant": "這個單車停車場能放幾台單車 (包括裝箱單車)?",
|
||||
"es": "¿Cuántas bicicletas caben en este aparcamiento de bicicletas (incluyendo posibles bicicletas de carga)?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Place for {capacity} bikes",
|
||||
|
@ -389,7 +405,8 @@
|
|||
"zh_Hant": "{capacity} 單車的地方",
|
||||
"ru": "Место для {capacity} велосипеда(ов)",
|
||||
"pt_BR": "Lugar para {capacity} bicicletas",
|
||||
"pt": "Lugar para {capacity} bicicletas"
|
||||
"pt": "Lugar para {capacity} bicicletas",
|
||||
"es": "Espacio para {capacity} bicis"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "capacity",
|
||||
|
@ -407,7 +424,8 @@
|
|||
"zh_Hant": "誰可以使用這個單車停車場?",
|
||||
"ru": "Кто может пользоваться этой велопарковкой?",
|
||||
"pt_BR": "Quem pode usar este estacionamento de bicicletas?",
|
||||
"pt": "Quem pode usar este estacionamento de bicicletas?"
|
||||
"pt": "Quem pode usar este estacionamento de bicicletas?",
|
||||
"es": "¿Quién puede utilizar este aparcamiento de bicicletas?"
|
||||
},
|
||||
"render": {
|
||||
"en": "{access}",
|
||||
|
@ -422,7 +440,8 @@
|
|||
"pt_BR": "{access}",
|
||||
"pt": "{access}",
|
||||
"eo": "{access}",
|
||||
"ca": "{access}"
|
||||
"ca": "{access}",
|
||||
"es": "{access}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "access",
|
||||
|
@ -442,7 +461,8 @@
|
|||
"zh_Hant": "公開可用",
|
||||
"pt_BR": "Acessível ao público",
|
||||
"pt": "Acessível ao público",
|
||||
"ca": "Accessible al públic"
|
||||
"ca": "Accessible al públic",
|
||||
"es": "Accesible públicamente"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -455,7 +475,8 @@
|
|||
"zh_Hant": "通行性主要是為了企業的顧客",
|
||||
"pt_BR": "Acesso é principalmente para visitantes de uma empresa",
|
||||
"de": "Der Zugang ist in erster Linie für Besucher eines Unternehmens bestimmt",
|
||||
"pt": "Acesso é principalmente para visitantes de uma empresa"
|
||||
"pt": "Acesso é principalmente para visitantes de uma empresa",
|
||||
"es": "El acceso es primariamente para visitantes a un negocio"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -468,7 +489,8 @@
|
|||
"zh_Hant": "通行性僅限學校、公司或組織的成員",
|
||||
"pt_BR": "Acesso é limitado aos membros de uma escola, companhia ou organização",
|
||||
"de": "Der Zugang ist beschränkt auf Mitglieder einer Schule, eines Unternehmens oder einer Organisation",
|
||||
"pt": "Acesso é limitado aos membros de uma escola, companhia ou organização"
|
||||
"pt": "Acesso é limitado aos membros de uma escola, companhia ou organização",
|
||||
"es": "El acceso se limita a miembros de una escuela, compañía u organización"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -484,7 +506,8 @@
|
|||
"it": "Questo parcheggio dispone di posti specifici per le bici da trasporto?",
|
||||
"zh_Hant": "這個單車停車場有地方放裝箱的單車嗎?",
|
||||
"pt_BR": "O estacionamento de bicicletas tem vagas para bicicletas de carga?",
|
||||
"pt": "O estacionamento de bicicletas tem vagas para bicicletas de carga?"
|
||||
"pt": "O estacionamento de bicicletas tem vagas para bicicletas de carga?",
|
||||
"es": "¿Este aparcamiento de bicicletas tiene huevos para bicicletas de carga?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -498,7 +521,8 @@
|
|||
"it": "Questo parcheggio ha posto per bici da trasporto",
|
||||
"zh_Hant": "這個停車場有地方可以放裝箱單車",
|
||||
"pt_BR": "Este estacionamento tem vagas para bicicletas de carga",
|
||||
"pt": "Este estacionamento tem vagas para bicicletas de carga"
|
||||
"pt": "Este estacionamento tem vagas para bicicletas de carga",
|
||||
"es": "Este aparcamiento tiene espacio para bicicletas de carga"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -512,7 +536,8 @@
|
|||
"it": "Questo parcheggio ha posti destinati (ufficialmente) alle bici da trasporto.",
|
||||
"zh_Hant": "這停車場有設計 (官方) 空間給裝箱的單車。",
|
||||
"pt_BR": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.",
|
||||
"pt": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga."
|
||||
"pt": "Este estacionamento tem vagas (oficiais) projetadas para bicicletas de carga.",
|
||||
"es": "Este aparcamiento tiene huecos (oficialmente) designados para bicicletas de carga."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -525,7 +550,8 @@
|
|||
"fr": "Il est interdit de garer des vélos cargo",
|
||||
"it": "Il parcheggio delle bici da trasporto è proibito",
|
||||
"pt_BR": "Você não tem permissão para estacionar bicicletas de carga",
|
||||
"pt": "Não tem permissão para estacionar bicicletas de carga"
|
||||
"pt": "Não tem permissão para estacionar bicicletas de carga",
|
||||
"es": "No se permite aparcar bicicletas de carga"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -540,7 +566,8 @@
|
|||
"de": "Wie viele Lastenfahrräder passen auf diesen Fahrrad-Parkplatz?",
|
||||
"it": "Quante bici da trasporto entrano in questo parcheggio per bici?",
|
||||
"pt_BR": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?",
|
||||
"pt": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?"
|
||||
"pt": "Quantas bicicletas de carga cabem neste estacionamento de bicicletas?",
|
||||
"es": "¿Cuántas bicicletas de carga caben en este aparcamiento de bicicletas?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This parking fits {capacity:cargo_bike} cargo bikes",
|
||||
|
@ -550,7 +577,8 @@
|
|||
"de": "Auf diesen Parkplatz passen {capacity:cargo_bike} Lastenfahrräder",
|
||||
"it": "Questo parcheggio può contenere {capacity:cargo_bike} bici da trasporto",
|
||||
"pt_BR": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga",
|
||||
"pt": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga"
|
||||
"pt": "Neste estacionamento cabem {capacity:cargo_bike} bicicletas de carga",
|
||||
"es": "En este aparcamiento caben {capacity:cargo_bike} bicis de carga"
|
||||
},
|
||||
"condition": "cargo_bike~designated|yes",
|
||||
"freeform": {
|
||||
|
@ -592,6 +620,7 @@
|
|||
"description": {
|
||||
"en": "A layer showing where you can park your bike",
|
||||
"nl": "Een laag die toont waar je je fiets kunt parkeren",
|
||||
"de": "Eine Ebene, die anzeigt, wo Sie Ihr Fahrrad abstellen können"
|
||||
"de": "Eine Ebene, die anzeigt, wo Sie Ihr Fahrrad abstellen können",
|
||||
"es": "Una capa que muestra donde puedes aparcar tu bici"
|
||||
}
|
||||
}
|
|
@ -8,7 +8,8 @@
|
|||
"de": "Fahrradstationen (Reparatur, Pumpe oder beides)",
|
||||
"it": "Stazioni bici (riparazione, gonfiaggio o entrambi)",
|
||||
"pt_BR": "Estações de bicicletas (reparo, bomba ou ambos)",
|
||||
"ru": "Велостанции (ремонт, накачка шин или сразу всё)"
|
||||
"ru": "Велостанции (ремонт, накачка шин или сразу всё)",
|
||||
"es": "Bomba y reparación de bicicletas"
|
||||
},
|
||||
"minzoom": 13,
|
||||
"source": {
|
||||
|
@ -27,7 +28,8 @@
|
|||
"de": "Fahrradstation (Pumpe & Reparatur)",
|
||||
"it": "Stazione bici (gonfiaggio & riparazione)",
|
||||
"pt_BR": "Estação de bicicletas (bomba e reparo)",
|
||||
"ru": "Велостанция (накачка шин и ремонт)"
|
||||
"ru": "Велостанция (накачка шин и ремонт)",
|
||||
"es": "Estación de bicis (bomba y reparación)"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -46,7 +48,8 @@
|
|||
"it": "Stazione riparazione bici",
|
||||
"pt_BR": "Estação de reparo de bicicletas",
|
||||
"pt": "Estação de reparo de bicicletas",
|
||||
"ru": "Станция обслуживания велосипедов"
|
||||
"ru": "Станция обслуживания велосипедов",
|
||||
"es": "Estación de reparación de bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -65,7 +68,8 @@
|
|||
"it": "Stazione riparazione bici",
|
||||
"pt_BR": "Estação de reparo de bicicletas",
|
||||
"pt": "Estação de reparo de bicicletas",
|
||||
"ru": "Станция обслуживания велосипедов"
|
||||
"ru": "Станция обслуживания велосипедов",
|
||||
"es": "Estación de reparación de bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -89,7 +93,8 @@
|
|||
"it": "Pompa rotta",
|
||||
"ru": "Насос сломан",
|
||||
"pt_BR": "Bomba quebrada",
|
||||
"ca": "Bomba trencada"
|
||||
"ca": "Bomba trencada",
|
||||
"es": "Bomba rota"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -108,7 +113,8 @@
|
|||
"de": "Fahrradpumpe <i>{name}</i>",
|
||||
"it": "Pompa per bici <i>{name}</i>",
|
||||
"ru": "Велосипедный насос <i>{name}</i>",
|
||||
"pt_BR": "Bomba de bicicleta <i>{name}</i>"
|
||||
"pt_BR": "Bomba de bicicleta <i>{name}</i>",
|
||||
"es": "Bomba de bicicletas <i>{name}</i>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -127,7 +133,8 @@
|
|||
"it": "Pompa per bici",
|
||||
"ru": "Велосипедный насос",
|
||||
"pt_BR": "Bomba de bicicleta",
|
||||
"ca": "Bomba de bicicleta"
|
||||
"ca": "Bomba de bicicleta",
|
||||
"es": "Bomba para bicicletas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -151,7 +158,8 @@
|
|||
"de": "Welche Einrichtungen stehen an dieser Fahrradstation zur Verfügung?",
|
||||
"it": "Quali servizi sono disponibili in questa stazione per bici?",
|
||||
"pt_BR": "Quais serviços estão disponíveis nesta estação de bicicletas?",
|
||||
"pt": "Quais serviços estão disponíveis nesta estação de bicicletas?"
|
||||
"pt": "Quais serviços estão disponíveis nesta estação de bicicletas?",
|
||||
"es": "¿Qué servicios están disponibles en esta localización?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -169,7 +177,8 @@
|
|||
"de": "Es ist nur eine Pumpe vorhanden",
|
||||
"it": "C’è solamente una pompa presente",
|
||||
"pt_BR": "Há somente uma bomba presente",
|
||||
"pt": "Há somente uma bomba presente"
|
||||
"pt": "Há somente uma bomba presente",
|
||||
"es": "Solo hay una bomba presente"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -187,7 +196,8 @@
|
|||
"de": "Es sind nur Werkzeuge (Schraubenzieher, Zangen...) vorhanden",
|
||||
"it": "Ci sono solo degli attrezzi (cacciaviti, pinze…) presenti",
|
||||
"pt_BR": "Há somente ferramentas (chaves de fenda, alicates...) presentes",
|
||||
"pt": "Há somente ferramentas (chaves de fenda, alicates...) presentes"
|
||||
"pt": "Há somente ferramentas (chaves de fenda, alicates...) presentes",
|
||||
"es": "Solo hay herramientas (destornilladores, pinzas...) presentes"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -205,7 +215,8 @@
|
|||
"de": "Es sind sowohl Werkzeuge als auch eine Pumpe vorhanden",
|
||||
"it": "Ci sono sia attrezzi che pompa presenti",
|
||||
"pt_BR": "Há tanto ferramentas e uma bomba presente",
|
||||
"pt": "Há tanto ferramentas e uma bomba presente"
|
||||
"pt": "Há tanto ferramentas e uma bomba presente",
|
||||
"es": "Hay tanto herramientas como bombas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -219,7 +230,8 @@
|
|||
"de": "Ist die Fahrradpumpe noch funktionstüchtig?",
|
||||
"it": "La pompa per bici è sempre funzionante?",
|
||||
"ru": "Велосипедный насос все еще работает?",
|
||||
"pl": "Czy pompka rowerowa jest nadal sprawna?"
|
||||
"pl": "Czy pompka rowerowa jest nadal sprawna?",
|
||||
"es": "¿Todavía está operativa la bomba de bicicletas?"
|
||||
},
|
||||
"condition": "service:bicycle:pump=yes",
|
||||
"mappings": [
|
||||
|
@ -233,7 +245,8 @@
|
|||
"de": "Die Fahrradpumpe ist kaputt",
|
||||
"it": "La pompa per bici è guasta",
|
||||
"ru": "Велосипедный насос сломан",
|
||||
"pl": "Pompka rowerowa jest zepsuta"
|
||||
"pl": "Pompka rowerowa jest zepsuta",
|
||||
"es": "La bomba de bicicletas está rota"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -246,7 +259,8 @@
|
|||
"de": "Die Fahrradpumpe ist betriebsbereit",
|
||||
"it": "La pompa per bici funziona",
|
||||
"ru": "Велосипедный насос работает",
|
||||
"pl": "Pompka rowerowa jest sprawna"
|
||||
"pl": "Pompka rowerowa jest sprawna",
|
||||
"es": "La bomba de bicicletas está operativa"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -259,7 +273,8 @@
|
|||
"fr": "Quand ce point de réparation de vélo est-il ouvert ?",
|
||||
"it": "Quando è aperto questo punto riparazione bici?",
|
||||
"de": "Wann ist diese Fahrradreparaturstelle geöffnet?",
|
||||
"ru": "Когда работает эта точка обслуживания велосипедов?"
|
||||
"ru": "Когда работает эта точка обслуживания велосипедов?",
|
||||
"es": "¿Cuándo está abierto este punto de reparación de bicicletas?"
|
||||
},
|
||||
"render": "{opening_hours_table()}",
|
||||
"freeform": {
|
||||
|
@ -278,7 +293,8 @@
|
|||
"ru": "Всегда открыто",
|
||||
"pt_BR": "Sempre aberto",
|
||||
"pt": "Sempre aberto",
|
||||
"ca": "Sempre obert"
|
||||
"ca": "Sempre obert",
|
||||
"es": "Siempre abierto"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -289,7 +305,8 @@
|
|||
"question": {
|
||||
"en": "Who is allowed to use this repair station?",
|
||||
"nl": "Wie kan dit herstelpunt gebruiken?",
|
||||
"de": "Wer darf diese Reparaturstation benutzen?"
|
||||
"de": "Wer darf diese Reparaturstation benutzen?",
|
||||
"es": "¿A quién se le permite utilizar esta estación de reparación?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -297,7 +314,8 @@
|
|||
"then": {
|
||||
"en": "Publicly accessible",
|
||||
"nl": "Publiek toegankelijk",
|
||||
"de": "Öffentlich zugänglich"
|
||||
"de": "Öffentlich zugänglich",
|
||||
"es": "Accesible públicamente"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -305,7 +323,8 @@
|
|||
"then": {
|
||||
"en": "Publicly accessible",
|
||||
"nl": "Publiek toegankelijk",
|
||||
"de": "Öffentlich zugänglich"
|
||||
"de": "Öffentlich zugänglich",
|
||||
"es": "Accesible públicamente"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -314,7 +333,8 @@
|
|||
"then": {
|
||||
"en": "Only for customers",
|
||||
"nl": "Enkel voor klanten van de bijhorende zaak",
|
||||
"de": "Nur für Kunden"
|
||||
"de": "Nur für Kunden",
|
||||
"es": "Solo para clientes"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -322,7 +342,8 @@
|
|||
"then": {
|
||||
"en": "Not accessible to the general public",
|
||||
"nl": "Niet publiek toegankelijk",
|
||||
"de": "Nicht für die Allgemeinheit zugänglich"
|
||||
"de": "Nicht für die Allgemeinheit zugänglich",
|
||||
"es": "No accesible para el público general"
|
||||
},
|
||||
"icon": "./assets/svg/invalid.svg"
|
||||
},
|
||||
|
@ -331,7 +352,8 @@
|
|||
"then": {
|
||||
"en": "Not accessible to the general public",
|
||||
"nl": "Niet publiek toegankelijk",
|
||||
"de": "Nicht für die Allgemeinheit zugänglich"
|
||||
"de": "Nicht für die Allgemeinheit zugänglich",
|
||||
"es": "No accesible para el público general"
|
||||
},
|
||||
"icon": "./assets/svg/invalid.svg",
|
||||
"hideInAnswer": true
|
||||
|
@ -349,7 +371,8 @@
|
|||
"it": "Chi gestisce questa pompa per bici?",
|
||||
"de": "Wer wartet diese Fahrradpumpe?",
|
||||
"pt_BR": "Quem faz a manutenção desta bomba de ciclo?",
|
||||
"pt": "Quem faz a manutenção desta bomba de ciclo?"
|
||||
"pt": "Quem faz a manutenção desta bomba de ciclo?",
|
||||
"es": "¿Quién mantiene esta bomba para bicicletas?"
|
||||
},
|
||||
"render": {
|
||||
"nl": "Beheer door {operator}",
|
||||
|
@ -358,7 +381,8 @@
|
|||
"it": "Manutenuta da {operator}",
|
||||
"de": "Gewartet von {operator}",
|
||||
"pt_BR": "Mantida por {operator}",
|
||||
"pt": "Mantida por {operator}"
|
||||
"pt": "Mantida por {operator}",
|
||||
"es": "Mantenido por {operator}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator"
|
||||
|
@ -373,7 +397,8 @@
|
|||
"en": "What is the email address of the maintainer?",
|
||||
"nl": "Wat is het email-adres van de beheerder?",
|
||||
"de": "Wie lautet die E-Mail-Adresse des Betreuers?",
|
||||
"fr": "Quelle est l'adresse email du service de maintenance ?"
|
||||
"fr": "Quelle est l'adresse email du service de maintenance ?",
|
||||
"es": "¿Es esta la dirección de correo electrónico del mantenedor?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "email",
|
||||
|
@ -390,7 +415,8 @@
|
|||
"en": "What is the phone number of the maintainer?",
|
||||
"nl": "Wat is het telefoonnummer van de beheerder?",
|
||||
"de": "Wie lautet die Telefonnummer des Betreibers?",
|
||||
"fr": "Quel est le numéro de téléphone du service de maintenance ?"
|
||||
"fr": "Quel est le numéro de téléphone du service de maintenance ?",
|
||||
"es": "¿Cual es el número de teléfono del mantenedor?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "phone",
|
||||
|
@ -407,7 +433,8 @@
|
|||
"fr": "Est-ce que cette station vélo a un outil specifique pour réparer la chaîne du vélo ?",
|
||||
"gl": "Esta estación de arranxo de bicicletas ten unha ferramenta especial para arranxar a cadea da túa bicicleta?",
|
||||
"de": "Verfügt diese Fahrrad-Reparaturstation über Spezialwerkzeug zur Reparatur von Fahrradketten?",
|
||||
"it": "Questa stazione di riparazione bici ha un attrezzo speciale per riparare la catena della bici?"
|
||||
"it": "Questa stazione di riparazione bici ha un attrezzo speciale per riparare la catena della bici?",
|
||||
"es": "¿Esta estación de reparación tiene una herramienta especial para reparar la cadena de tu bici?"
|
||||
},
|
||||
"condition": "service:bicycle:tools=yes",
|
||||
"mappings": [
|
||||
|
@ -421,7 +448,8 @@
|
|||
"de": "Es gibt ein Kettenwerkzeug",
|
||||
"it": "È presente un utensile per riparare la catena",
|
||||
"pt_BR": "Há uma ferramenta de corrente",
|
||||
"pt": "Há uma ferramenta de corrente"
|
||||
"pt": "Há uma ferramenta de corrente",
|
||||
"es": "Hay una herramienta de cadenas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -434,7 +462,8 @@
|
|||
"de": "Es gibt kein Kettenwerkzeug",
|
||||
"it": "Non è presente un utensile per riparare la catena",
|
||||
"pt_BR": "Não há uma ferramenta de corrente",
|
||||
"pt": "Não há uma ferramenta de corrente"
|
||||
"pt": "Não há uma ferramenta de corrente",
|
||||
"es": "No hay herramienta de cadenas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -447,7 +476,8 @@
|
|||
"fr": "Est-ce que cette station vélo à un crochet pour suspendre son vélo ou une accroche pour l'élevé ?",
|
||||
"gl": "Esta estación de bicicletas ten un guindastre para pendurar a túa bicicleta ou un soporte para elevala?",
|
||||
"de": "Hat diese Fahrradstation einen Haken, an dem Sie Ihr Fahrrad aufhängen können, oder einen Ständer, um es anzuheben?",
|
||||
"it": "Questa stazione bici ha un gancio per tenere sospesa la bici o un supporto per alzarla?"
|
||||
"it": "Questa stazione bici ha un gancio per tenere sospesa la bici o un supporto per alzarla?",
|
||||
"es": "¿Esta estación tiene un gancho para colgar tu bici o un soporte para elevarla?"
|
||||
},
|
||||
"condition": "service:bicycle:tools=yes",
|
||||
"mappings": [
|
||||
|
@ -461,7 +491,8 @@
|
|||
"de": "Es gibt einen Haken oder Ständer",
|
||||
"it": "C’è un gancio o un supporto",
|
||||
"pt_BR": "Há um gancho ou um suporte",
|
||||
"pt": "Há um gancho ou um suporte"
|
||||
"pt": "Há um gancho ou um suporte",
|
||||
"es": "Hay un gancho o soporte"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -474,7 +505,8 @@
|
|||
"de": "Es gibt keinen Haken oder Ständer",
|
||||
"it": "Non c’è né un gancio né un supporto",
|
||||
"pt_BR": "Não há um gancho ou um suporte",
|
||||
"pt": "Não há um gancho ou um suporte"
|
||||
"pt": "Não há um gancho ou um suporte",
|
||||
"es": "No hay ningún gancho o soporte"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -501,7 +533,8 @@
|
|||
"gl": "Que válvulas son compatíbeis?",
|
||||
"de": "Welche Ventile werden unterstützt?",
|
||||
"it": "Quali valvole sono supportate?",
|
||||
"pl": "Jakie zawory są obsługiwane?"
|
||||
"pl": "Jakie zawory są obsługiwane?",
|
||||
"es": "¿Que válvulas se soportan?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This pump supports the following valves: {valves}",
|
||||
|
@ -511,7 +544,8 @@
|
|||
"de": "Diese Pumpe unterstützt die folgenden Ventile: {valves}",
|
||||
"it": "Questa pompa è compatibile con le seguenti valvole: {valves}",
|
||||
"ru": "Этот насос поддерживает следующие клапаны: {valves}",
|
||||
"pl": "Ta pompka obsługuje następujące zawory: {valves}"
|
||||
"pl": "Ta pompka obsługuje następujące zawory: {valves}",
|
||||
"es": "Esta bomba soporta las siguiente válvulas: {valves}"
|
||||
},
|
||||
"freeform": {
|
||||
"#addExtraTags": [
|
||||
|
@ -569,7 +603,8 @@
|
|||
"de": "Ist dies eine elektrische Fahrradpumpe?",
|
||||
"it": "Questa pompa per bici è elettrica?",
|
||||
"ru": "Это электрический велосипедный насос?",
|
||||
"pl": "Czy jest to elektryczna pompka do roweru?"
|
||||
"pl": "Czy jest to elektryczna pompka do roweru?",
|
||||
"es": "¿Hay una bomba eléctrica para bicis?"
|
||||
},
|
||||
"condition": "service:bicycle:pump=yes",
|
||||
"mappings": [
|
||||
|
@ -586,7 +621,8 @@
|
|||
"pl": "Pompa ręczna",
|
||||
"pt_BR": "Bomba manual",
|
||||
"pt": "Bomba manual",
|
||||
"ca": "Bomba manual"
|
||||
"ca": "Bomba manual",
|
||||
"es": "Bomba manual"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -602,7 +638,8 @@
|
|||
"pl": "Pompka elektryczna",
|
||||
"pt_BR": "Bomba elétrica",
|
||||
"pt": "Bomba elétrica",
|
||||
"ca": "Bomba elèctrica"
|
||||
"ca": "Bomba elèctrica",
|
||||
"es": "Bomba eléctrica"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -616,7 +653,8 @@
|
|||
"gl": "Ten a bomba de ar un indicador de presión ou un manómetro?",
|
||||
"de": "Verfügt die Pumpe über einen Druckanzeiger oder ein Manometer?",
|
||||
"it": "Questa pompa ha l’indicatore della pressione o il manometro?",
|
||||
"pl": "Czy pompka posiada wskaźnik ciśnienia lub manometr?"
|
||||
"pl": "Czy pompka posiada wskaźnik ciśnienia lub manometr?",
|
||||
"es": "¿La bomba tiene un indicador de presión o manómetro?"
|
||||
},
|
||||
"condition": "service:bicycle:pump=yes",
|
||||
"mappings": [
|
||||
|
@ -632,7 +670,8 @@
|
|||
"ru": "Есть манометр",
|
||||
"pl": "Jest manometr",
|
||||
"pt_BR": "Há um manômetro",
|
||||
"pt": "Há um manômetro"
|
||||
"pt": "Há um manômetro",
|
||||
"es": "Hay un manómetro"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -647,7 +686,8 @@
|
|||
"ru": "Нет манометра",
|
||||
"pl": "Nie ma manometru",
|
||||
"pt_BR": "Não há um manômetro",
|
||||
"pt": "Não há um manômetro"
|
||||
"pt": "Não há um manômetro",
|
||||
"es": "No hay ningún manometro"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -662,7 +702,8 @@
|
|||
"ru": "Есть манометр, но он сломан",
|
||||
"pl": "Jest manometr, ale jest uszkodzony",
|
||||
"pt_BR": "Há um manômetro mas está quebrado",
|
||||
"pt": "Há um manômetro mas está quebrado"
|
||||
"pt": "Há um manômetro mas está quebrado",
|
||||
"es": "Hay un manómetro pero está roto"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -681,7 +722,8 @@
|
|||
"ru": "bелосипедный насос",
|
||||
"fi": "pyöräpumppu",
|
||||
"pl": "pompka do roweru",
|
||||
"pt_BR": "uma bomba de bicicleta"
|
||||
"pt_BR": "uma bomba de bicicleta",
|
||||
"es": "una bomba de bicicletas"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_repair_station",
|
||||
|
@ -696,7 +738,8 @@
|
|||
"de": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.",
|
||||
"pl": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.",
|
||||
"pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público",
|
||||
"pt": "Um aparelho para encher os seus pneus num local fixa no espaço público"
|
||||
"pt": "Um aparelho para encher os seus pneus num local fixa no espaço público",
|
||||
"es": "Un dispositivo para inflar tus ruedas en una posición fija en el espacio público."
|
||||
},
|
||||
"exampleImages": [
|
||||
"./assets/layers/bike_repair_station/pump_example_round.jpg",
|
||||
|
@ -712,7 +755,8 @@
|
|||
"gl": "estación de arranxo de bicicletas con bomba de ar",
|
||||
"de": "eine fahrrad-reparaturstation und pumpe",
|
||||
"it": "una stazione di riparazione bici e pompa",
|
||||
"pl": "stacja naprawy rowerów i pompka"
|
||||
"pl": "stacja naprawy rowerów i pompka",
|
||||
"es": "En estación de reparación de bicicletas y bomba"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_repair_station",
|
||||
|
@ -724,7 +768,8 @@
|
|||
"nl": "Een fietspomp en gereedschap om je fiets te herstellen in de publieke ruimte. Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.",
|
||||
"fr": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.",
|
||||
"it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.",
|
||||
"de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert."
|
||||
"de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.",
|
||||
"es": "Una bomba de bicicletas y herramientas para reparar tu bicicleta en el espacio público. Las herramientas habitualmente están aseguradas con cadenas contra el robo."
|
||||
},
|
||||
"exampleImages": [
|
||||
"./assets/layers/bike_repair_station/repair_station_example_2.jpg",
|
||||
|
@ -739,7 +784,8 @@
|
|||
"gl": "estación de arranxo de bicicletas sin bomba de ar",
|
||||
"de": "eine fahrrad-reparaturstation ohne pumpe",
|
||||
"it": "una stazione di riparazione bici senza pompa",
|
||||
"ru": "Станция обслуживания велосипедов без накачки (насоса)"
|
||||
"ru": "Станция обслуживания велосипедов без накачки (насоса)",
|
||||
"es": "una estación de reparación de bicicletas sin bomba"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=bicycle_repair_station",
|
||||
|
@ -749,7 +795,8 @@
|
|||
"description": {
|
||||
"en": "Tools to repair your bike in the public space (without pump). The tools are secured against theft.",
|
||||
"nl": "Gereedschap om je fiets te herstellen in de publieke ruimte (zonder pomp). Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.",
|
||||
"de": "Werkzeug, um Ihr Fahrrad im öffentlichen Raum zu reparieren (ohne Pumpe). Die Werkzeuge sind gegen Diebstahl gesichert."
|
||||
"de": "Werkzeug, um Ihr Fahrrad im öffentlichen Raum zu reparieren (ohne Pumpe). Die Werkzeuge sind gegen Diebstahl gesichert.",
|
||||
"es": "Herramientas para reparar tu bici en el espacio público (sin bomba).Las herramientas están aseguradas contra el robo."
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -842,6 +889,7 @@
|
|||
"description": {
|
||||
"en": "A layer showing bicycle pumps and bicycle repair tool stands",
|
||||
"nl": "Deze laag toont fietspompen en herstelpunten voor fietsen",
|
||||
"de": "Eine Ebene mit Fahrradpumpen und Werkzeugständern für die Fahrradreparatur"
|
||||
"de": "Eine Ebene mit Fahrradpumpen und Werkzeugständern für die Fahrradreparatur",
|
||||
"es": "Una capa que muestra bombas de bicicletas y puestos de herramientas de reparación de bicicletas"
|
||||
}
|
||||
}
|
|
@ -104,7 +104,8 @@
|
|||
"ru": "Прокат велосипедов <i>{name}</i>",
|
||||
"de": "Fahrradverleih<i>{name}</i>",
|
||||
"pt_BR": "Aluguel de bicicletas <i>{name}</i>",
|
||||
"pt": "Aluguel de bicicletas <i>{name}</i>"
|
||||
"pt": "Aluguel de bicicletas <i>{name}</i>",
|
||||
"es": "Alquiler de bicicletas <i>{name}</i>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -123,7 +124,8 @@
|
|||
"it": "Riparazione biciclette <i>{name}</i>",
|
||||
"ru": "Ремонт велосипедов <i>{name}</i>",
|
||||
"pt_BR": "Reparo de bicicletas <i>{name}</i>",
|
||||
"pt": "Reparo de bicicletas <i>{name}</i>"
|
||||
"pt": "Reparo de bicicletas <i>{name}</i>",
|
||||
"es": "Reparación de bicis <i>{name}</i>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -141,7 +143,8 @@
|
|||
"it": "Negozio di biciclette <i>{name}</i>",
|
||||
"ru": "Магазин велосипедов <i>{name}</i>",
|
||||
"pt_BR": "Loja de bicicletas <i>{name}</i>",
|
||||
"pt": "Loja de bicicletas <i>{name}</i>"
|
||||
"pt": "Loja de bicicletas <i>{name}</i>",
|
||||
"es": "Tienda de bicis <i>{name}</i>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -191,7 +194,8 @@
|
|||
"ru": "Магазин, специализирующийся на продаже велосипедов или сопутствующих товаров",
|
||||
"pt_BR": "Uma loja que vende especificamente bicicletas ou itens relacionados",
|
||||
"de": "Ein Geschäft, das speziell Fahrräder oder verwandte Artikel verkauft",
|
||||
"pt": "Uma loja que vende especificamente bicicletas ou itens relacionados"
|
||||
"pt": "Uma loja que vende especificamente bicicletas ou itens relacionados",
|
||||
"es": "Una tiene que vende específicamente bicis u objetos relacionados"
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images",
|
||||
|
@ -211,7 +215,8 @@
|
|||
"it": "Questo negozio è specializzato nella vendita di {shop} ed effettua attività relative alle biciclette",
|
||||
"pt_BR": "Esta loja é especializada em vender {shop} e faz atividades relacionadas à bicicletas",
|
||||
"de": "Dieses Geschäft ist auf den Verkauf von {shop} spezialisiert und im Bereich Fahrrad tätig",
|
||||
"pt": "Esta loja é especializada em vender {shop} e faz atividades relacionadas à bicicletas"
|
||||
"pt": "Esta loja é especializada em vender {shop} e faz atividades relacionadas à bicicletas",
|
||||
"es": "Esta tienda está especializada en vender {shop} y hace actividades relacionadas con bicicletas"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -234,7 +239,8 @@
|
|||
"it": "Qual è il nome di questo negozio di biciclette?",
|
||||
"ru": "Как называется магазин велосипедов?",
|
||||
"pt_BR": "Qual o nome desta loja de bicicletas?",
|
||||
"pt": "Qual o nome desta loja de bicicletas?"
|
||||
"pt": "Qual o nome desta loja de bicicletas?",
|
||||
"es": "¿Cual es el nombre de esta tienda de bicicletas?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This bicycle shop is called {name}",
|
||||
|
@ -245,7 +251,8 @@
|
|||
"it": "Questo negozio di biciclette è chiamato {name}",
|
||||
"ru": "Этот магазин велосипедов называется {name}",
|
||||
"pt_BR": "Esta loja de bicicletas se chama {name}",
|
||||
"pt": "Esta loja de bicicletas se chama {name}"
|
||||
"pt": "Esta loja de bicicletas se chama {name}",
|
||||
"es": "Esta tienda de bicicletas se llama {name}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "name"
|
||||
|
@ -263,7 +270,8 @@
|
|||
"id": "URL {name} apa?",
|
||||
"de": "Was ist die Webseite von {name}?",
|
||||
"pt_BR": "Qual o website de {name}?",
|
||||
"pt": "Qual o website de {name}?"
|
||||
"pt": "Qual o website de {name}?",
|
||||
"es": "¿Cual es el sitio web de {name}?"
|
||||
},
|
||||
"render": "<a href='{website}' target='_blank'>{website}</a>",
|
||||
"freeform": {
|
||||
|
@ -282,7 +290,8 @@
|
|||
"ru": "Какой номер телефона у {name}?",
|
||||
"de": "Wie lautet die Telefonnummer von {name}?",
|
||||
"pt_BR": "Qual o número de telefone de {name}?",
|
||||
"pt": "Qual é o número de telefone de {name}?"
|
||||
"pt": "Qual é o número de telefone de {name}?",
|
||||
"es": "¿Cual es el número de teléfono de {name}?"
|
||||
},
|
||||
"render": "<a href='tel:{phone}'>{phone}</a>",
|
||||
"freeform": {
|
||||
|
@ -301,7 +310,8 @@
|
|||
"ru": "Какой адрес электронной почты у {name}?",
|
||||
"de": "Wie lautet die E-Mail-Adresse von {name}?",
|
||||
"pt_BR": "Qual o endereço de email de {name}?",
|
||||
"pt": "Qual o endereço de email de {name}?"
|
||||
"pt": "Qual o endereço de email de {name}?",
|
||||
"es": "¿Cual es la dirección de correo electrónico de {name}?"
|
||||
},
|
||||
"render": "<a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"freeform": {
|
||||
|
@ -315,7 +325,8 @@
|
|||
"render": {
|
||||
"en": "Only accessible to {access}",
|
||||
"nl": "Enkel voor {access}",
|
||||
"de": "Nur zugänglich für {access}"
|
||||
"de": "Nur zugänglich für {access}",
|
||||
"es": "Solo accesible a {access}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "access"
|
||||
|
@ -333,7 +344,8 @@
|
|||
"it": "Questo negozio vende bici?",
|
||||
"ru": "Продаются ли велосипеды в этом магазине?",
|
||||
"pt_BR": "Esta loja vende bicicletas?",
|
||||
"pt": "Esta loja vende bicicletas?"
|
||||
"pt": "Esta loja vende bicicletas?",
|
||||
"es": "¿Vende bicis esta tienda?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -347,7 +359,8 @@
|
|||
"it": "Questo negozio vende bici",
|
||||
"ru": "В этом магазине продаются велосипеды",
|
||||
"pt_BR": "Esta loja vende bicicletas",
|
||||
"pt": "Esta loja vende bicicletas"
|
||||
"pt": "Esta loja vende bicicletas",
|
||||
"es": "Esta tienda vende bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -361,7 +374,8 @@
|
|||
"it": "Questo negozio non vende bici",
|
||||
"ru": "В этом магазине не продают велосипеды",
|
||||
"pt_BR": "Esta loja não vende bicicletas",
|
||||
"pt": "Esta loja não vende bicicletas"
|
||||
"pt": "Esta loja não vende bicicletas",
|
||||
"es": "Esta tienda no vende bicis"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -377,7 +391,8 @@
|
|||
"it": "Questo negozio ripara bici?",
|
||||
"ru": "В этом магазине ремонтируют велосипеды?",
|
||||
"pt_BR": "Esta loja conserta bicicletas?",
|
||||
"pt": "Esta loja conserta bicicletas?"
|
||||
"pt": "Esta loja conserta bicicletas?",
|
||||
"es": "¿Repara bicis esta tienda?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -391,7 +406,8 @@
|
|||
"it": "Questo negozio ripara bici",
|
||||
"ru": "Этот магазин ремонтирует велосипеды",
|
||||
"pt_BR": "Esta loja conserta bicicletas",
|
||||
"pt": "Esta loja conserta bicicletas"
|
||||
"pt": "Esta loja conserta bicicletas",
|
||||
"es": "Esta tienda repara bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -405,7 +421,8 @@
|
|||
"it": "Questo negozio non ripara bici",
|
||||
"ru": "Этот магазин не ремонтирует велосипеды",
|
||||
"pt_BR": "Esta loja não conserta bicicletas",
|
||||
"pt": "Esta loja não conserta bicicletas"
|
||||
"pt": "Esta loja não conserta bicicletas",
|
||||
"es": "Esta tienda no repara bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -419,7 +436,8 @@
|
|||
"it": "Questo negozio ripara solo le bici che sono state acquistate qua",
|
||||
"ru": "Этот магазин ремонтирует только велосипеды, купленные здесь",
|
||||
"pt_BR": "Esta loja conserta bicicletas compradas aqui",
|
||||
"pt": "Esta loja conserta bicicletas compradas aqui"
|
||||
"pt": "Esta loja conserta bicicletas compradas aqui",
|
||||
"es": "Esta tienda solo repara bicis compradas aquí"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -433,7 +451,8 @@
|
|||
"it": "Questo negozio ripara solo le biciclette di una certa marca",
|
||||
"ru": "В этом магазине обслуживают велосипеды определённого бренда",
|
||||
"pt_BR": "Esta loja conserta bicicletas de uma certa marca",
|
||||
"pt": "Esta loja conserta bicicletas de uma certa marca"
|
||||
"pt": "Esta loja conserta bicicletas de uma certa marca",
|
||||
"es": "Esta tienda solo repara bicis de una cierta marca"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -450,7 +469,8 @@
|
|||
"it": "Questo negozio noleggia le bici?",
|
||||
"ru": "Этот магазин сдает велосипеды в аренду?",
|
||||
"pt_BR": "Esta loja aluga bicicletas?",
|
||||
"pt": "Esta loja aluga bicicletas?"
|
||||
"pt": "Esta loja aluga bicicletas?",
|
||||
"es": "¿Alquila bicicis esta tienda?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -464,7 +484,8 @@
|
|||
"it": "Questo negozio noleggia le bici",
|
||||
"ru": "Этот магазин сдает велосипеды в аренду",
|
||||
"pt_BR": "Esta loja aluga bicicletas",
|
||||
"pt": "Esta loja aluga bicicletas"
|
||||
"pt": "Esta loja aluga bicicletas",
|
||||
"es": "Esta tienda alquila bicis"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -478,7 +499,8 @@
|
|||
"it": "Questo negozio non noleggia le bici",
|
||||
"ru": "Этот магазин не сдает велосипеды напрокат",
|
||||
"pt_BR": "Esta loja não aluga bicicletas",
|
||||
"pt": "Esta loja não aluga bicicletas"
|
||||
"pt": "Esta loja não aluga bicicletas",
|
||||
"es": "Esta tienda no alquila bicis"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -493,7 +515,8 @@
|
|||
"gl": "Esta tenda vende bicicletas de segunda man?",
|
||||
"de": "Verkauft dieses Geschäft gebrauchte Fahrräder?",
|
||||
"it": "Questo negozio vende bici usate?",
|
||||
"ru": "В этом магазине продаются подержанные велосипеды?"
|
||||
"ru": "В этом магазине продаются подержанные велосипеды?",
|
||||
"es": "¿Vende bicis de segunda mano esta tienda?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -505,7 +528,8 @@
|
|||
"gl": "Esta tenda vende bicicletas de segunda man",
|
||||
"de": "Dieses Geschäft verkauft gebrauchte Fahrräder",
|
||||
"it": "Questo negozio vende bici usate",
|
||||
"ru": "В этом магазине продаются подержанные велосипеды"
|
||||
"ru": "В этом магазине продаются подержанные велосипеды",
|
||||
"es": "Esta tienda vende bicis de segunda mano"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -517,7 +541,8 @@
|
|||
"gl": "Esta tenda non vende bicicletas de segunda man",
|
||||
"de": "Dieses Geschäft verkauft keine gebrauchten Fahrräder",
|
||||
"it": "Questo negozio non vende bici usate",
|
||||
"ru": "В этом магазине не продаются подержанные велосипеды"
|
||||
"ru": "В этом магазине не продаются подержанные велосипеды",
|
||||
"es": "Esta tienda no vende bicis de segunda mano"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -529,7 +554,8 @@
|
|||
"gl": "Esta tenda só vende bicicletas de segunda man",
|
||||
"de": "Dieses Geschäft verkauft nur gebrauchte Fahrräder",
|
||||
"it": "Questo negozio vende solamente bici usate",
|
||||
"ru": "В этом магазине продаются только подержанные велосипеды"
|
||||
"ru": "В этом магазине продаются только подержанные велосипеды",
|
||||
"es": "Esta tienda solo vende bicis de segunda mano"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -543,7 +569,8 @@
|
|||
"gl": "Esta tenda ofrece unha bomba de ar para uso de calquera persoa?",
|
||||
"de": "Bietet dieses Geschäft eine Fahrradpumpe zur Benutzung für alle an?",
|
||||
"it": "Questo negozio offre l’uso a chiunque di una pompa per bici?",
|
||||
"ru": "Предлагается ли в этом магазине велосипедный насос для всеобщего пользования?"
|
||||
"ru": "Предлагается ли в этом магазине велосипедный насос для всеобщего пользования?",
|
||||
"es": "¿Esta tienda ofrece una bomba para que la utilice cualquiera?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -555,7 +582,8 @@
|
|||
"gl": "Esta tenda ofrece unha bomba de ar para uso de calquera persoa",
|
||||
"de": "Dieses Geschäft bietet eine Fahrradpumpe für alle an",
|
||||
"it": "Questo negozio offre l’uso pubblico di una pompa per bici",
|
||||
"ru": "В этом магазине есть велосипедный насос для всеобщего пользования"
|
||||
"ru": "В этом магазине есть велосипедный насос для всеобщего пользования",
|
||||
"es": "Esta tienda ofrece una bomba para cualquiera"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -567,7 +595,8 @@
|
|||
"gl": "Esta tenda non ofrece unha bomba de ar para uso de calquera persoa",
|
||||
"de": "Dieses Geschäft bietet für niemanden eine Fahrradpumpe an",
|
||||
"it": "Questo negozio non offre l’uso pubblico di una pompa per bici",
|
||||
"ru": "В этом магазине нет велосипедного насоса для всеобщего пользования"
|
||||
"ru": "В этом магазине нет велосипедного насоса для всеобщего пользования",
|
||||
"es": "Esta tienda no ofrece una bomba para cualquiera"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -577,7 +606,8 @@
|
|||
"nl": "Er is een fietspomp, deze is apart aangeduid",
|
||||
"fr": "Il y a une pompe à vélo, c'est indiqué comme un point séparé ",
|
||||
"it": "C’è una pompa per bici, è mostrata come punto separato ",
|
||||
"de": "Es gibt eine Fahrradpumpe, sie wird als separater Punkt angezeigt "
|
||||
"de": "Es gibt eine Fahrradpumpe, sie wird als separater Punkt angezeigt ",
|
||||
"es": "Hay una bomba para bicicletas, se muestra como un punto separado "
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -591,7 +621,8 @@
|
|||
"gl": "Hai ferramentas aquí para arranxar a túa propia bicicleta?",
|
||||
"de": "Gibt es hier Werkzeuge, um das eigene Fahrrad zu reparieren?",
|
||||
"it": "Sono presenti degli attrezzi per riparare la propria bici?",
|
||||
"ru": "Есть ли здесь инструменты для починки собственного велосипеда?"
|
||||
"ru": "Есть ли здесь инструменты для починки собственного велосипеда?",
|
||||
"es": "¿Hay herramientas para reparar tu propia bici?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -637,7 +668,8 @@
|
|||
"fr": "Lave-t-on les vélos ici ?",
|
||||
"it": "Vengono lavate le bici qua?",
|
||||
"ru": "Здесь моют велосипеды?",
|
||||
"de": "Werden hier Fahrräder gewaschen?"
|
||||
"de": "Werden hier Fahrräder gewaschen?",
|
||||
"es": "¿Aquí se lavan bicicletas?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -648,7 +680,8 @@
|
|||
"fr": "Ce magasin lave les vélos",
|
||||
"it": "Questo negozio lava le biciclette",
|
||||
"de": "Dieses Geschäft reinigt Fahrräder",
|
||||
"ru": "В этом магазине оказываются услуги мойки/чистки велосипедов"
|
||||
"ru": "В этом магазине оказываются услуги мойки/чистки велосипедов",
|
||||
"es": "Esta tienda limpia bicicletas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -658,7 +691,8 @@
|
|||
"nl": "Deze winkel biedt een installatie aan om zelf je fiets schoon te maken",
|
||||
"fr": "Ce magasin a une installation pour laver soi même des vélos",
|
||||
"it": "Questo negozio ha una struttura dove è possibile pulire la propria bici",
|
||||
"de": "Dieser Laden hat eine Anlage, in der man Fahrräder selbst reinigen kann"
|
||||
"de": "Dieser Laden hat eine Anlage, in der man Fahrräder selbst reinigen kann",
|
||||
"es": "Esta tienda tiene una instalación donde uno puede limpiar bicicletas por si mismo"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -669,7 +703,8 @@
|
|||
"fr": "Ce magasin ne fait pas le nettoyage de vélo",
|
||||
"it": "Questo negozio non offre la pulizia della bicicletta",
|
||||
"de": "Dieser Laden bietet keine Fahrradreinigung an",
|
||||
"ru": "В этом магазине нет услуг мойки/чистки велосипедов"
|
||||
"ru": "В этом магазине нет услуг мойки/чистки велосипедов",
|
||||
"es": "Esta tienda no ofrece limpieza de bicicletas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
"nl": "Fietsgerelateerd object",
|
||||
"fr": "Objet cycliste",
|
||||
"de": "Weitere fahrradbezogene Objekte",
|
||||
"it": "Oggetto relativo alle bici"
|
||||
"it": "Oggetto relativo alle bici",
|
||||
"es": "Objeto relacionada con bicis"
|
||||
},
|
||||
"minzoom": 13,
|
||||
"source": {
|
||||
|
@ -29,7 +30,8 @@
|
|||
"nl": "Fietsgerelateerd object",
|
||||
"fr": "Objet cycliste",
|
||||
"de": "Mit Fahrrad zusammenhängendes Objekt",
|
||||
"it": "Oggetto relativo alle bici"
|
||||
"it": "Oggetto relativo alle bici",
|
||||
"es": "Objeto relacionado con bicis"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -45,7 +47,8 @@
|
|||
"it": "Pista ciclabile",
|
||||
"de": "Radweg",
|
||||
"ru": "Велотрек",
|
||||
"ca": "Pista ciclable"
|
||||
"ca": "Pista ciclable",
|
||||
"es": "Carril bici"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -84,6 +87,7 @@
|
|||
"description": {
|
||||
"en": "A layer with bike-themed objects but who don't match any other layer",
|
||||
"nl": "Een laag met fietsgerelateerde diensten, die in geen enkele andere laag konden ondergebracht worden",
|
||||
"de": "Eine Ebene mit Objekten zum Thema Fahrrad, die zu keiner anderen Ebene passen"
|
||||
"de": "Eine Ebene mit Objekten zum Thema Fahrrad, die zu keiner anderen Ebene passen",
|
||||
"es": "Una capa con los objetos relacionados con bicis pero que no coinciden con ninguna otra capa"
|
||||
}
|
||||
}
|
|
@ -14,7 +14,8 @@
|
|||
"nl": "Verrekijker",
|
||||
"de": "Ferngläser",
|
||||
"ru": "Бинокль",
|
||||
"ca": "Prismàtics"
|
||||
"ca": "Prismàtics",
|
||||
"es": "Binoculares"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
|
@ -51,12 +52,14 @@
|
|||
"render": {
|
||||
"en": "Using these binoculars costs {charge}",
|
||||
"nl": "Deze verrekijker gebruiken kost {charge}",
|
||||
"de": "Die Benutzung dieses Fernglases kostet {charge}"
|
||||
"de": "Die Benutzung dieses Fernglases kostet {charge}",
|
||||
"es": "Utilizar estos binoculares cuesta {charge}"
|
||||
},
|
||||
"question": {
|
||||
"en": "How much does one have to pay to use these binoculars?",
|
||||
"nl": "Hoeveel moet men betalen om deze verrekijker te gebruiken?",
|
||||
"de": "Wie viel muss man für die Nutzung dieser Ferngläser bezahlen?"
|
||||
"de": "Wie viel muss man für die Nutzung dieser Ferngläser bezahlen?",
|
||||
"es": "¿Cuánto hay que pagar para utilizar estos binoculares?"
|
||||
},
|
||||
"id": "binocular-charge"
|
||||
},
|
||||
|
@ -64,12 +67,14 @@
|
|||
"question": {
|
||||
"en": "When looking through this binocular, in what direction does one look?",
|
||||
"nl": "Welke richting kijkt men uit als men door deze verrekijker kijkt?",
|
||||
"de": "In welche Richtung blickt man, wenn man durch dieses Fernglas schaut?"
|
||||
"de": "In welche Richtung blickt man, wenn man durch dieses Fernglas schaut?",
|
||||
"es": "¿Cuándo uno mira a través de este binocular, en qué dirección lo hace?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Looks towards {direction}°",
|
||||
"nl": "Kijkt richting {direction}°",
|
||||
"de": "Blick in Richtung {direction}°"
|
||||
"de": "Blick in Richtung {direction}°",
|
||||
"es": "Mira hacia {direction}º"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "direction",
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
"name": {
|
||||
"en": "Bird watching places",
|
||||
"nl": "Vogelkijkhutten",
|
||||
"de": "Orte zur Vogelbeobachtung"
|
||||
"de": "Orte zur Vogelbeobachtung",
|
||||
"es": "Lugares para ver pájaros"
|
||||
},
|
||||
"minzoom": 14,
|
||||
"source": {
|
||||
|
@ -142,7 +143,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "There are special provisions for wheelchair users",
|
||||
"nl": "Er zijn speciale voorzieningen voor rolstoelen"
|
||||
"nl": "Er zijn speciale voorzieningen voor rolstoelen",
|
||||
"es": "Hay provisiones especiales para usuarios de sillas de ruedas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -175,7 +177,9 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Not accessible to wheelchair users",
|
||||
"nl": "Niet rolstoeltoegankelijk"
|
||||
"nl": "Niet rolstoeltoegankelijk",
|
||||
"de": "Nicht zugänglich für Rollstuhlfahrer",
|
||||
"es": "No accesible a usuarios con sillas de ruedas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -183,7 +187,9 @@
|
|||
{
|
||||
"render": {
|
||||
"en": "Operated by {operator}",
|
||||
"nl": "Beheer door {operator}"
|
||||
"nl": "Beheer door {operator}",
|
||||
"de": "Betrieben von {operator}",
|
||||
"es": "Operado por {operator}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator"
|
||||
|
@ -197,14 +203,17 @@
|
|||
"if": "operator=Natuurpunt",
|
||||
"then": {
|
||||
"en": "Operated by Natuurpunt",
|
||||
"nl": "Beheer door Natuurpunt"
|
||||
"nl": "Beheer door Natuurpunt",
|
||||
"de": "Betrieben von Natuurpunt",
|
||||
"es": "Operado por Natuurpunt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "operator=Agentschap Natuur en Bos",
|
||||
"then": {
|
||||
"en": "Operated by the Agency for Nature and Forests",
|
||||
"nl": "Beheer door het Agentschap Natuur en Bos"
|
||||
"nl": "Beheer door het Agentschap Natuur en Bos",
|
||||
"de": "Betrieben von einer Forst- bzw. Naturschutzbehörde"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -239,7 +248,9 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A covered shelter where one can watch birds comfortably",
|
||||
"nl": "Een overdekte hut waarbinnen er warm en droog naar vogels gekeken kan worden"
|
||||
"nl": "Een overdekte hut waarbinnen er warm en droog naar vogels gekeken kan worden",
|
||||
"de": "Ein überdachter Unterstand, in dem man bequem Vögel beobachten kann",
|
||||
"es": "Un refugio cubierto donde se pueden ver pájaros confortablemente"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -254,7 +265,8 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A screen or wall with openings to watch birds",
|
||||
"nl": "Een vogelkijkwand waarachter men kan staan om vogels te kijken"
|
||||
"nl": "Een vogelkijkwand waarachter men kan staan om vogels te kijken",
|
||||
"es": "Una pantalla o pared con aperturas para ver pájaros"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -268,7 +280,8 @@
|
|||
"en": "Wheelchair accessible",
|
||||
"de": "Zugänglich für Rollstuhlfahrer",
|
||||
"fr": "Accessible aux fauteuils roulants",
|
||||
"ca": "Accessible per a cadires de rodes"
|
||||
"ca": "Accessible per a cadires de rodes",
|
||||
"es": "Accesible con sillas de ruedas"
|
||||
},
|
||||
"osmTags": {
|
||||
"or": [
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
"de": "Cafés und Kneipen",
|
||||
"fr": "Cafés et pubs",
|
||||
"zh_Hant": "咖啡廳與酒吧",
|
||||
"hu": "Kávézók és kocsmák"
|
||||
"hu": "Kávézók és kocsmák",
|
||||
"es": "Cafeterías y bares"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": {
|
||||
|
@ -33,7 +34,9 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A pub, mostly for drinking beers in a warm, relaxed interior",
|
||||
"nl": "Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk"
|
||||
"nl": "Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk",
|
||||
"de": "Eine Kneipe, in der vor allem Bier in ruhiger, entspannter Atmosphäre getrunken wird",
|
||||
"es": "Un bar, principalmente para beber cervezas en un interior templado y relajado"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "map"
|
||||
|
@ -53,7 +56,8 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A more modern and commercial <b>bar</b>, possibly with a music and light installation",
|
||||
"nl": "Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek"
|
||||
"nl": "Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek",
|
||||
"de": "Eine modernere und kommerzielle <b>Bar</b>, möglicherweise mit einer Musik- und Lichtinstallation"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "map"
|
||||
|
@ -73,7 +77,8 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A <b>cafe</b> to drink tea, coffee or an alcoholical bevarage in a quiet environment",
|
||||
"nl": "Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen."
|
||||
"nl": "Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen.",
|
||||
"de": "Ein <b>Café</b>, um in ruhiger Umgebung Tee, Kaffee oder ein alkoholisches Getränk zu trinken"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "map"
|
||||
|
@ -84,7 +89,8 @@
|
|||
"render": {
|
||||
"en": "Pub",
|
||||
"nl": "Café",
|
||||
"ca": "Bar"
|
||||
"ca": "Bar",
|
||||
"de": "Kneipe"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -137,35 +143,40 @@
|
|||
"if": "amenity=pub",
|
||||
"then": {
|
||||
"en": "A pub, mostly for drinking beers in a warm, relaxed interior",
|
||||
"nl": "Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk"
|
||||
"nl": "Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk",
|
||||
"de": "Eine Kneipe, in der vor allem Bier in ruhiger, entspannter Atmosphäre getrunken wird"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "amenity=bar",
|
||||
"then": {
|
||||
"en": "A more modern and commercial <b>bar</b>, possibly with a music and light installation",
|
||||
"nl": "Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek"
|
||||
"nl": "Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek",
|
||||
"de": "Eine modernere und kommerzielle <b>Bar</b>, möglicherweise mit einer Musik- und Lichtinstallation"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "amenity=cafe",
|
||||
"then": {
|
||||
"en": "A <b>cafe</b> to drink tea, coffee or an alcoholical bevarage in a quiet environment",
|
||||
"nl": "Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen."
|
||||
"nl": "Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen.",
|
||||
"de": "Ein <b>Café</b>, um in ruhiger Umgebung Tee, Kaffee oder ein alkoholisches Getränk zu trinken"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "amenity=restaurant",
|
||||
"then": {
|
||||
"en": "A <b>restuarant</b> where one can get a proper meal",
|
||||
"nl": "Dit is een <b>restaurant</b> waar men een maaltijd geserveerd krijgt"
|
||||
"nl": "Dit is een <b>restaurant</b> waar men een maaltijd geserveerd krijgt",
|
||||
"de": "Ein <b>Restaurant</b>, in dem man ordentlich essen kann"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "amenity=biergarten",
|
||||
"then": {
|
||||
"en": "An open space where beer is served, typically seen in Germany",
|
||||
"nl": "Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland"
|
||||
"nl": "Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland",
|
||||
"de": "Ein Außenbereich mit Bierausschank, typischerweise in Deutschland"
|
||||
},
|
||||
"hideInAnswer": "_country!=de"
|
||||
}
|
||||
|
@ -192,7 +203,8 @@
|
|||
"de": "Derzeit geöffnet",
|
||||
"fr": "Ouvert maintenant",
|
||||
"hu": "Most nyitva van",
|
||||
"ca": "Obert ara"
|
||||
"ca": "Obert ara",
|
||||
"es": "Abiert oahora"
|
||||
},
|
||||
"osmTags": "_isOpen=yes"
|
||||
}
|
||||
|
@ -210,7 +222,9 @@
|
|||
{
|
||||
"explanation": {
|
||||
"nl": "{title()} is permanent gestopt",
|
||||
"en": "{title()} has closed down permanently"
|
||||
"en": "{title()} has closed down permanently",
|
||||
"de": "{title()} wurde dauerhaft geschlossen",
|
||||
"es": "{title()} ha cerrado permanentemente"
|
||||
},
|
||||
"changesetMessage": "shop_closed"
|
||||
}
|
||||
|
@ -251,6 +265,8 @@
|
|||
"description": {
|
||||
"en": "A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions",
|
||||
"hu": "Egy olyan réteg, amely kávézókat és kocsmákat jelenít meg, ahol össze lehet gyűlni egy ital köré. A réteg néhány lényeges kérdést tesz fel",
|
||||
"nl": "Een laag die kroegen en koffiehuizen toont waar je iets kunt drinken. De laag zal je enkele vragen stellen"
|
||||
"nl": "Een laag die kroegen en koffiehuizen toont waar je iets kunt drinken. De laag zal je enkele vragen stellen",
|
||||
"de": "Eine Ebene mit Cafés und Kneipen, in denen man sich auf ein Getränk treffen kann. Die Ebene fragt nach einigen relevanten Eigenschaften",
|
||||
"es": "Una capa que muestra cafeterías y bares donde uno se puede reunir con una bebida. La capa pregunta algunas preguntas relevantes"
|
||||
}
|
||||
}
|
|
@ -138,7 +138,8 @@
|
|||
},
|
||||
"render": {
|
||||
"en": "Access is {access}",
|
||||
"nl": "Toegang voor {access}"
|
||||
"nl": "Toegang voor {access}",
|
||||
"de": "Zugang ist {access}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "access",
|
||||
|
@ -151,7 +152,8 @@
|
|||
"if": "access=yes",
|
||||
"then": {
|
||||
"en": "Anyone can use this charging station (payment might be needed)",
|
||||
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)"
|
||||
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)",
|
||||
"de": "Jeder kann diese Ladestation nutzen (eventuell gegen Bezahlung)"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -163,7 +165,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Anyone can use this charging station (payment might be needed)",
|
||||
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)"
|
||||
"nl": "Toegankelijk voor iedereen (mogelijks met aanmelden en/of te betalen)",
|
||||
"de": "Jeder kann diese Ladestation nutzen (eventuell gegen Bezahlung)"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -202,7 +205,8 @@
|
|||
},
|
||||
"question": {
|
||||
"en": "How much vehicles can be charged here at the same time?",
|
||||
"nl": "Hoeveel voertuigen kunnen hier opgeladen worden?"
|
||||
"nl": "Hoeveel voertuigen kunnen hier opgeladen worden?",
|
||||
"de": "Wie viele Fahrzeuge können hier gleichzeitig geladen werden?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "capacity",
|
||||
|
@ -223,7 +227,8 @@
|
|||
"ifnot": "socket:schuko=",
|
||||
"then": {
|
||||
"en": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F)",
|
||||
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)"
|
||||
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)",
|
||||
"de": "<b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/CEE7_4F.svg",
|
||||
|
@ -251,7 +256,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Schuko wall plug</b> without ground pin (CEE7/4 type F)",
|
||||
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)"
|
||||
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)",
|
||||
"de": "<b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -264,7 +270,8 @@
|
|||
"ifnot": "socket:typee=",
|
||||
"then": {
|
||||
"en": "<b>European wall plug</b> with ground pin (CEE7/4 type E)",
|
||||
"nl": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)"
|
||||
"nl": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)",
|
||||
"de": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/TypeE.svg",
|
||||
|
@ -280,7 +287,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>European wall plug</b> with ground pin (CEE7/4 type E)",
|
||||
"nl": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)"
|
||||
"nl": "<b>Europese stekker</b> met aardingspin (CEE7/4 type E)",
|
||||
"de": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -294,7 +302,8 @@
|
|||
"then": {
|
||||
"en": "<b>Chademo</b>",
|
||||
"nl": "<b>Chademo</b>",
|
||||
"ca": "<b>Chademo</b>"
|
||||
"ca": "<b>Chademo</b>",
|
||||
"de": "<b>Chademo</b>"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Chademo_type4.svg",
|
||||
|
@ -337,7 +346,8 @@
|
|||
"then": {
|
||||
"en": "<b>Chademo</b>",
|
||||
"nl": "<b>Chademo</b>",
|
||||
"ca": "<b>Chademo</b>"
|
||||
"ca": "<b>Chademo</b>",
|
||||
"de": "<b>Chademo</b>"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -350,7 +360,8 @@
|
|||
"ifnot": "socket:type1_cable=",
|
||||
"then": {
|
||||
"en": "<b>Type 1 with cable</b> (J1772)",
|
||||
"nl": "<b>Type 1 met kabel</b> (J1772)"
|
||||
"nl": "<b>Type 1 met kabel</b> (J1772)",
|
||||
"de": "<b>Typ 1 mit Kabel</b> (J1772)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type1_J1772.svg",
|
||||
|
@ -392,7 +403,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 1 with cable</b> (J1772)",
|
||||
"nl": "<b>Type 1 met kabel</b> (J1772)"
|
||||
"nl": "<b>Type 1 met kabel</b> (J1772)",
|
||||
"de": "<b>Typ 1 mit Kabel</b> (J1772)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -405,7 +417,8 @@
|
|||
"ifnot": "socket:type1=",
|
||||
"then": {
|
||||
"en": "<b>Type 1 <i>without</i> cable</b> (J1772)",
|
||||
"nl": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)"
|
||||
"nl": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)",
|
||||
"de": "<b>Typ 1 <i>ohne</i> Kabel</b> (J1772)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type1_J1772.svg",
|
||||
|
@ -447,7 +460,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 1 <i>without</i> cable</b> (J1772)",
|
||||
"nl": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)"
|
||||
"nl": "<b>Type 1 <i>zonder</i> kabel</b> (J1772)",
|
||||
"de": "<b> Typ 1 <i>ohne </i> Kabel</b> (J1772)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -460,7 +474,8 @@
|
|||
"ifnot": "socket:type1_combo=",
|
||||
"then": {
|
||||
"en": "<b>Type 1 CCS</b> (aka Type 1 Combo)",
|
||||
"nl": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)"
|
||||
"nl": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)",
|
||||
"de": "<b>Typ 1 CCS</b> (auch bekannt als Typ 1 Combo)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type1-ccs.svg",
|
||||
|
@ -502,7 +517,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 1 CCS</b> (aka Type 1 Combo)",
|
||||
"nl": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)"
|
||||
"nl": "<b>Type 1 CCS</b> (ook gekend als Type 1 Combo)",
|
||||
"de": "<b> Typ 1 CCS </b> (auch bekannt als Typ 1 Combo)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -515,7 +531,8 @@
|
|||
"ifnot": "socket:tesla_supercharger=",
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger</b>",
|
||||
"nl": "<b>Tesla Supercharger</b>"
|
||||
"nl": "<b>Tesla Supercharger</b>",
|
||||
"de": "<b>Tesla Supercharger</b>"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Tesla-hpwc-model-s.svg",
|
||||
|
@ -557,7 +574,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger</b>",
|
||||
"nl": "<b>Tesla Supercharger</b>"
|
||||
"nl": "<b>Tesla Supercharger</b>",
|
||||
"de": "<b>Tesla Supercharger</b>"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -570,7 +588,8 @@
|
|||
"ifnot": "socket:type2=",
|
||||
"then": {
|
||||
"en": "<b>Type 2</b> (mennekes)",
|
||||
"nl": "<b>Type 2</b> (mennekes)"
|
||||
"nl": "<b>Type 2</b> (mennekes)",
|
||||
"de": "<b>Typ 2</b> (mennekes)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type2_socket.svg",
|
||||
|
@ -612,7 +631,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 2</b> (mennekes)",
|
||||
"nl": "<b>Type 2</b> (mennekes)"
|
||||
"nl": "<b>Type 2</b> (mennekes)",
|
||||
"de": "<b>Typ 2</b> (mennekes)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -625,7 +645,8 @@
|
|||
"ifnot": "socket:type2_combo=",
|
||||
"then": {
|
||||
"en": "<b>Type 2 CCS</b> (mennekes)",
|
||||
"nl": "<b>Type 2 CCS</b> (mennekes)"
|
||||
"nl": "<b>Type 2 CCS</b> (mennekes)",
|
||||
"de": "<b>Typ 2 CCS</b> (mennekes)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type2_CCS.svg",
|
||||
|
@ -667,7 +688,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 2 CCS</b> (mennekes)",
|
||||
"nl": "<b>Type 2 CCS</b> (mennekes)"
|
||||
"nl": "<b>Type 2 CCS</b> (mennekes)",
|
||||
"de": "<b>Typ 2 CCS</b> (mennekes)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -680,7 +702,8 @@
|
|||
"ifnot": "socket:type2_cable=",
|
||||
"then": {
|
||||
"en": "<b>Type 2 with cable</b> (mennekes)",
|
||||
"nl": "<b>Type 2 met kabel</b> (J1772)"
|
||||
"nl": "<b>Type 2 met kabel</b> (J1772)",
|
||||
"de": "<b>Typ 2 mit Kabel</b> (mennekes)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type2_tethered.svg",
|
||||
|
@ -722,7 +745,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Type 2 with cable</b> (mennekes)",
|
||||
"nl": "<b>Type 2 met kabel</b> (J1772)"
|
||||
"nl": "<b>Type 2 met kabel</b> (J1772)",
|
||||
"de": "<b>Typ 2 mit Kabel</b> (mennekes)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -735,7 +759,8 @@
|
|||
"ifnot": "socket:tesla_supercharger_ccs=",
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger CCS</b> (a branded type2_css)",
|
||||
"nl": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)"
|
||||
"nl": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)",
|
||||
"de": "<b>Tesla Supercharger CCS</b> (ein Markenzeichen von type2_css)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type2_CCS.svg",
|
||||
|
@ -777,7 +802,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger CCS</b> (a branded type2_css)",
|
||||
"nl": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)"
|
||||
"nl": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)",
|
||||
"de": "<b>Tesla Supercharger CCS</b> (ein Markenzeichen von type2_css)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -790,7 +816,8 @@
|
|||
"ifnot": "socket:tesla_destination=",
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger (destination)</b>",
|
||||
"nl": "<b>Tesla Supercharger (destination)</b>"
|
||||
"nl": "<b>Tesla Supercharger (destination)</b>",
|
||||
"de": "<b>Tesla Supercharger (Destination)</b>"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Tesla-hpwc-model-s.svg",
|
||||
|
@ -838,7 +865,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Tesla Supercharger (destination)</b>",
|
||||
"nl": "<b>Tesla Supercharger (destination)</b>"
|
||||
"nl": "<b>Tesla Supercharger (destination)</b>",
|
||||
"de": "<b>Tesla Supercharger (Destination)</b>"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -851,7 +879,8 @@
|
|||
"ifnot": "socket:tesla_destination=",
|
||||
"then": {
|
||||
"en": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)",
|
||||
"nl": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)"
|
||||
"nl": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)",
|
||||
"de": "<b>Tesla supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla)"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/Type2_tethered.svg",
|
||||
|
@ -899,7 +928,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Tesla supercharger (destination)</b> (A Type 2 with cable branded as tesla)",
|
||||
"nl": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)"
|
||||
"nl": "<b>Tesla supercharger (destination</b> (Een Type 2 met kabel en Tesla-logo)",
|
||||
"de": "<b>Tesla supercharger (Destination)</b> (Typ 2 mit Kabel von Tesla)"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -912,7 +942,8 @@
|
|||
"ifnot": "socket:USB-A=",
|
||||
"then": {
|
||||
"en": "<b>USB</b> to charge phones and small electronics",
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden"
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden",
|
||||
"de": "<b>USB</b> zum Aufladen von Handys und kleinen Elektrogeräten"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/usb_port.svg",
|
||||
|
@ -928,7 +959,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>USB</b> to charge phones and small electronics",
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden"
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden",
|
||||
"de": "<b>USB</b> zum Aufladen von Handys und kleinen Elektrogeräten"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -941,7 +973,8 @@
|
|||
"ifnot": "socket:bosch_3pin=",
|
||||
"then": {
|
||||
"en": "<b>Bosch Active Connect with 3 pins</b> and cable",
|
||||
"nl": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel"
|
||||
"nl": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel",
|
||||
"de": "<b>Bosch Active Connect mit 3 Pins</b> und Kabel"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/bosch-3pin.svg",
|
||||
|
@ -979,7 +1012,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Bosch Active Connect with 3 pins</b> and cable",
|
||||
"nl": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel"
|
||||
"nl": "<b>Bosch Active Connect met 3 pinnen</b> aan een kabel",
|
||||
"de": "<b> Bosch Active Connect mit 3 Pins </b> und Kabel"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -992,7 +1026,8 @@
|
|||
"ifnot": "socket:bosch_5pin=",
|
||||
"then": {
|
||||
"en": "<b>Bosch Active Connect with 5 pins</b> and cable",
|
||||
"nl": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel"
|
||||
"nl": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel",
|
||||
"de": "<b>Bosch Active Connect mit 5 Pins</b> und Kabel"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/bosch-5pin.svg",
|
||||
|
@ -1030,7 +1065,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "<b>Bosch Active Connect with 5 pins</b> and cable",
|
||||
"nl": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel"
|
||||
"nl": "<b>Bosch Active Connect met 5 pinnen</b> aan een kabel",
|
||||
"de": "<b> Bosch Active Connect mit 5 Pins </b> und Kabel"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -1044,11 +1080,13 @@
|
|||
"id": "plugs-0",
|
||||
"question": {
|
||||
"en": "How much plugs of type <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> are available here?",
|
||||
"nl": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> heeft dit oplaadpunt?"
|
||||
"nl": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> heeft dit oplaadpunt?",
|
||||
"de": "Wie viele Stecker vom Typ <div style='display: inline-block'><b><b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> sind hier vorhanden?"
|
||||
},
|
||||
"render": {
|
||||
"en": "There are <b class='text-xl'>{socket:schuko}</b> plugs of type <div style='display: inline-block'><b><b>Schuko wall plug</b> without ground pin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> available here",
|
||||
"nl": "Hier zijn <b class='text-xl'>{socket:schuko}</b> stekkers van het type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>"
|
||||
"nl": "Hier zijn <b class='text-xl'>{socket:schuko}</b> stekkers van het type <div style='display: inline-block'><b><b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>",
|
||||
"de": "Hier sind <b class='text-xl'>{socket:schuko}</b> Stecker des Typs <div style='display: inline-block'><b><b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> vorhanden"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "socket:schuko",
|
||||
|
@ -1065,11 +1103,13 @@
|
|||
"id": "plugs-1",
|
||||
"question": {
|
||||
"en": "How much plugs of type <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> are available here?",
|
||||
"nl": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> heeft dit oplaadpunt?"
|
||||
"nl": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> heeft dit oplaadpunt?",
|
||||
"de": "Wie viele Stecker des Typs <div style='display: inline-block'><b><b>Europäischer Wandstecker</b> mit Erdungsstift (CEE7/4 Typ E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> sind hier vorhanden?"
|
||||
},
|
||||
"render": {
|
||||
"en": "There are <b class='text-xl'>{socket:typee}</b> plugs of type <div style='display: inline-block'><b><b>European wall plug</b> with ground pin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> available here",
|
||||
"nl": "Hier zijn <b class='text-xl'>{socket:typee}</b> stekkers van het type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>"
|
||||
"nl": "Hier zijn <b class='text-xl'>{socket:typee}</b> stekkers van het type <div style='display: inline-block'><b><b>Europese stekker</b> met aardingspin (CEE7/4 type E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>",
|
||||
"de": "Hier sind <b class='text-xl'>{socket:typee}</b> Stecker des Typs <div style='display: inline-block'><b><b>Europäischer Wandstecker</b> mit Erdungsstift (CEE7/4 Typ E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> vorhanden"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "socket:typee",
|
||||
|
@ -2953,7 +2993,8 @@
|
|||
},
|
||||
"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 {socket:tesla_destination:voltage} volt",
|
||||
"nl": "<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> heeft een spanning van {socket:tesla_destination:voltage} volt"
|
||||
"nl": "<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> heeft een spanning van {socket:tesla_destination:voltage} volt",
|
||||
"de": "<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> liefert {socket:tesla_destination:voltage} Volt"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "socket:tesla_destination:voltage",
|
||||
|
@ -3087,11 +3128,13 @@
|
|||
"group": "technical",
|
||||
"question": {
|
||||
"en": "What voltage do the plugs with <div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> offer?",
|
||||
"nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
|
||||
"nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>",
|
||||
"de": "Welche Spannung liefern die Stecker mit <div style='display: inline-block'><b><b>USB</b> zum Laden von Handys und kleinen Elektrogeräten</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?"
|
||||
},
|
||||
"render": {
|
||||
"en": "<div style='display: inline-block'><b><b>USB</b> to charge phones and small electronics</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> outputs {socket:USB-A:voltage} volt",
|
||||
"nl": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> heeft een spanning van {socket:USB-A:voltage} volt"
|
||||
"nl": "<div style='display: inline-block'><b><b>USB</b> om GSMs en kleine electronica op te laden</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> heeft een spanning van {socket:USB-A:voltage} volt",
|
||||
"de": "<div style='display: inline-block'><b><b>USB</b> zum Aufladen von Telefonen und kleinen Elektrogeräten</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> liefert {socket:USB-A:voltage} Volt"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "socket:USB-A:voltage",
|
||||
|
@ -3102,7 +3145,8 @@
|
|||
"if": "socket:USB-A:voltage=5 V",
|
||||
"then": {
|
||||
"en": "<b>USB</b> to charge phones and small electronics outputs 5 volt",
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden heeft een spanning van 5 volt"
|
||||
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden heeft een spanning van 5 volt",
|
||||
"de": "<b>USB</b> zum Aufladen von Handys und kleinen Elektrogeräten liefert 5 Volt"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/charging_station/usb_port.svg",
|
||||
|
@ -3214,7 +3258,8 @@
|
|||
"group": "technical",
|
||||
"question": {
|
||||
"en": "What voltage do the plugs with <div style='display: inline-block'><b><b>Bosch Active Connect with 3 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> offer?",
|
||||
"nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Bosch Active Connect met 3 pinnen</b> aan een kabel</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div>"
|
||||
"nl": "Welke spanning levert de stekker van type <div style='display: inline-block'><b><b>Bosch Active Connect met 3 pinnen</b> aan een kabel</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div>",
|
||||
"de": "Welche Spannung bieten die Stecker mit <div style='display: inline-block'><b><b>Bosch Active Connect mit 3 Pins</b> und Kabel</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div>?"
|
||||
},
|
||||
"render": {
|
||||
"en": "<div style='display: inline-block'><b><b>Bosch Active Connect with 3 pins</b> and cable</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> outputs {socket:bosch_3pin:voltage} volt",
|
||||
|
@ -3376,7 +3421,8 @@
|
|||
"id": "fee",
|
||||
"question": {
|
||||
"en": "Does one have to pay to use this charging station?",
|
||||
"nl": "Moet men betalen om dit oplaadpunt te gebruiken?"
|
||||
"nl": "Moet men betalen om dit oplaadpunt te gebruiken?",
|
||||
"de": "Muss man für die Nutzung dieser Ladestation bezahlen?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -3390,7 +3436,8 @@
|
|||
},
|
||||
"then": {
|
||||
"nl": "Gratis te gebruiken (zonder aan te melden)",
|
||||
"en": "Free to use (without authenticating)"
|
||||
"en": "Free to use (without authenticating)",
|
||||
"de": "Kostenlos nutzbar (ohne Authentifizierung)"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3404,7 +3451,8 @@
|
|||
},
|
||||
"then": {
|
||||
"nl": "Gratis te gebruiken, maar aanmelden met een applicatie is verplicht",
|
||||
"en": "Free to use, but one has to authenticate"
|
||||
"en": "Free to use, but one has to authenticate",
|
||||
"de": "Kostenlose Nutzung, aber man muss sich authentifizieren"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3415,7 +3463,8 @@
|
|||
},
|
||||
"then": {
|
||||
"nl": "Gratis te gebruiken",
|
||||
"en": "Free to use"
|
||||
"en": "Free to use",
|
||||
"de": "Kostenlose Nutzung"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -3428,7 +3477,8 @@
|
|||
},
|
||||
"then": {
|
||||
"nl": "Betalend te gebruiken, maar gratis voor klanten van het bijhorende hotel/café/ziekenhuis/...",
|
||||
"en": "Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station"
|
||||
"en": "Paid use, but free for customers of the hotel/pub/hospital/... who operates the charging station",
|
||||
"de": "Kostenpflichtige Nutzung, aber kostenlos für Kunden des Hotels / Pub / Krankenhauses / ... wer die Ladestation betreibt"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -3450,7 +3500,8 @@
|
|||
"id": "charge",
|
||||
"question": {
|
||||
"en": "How much does one have to pay to use this charging station?",
|
||||
"nl": "Hoeveel moet men betalen om dit oplaadpunt te gebruiken?"
|
||||
"nl": "Hoeveel moet men betalen om dit oplaadpunt te gebruiken?",
|
||||
"de": "Wie viel muss man für die Nutzung dieser Ladestation bezahlen?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Using this charging station costs <b>{charge}</b>",
|
||||
|
@ -3583,11 +3634,13 @@
|
|||
"id": "Auth phone",
|
||||
"render": {
|
||||
"en": "Authenticate by calling or SMS'ing to <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
|
||||
"nl": "Aanmelden door te bellen of te SMS'en naar <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>"
|
||||
"nl": "Aanmelden door te bellen of te SMS'en naar <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
|
||||
"de": "Authentifizierung durch Anruf oder SMS an <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>"
|
||||
},
|
||||
"question": {
|
||||
"en": "What's the phone number for authentication call or SMS?",
|
||||
"nl": "Wat is het telefoonnummer dat men moet bellen of SMS'en om zich aan te melden?"
|
||||
"nl": "Wat is het telefoonnummer dat men moet bellen of SMS'en om zich aan te melden?",
|
||||
"de": "Wie lautet die Telefonnummer für den Authentifizierungsanruf oder die SMS?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "authentication:phone_call:number",
|
||||
|
@ -3604,21 +3657,24 @@
|
|||
"id": "maxstay",
|
||||
"question": {
|
||||
"en": "What is the maximum amount of time one is allowed to stay here?",
|
||||
"nl": "Hoelang mag een voertuig hier blijven staan?"
|
||||
"nl": "Hoelang mag een voertuig hier blijven staan?",
|
||||
"de": "Wie lange darf man hier maximal parken?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "maxstay"
|
||||
},
|
||||
"render": {
|
||||
"en": "One can stay at most <b>{canonical(maxstay)}</b>",
|
||||
"nl": "De maximale parkeertijd hier is <b>{canonical(maxstay)}</b>"
|
||||
"nl": "De maximale parkeertijd hier is <b>{canonical(maxstay)}</b>",
|
||||
"de": "Die maximale Parkdauer beträgt <b>{canonical(maxstay)}</b>"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "maxstay=unlimited",
|
||||
"then": {
|
||||
"en": "No timelimit on leaving your vehicle here",
|
||||
"nl": "Geen maximum parkeertijd"
|
||||
"nl": "Geen maximum parkeertijd",
|
||||
"de": "Keine Höchstparkdauer"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -3744,11 +3800,13 @@
|
|||
"id": "phone",
|
||||
"question": {
|
||||
"en": "What number can one call if there is a problem with this charging station?",
|
||||
"nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?"
|
||||
"nl": "Wat is het telefoonnummer van de beheerder van dit oplaadpunt?",
|
||||
"de": "Welche Nummer kann man anrufen, wenn es ein Problem mit dieser Ladestation gibt?"
|
||||
},
|
||||
"render": {
|
||||
"en": "In case of problems, call <a href='tel:{phone}'>{phone}</a>",
|
||||
"nl": "Bij problemen, bel naar <a href='tel:{phone}'>{phone}</a>"
|
||||
"nl": "Bij problemen, bel naar <a href='tel:{phone}'>{phone}</a>",
|
||||
"de": "Bei Problemen, anrufen unter <a href='tel:{phone}'>{phone}</a>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "phone",
|
||||
|
@ -3759,11 +3817,13 @@
|
|||
"id": "email",
|
||||
"question": {
|
||||
"en": "What is the email address of the operator?",
|
||||
"nl": "Wat is het email-adres van de operator?"
|
||||
"nl": "Wat is het email-adres van de operator?",
|
||||
"de": "Wie lautet die E-Mail-Adresse des Betreibers?"
|
||||
},
|
||||
"render": {
|
||||
"en": "In case of problems, send an email to <a href='mailto:{email}'>{email}</a>",
|
||||
"nl": "Bij problemen, email naar <a href='mailto:{email}'>{email}</a>"
|
||||
"nl": "Bij problemen, email naar <a href='mailto:{email}'>{email}</a>",
|
||||
"de": "Bei Problemen senden Sie bitte eine E-Mail an <a href='mailto:{email}'>{email}</a>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "email",
|
||||
|
@ -4012,7 +4072,8 @@
|
|||
],
|
||||
"title": {
|
||||
"en": "a charging station for electrical bikes with a normal european wall plug <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)",
|
||||
"nl": "een oplaadpunt voor elektrische fietsen met een gewoon Europees stopcontact <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (speciaal bedoeld voor fietsen)"
|
||||
"nl": "een oplaadpunt voor elektrische fietsen met een gewoon Europees stopcontact <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (speciaal bedoeld voor fietsen)",
|
||||
"de": "eine Ladestation für Elektrofahrräder mit einer normalen europäischen Steckdose <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (zum Laden von Elektrofahrrädern)"
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "map"
|
||||
|
|
|
@ -52,6 +52,10 @@
|
|||
"helperArgs": [
|
||||
"name",
|
||||
{
|
||||
"notInstanceOf": [
|
||||
"Q79007",
|
||||
"Q22698"
|
||||
],
|
||||
"removePostfixes": [
|
||||
"steenweg",
|
||||
"heirbaan",
|
||||
|
@ -70,7 +74,9 @@
|
|||
"wegel",
|
||||
"kerk",
|
||||
"church",
|
||||
"kaai"
|
||||
"kaai",
|
||||
"park",
|
||||
"parque"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -140,7 +146,8 @@
|
|||
"id": "etymology_multi_apply",
|
||||
"render": {
|
||||
"en": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Auto-applying data on all segments with the same name, true)}",
|
||||
"nl": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Wijzigingen worden automatisch gedaan op alle segmenten met dezelfde naam, true)}"
|
||||
"nl": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Wijzigingen worden automatisch gedaan op alle segmenten met dezelfde naam, true)}",
|
||||
"de": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Automatische Datenübernahme auf alle Segmente mit demselben Namen, true)}"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
"cuisine=friture"
|
||||
],
|
||||
"description": {
|
||||
"en": "A fastfood-buisiness focused on french fries",
|
||||
"en": "A fastfood-business focused on french fries",
|
||||
"nl": "Een fastfood-zaak waar je frieten koopt"
|
||||
},
|
||||
"preciseInput": {
|
||||
|
@ -78,7 +78,8 @@
|
|||
"render": {
|
||||
"en": "Restaurant",
|
||||
"nl": "Eetgelegenheid",
|
||||
"ca": "Restaurant"
|
||||
"ca": "Restaurant",
|
||||
"de": "Restaurant"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -460,7 +461,8 @@
|
|||
"question": {
|
||||
"en": "Does this fries shop have vegetarian snacks?",
|
||||
"nl": "Heeft deze frituur vegetarische snacks?",
|
||||
"fr": "Cette friterie est-elle équipée de snacks végétariens ?"
|
||||
"fr": "Cette friterie est-elle équipée de snacks végétariens ?",
|
||||
"de": "Hat dieser Frittenladen vegetarische Snacks?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
"then": {
|
||||
"en": "No name is marked on the bike",
|
||||
"nl": "De naam is niet aangeduid op de fiets",
|
||||
"de": "Auf dem Fahrrad ist kein Name angegeben",
|
||||
"de": "Am Fahrrad ist kein Name angegeben",
|
||||
"it": "Nessun nome scritto sulla bici",
|
||||
"fr": "Aucun nom n'est marqué sur le vélo"
|
||||
}
|
||||
|
@ -227,6 +227,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "A layer showing memorials for cyclists, killed in road accidents",
|
||||
"nl": "Een laag die herdenkingsplaatsen voor verongelukte fietsers toont"
|
||||
"nl": "Een laag die herdenkingsplaatsen voor verongelukte fietsers toont",
|
||||
"de": "Eine Ebene mit Gedenkstätten für Radfahrer, die bei Verkehrsunfällen ums Leben gekommen sind"
|
||||
}
|
||||
}
|
|
@ -82,6 +82,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "A layer showing touristical, road side information boards (e.g. giving information about the landscape, a building, a feature, a map, ...)",
|
||||
"nl": "Deze laag toont informatieborden in de publieke ruimte die uitleg geven over een bezienswaardigheid (bv. uitleg over het landschap, een ruine, een kaart van de omgeving, ...)"
|
||||
"nl": "Deze laag toont informatieborden in de publieke ruimte die uitleg geven over een bezienswaardigheid (bv. uitleg over het landschap, een ruine, een kaart van de omgeving, ...)",
|
||||
"de": "Eine Ebene mit touristischen, straßenseitigen Informationstafeln (z. B. mit Informationen über die Landschaft, ein Gebäude, ein Merkmal, eine Karte, ...)"
|
||||
}
|
||||
}
|
|
@ -26,7 +26,8 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"nl": "Natuurgebied",
|
||||
"en": "Nature reserve"
|
||||
"en": "Nature reserve",
|
||||
"de": "Naturschutzgebiet"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -51,11 +52,13 @@
|
|||
{
|
||||
"render": {
|
||||
"en": "Accessin this nature reserve: {access:description}",
|
||||
"nl": "De toegankelijkheid van dit gebied is: {access:description}"
|
||||
"nl": "De toegankelijkheid van dit gebied is: {access:description}",
|
||||
"de": "Zugang zu diesem Naturschutzgebiet: {access:description}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Is this nature reserve accessible to the public?",
|
||||
"nl": "Is dit gebied toegankelijk?"
|
||||
"nl": "Is dit gebied toegankelijk?",
|
||||
"de": "Ist dieses Naturschutzgebiet für die Öffentlichkeit zugänglich?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "access:description"
|
||||
|
@ -70,7 +73,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Publicly accessible",
|
||||
"nl": "Vrij toegankelijk"
|
||||
"nl": "Vrij toegankelijk",
|
||||
"de": "Öffentlich zugänglich"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -82,7 +86,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Not accessible",
|
||||
"nl": "Niet toegankelijk"
|
||||
"nl": "Niet toegankelijk",
|
||||
"de": "Nicht zugänglich"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -94,7 +99,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Not accessible as this is a private area",
|
||||
"nl": "Niet toegankelijk, want privégebied"
|
||||
"nl": "Niet toegankelijk, want privégebied",
|
||||
"de": "Nicht zugänglich, da dies ein privater Bereich ist"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -106,7 +112,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Accessible despite being a privately owned area",
|
||||
"nl": "Toegankelijk, ondanks dat het privegebied is"
|
||||
"nl": "Toegankelijk, ondanks dat het privegebied is",
|
||||
"de": "Zugänglich, obwohl es sich um ein privates Gebiet handelt"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -118,7 +125,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Only accessible with a guide or during organised activities",
|
||||
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit"
|
||||
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit",
|
||||
"de": "Nur mit einem Führer oder bei organisierten Aktivitäten zugänglich"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -130,7 +138,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Accessible with fee",
|
||||
"nl": "Toegankelijk mits betaling"
|
||||
"nl": "Toegankelijk mits betaling",
|
||||
"de": "Zugänglich gegen Gebühr"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -139,11 +148,13 @@
|
|||
{
|
||||
"render": {
|
||||
"en": "Operated by {operator}",
|
||||
"nl": "Beheer door {operator}"
|
||||
"nl": "Beheer door {operator}",
|
||||
"de": "Betrieben von {operator}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Who operates this area?",
|
||||
"nl": "Wie beheert dit gebied?"
|
||||
"nl": "Wie beheert dit gebied?",
|
||||
"de": "Wer betreibt dieses Gebiet?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator"
|
||||
|
@ -157,7 +168,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Operated by Natuurpunt",
|
||||
"nl": "Dit gebied wordt beheerd door Natuurpunt"
|
||||
"nl": "Dit gebied wordt beheerd door Natuurpunt",
|
||||
"de": "Betrieben von Natuurpunt"
|
||||
},
|
||||
"icon": "./assets/layers/nature_reserve/Natuurpunt.jpg"
|
||||
},
|
||||
|
@ -169,7 +181,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Operated by {operator}",
|
||||
"nl": "Dit gebied wordt beheerd door {operator}"
|
||||
"nl": "Dit gebied wordt beheerd door {operator}",
|
||||
"de": "Betrieben von {operator}"
|
||||
},
|
||||
"icon": "./assets/layers/nature_reserve/Natuurpunt.jpg",
|
||||
"hideInAnswer": true
|
||||
|
@ -182,7 +195,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "Operated by <i>Agentschap Natuur en Bos</i>",
|
||||
"nl": "Dit gebied wordt beheerd door het <i>Agentschap Natuur en Bos</i>"
|
||||
"nl": "Dit gebied wordt beheerd door het <i>Agentschap Natuur en Bos</i>",
|
||||
"de": "Betrieben von <i>Agentschap Natuur en Bos</i>"
|
||||
},
|
||||
"icon": "./assets/layers/nature_reserve/ANB.jpg"
|
||||
}
|
||||
|
@ -192,11 +206,13 @@
|
|||
{
|
||||
"render": {
|
||||
"nl": "Dit gebied heet {name}",
|
||||
"en": "This area is named {name}"
|
||||
"en": "This area is named {name}",
|
||||
"de": "Dieses Gebiet heißt {name}"
|
||||
},
|
||||
"question": {
|
||||
"nl": "Wat is de naam van dit gebied?",
|
||||
"en": "What is the name of this area?"
|
||||
"en": "What is the name of this area?",
|
||||
"de": "Wie heißt dieses Gebiet?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "name",
|
||||
|
@ -219,7 +235,8 @@
|
|||
},
|
||||
"then": {
|
||||
"en": "This area doesn't have a name",
|
||||
"nl": "Dit gebied heeft geen naam"
|
||||
"nl": "Dit gebied heeft geen naam",
|
||||
"de": "Dieses Gebiet hat keinen Namen"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -340,7 +357,8 @@
|
|||
{
|
||||
"render": {
|
||||
"en": "Extra information: <i>{description}</i>",
|
||||
"nl": "Extra info: <i>{description}</i>"
|
||||
"nl": "Extra info: <i>{description}</i>",
|
||||
"de": "Zusätzliche Informationen: <i>{description}</i>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "description"
|
||||
|
@ -350,11 +368,13 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Is there some extra info?",
|
||||
"nl": "Is er extra info die je kwijt wil?"
|
||||
"nl": "Is er extra info die je kwijt wil?",
|
||||
"de": "Gibt es zusätzliche Informationen?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Extra info: <i>{description:0}</i>",
|
||||
"nl": "Extra info: <i>{description:0}</i>"
|
||||
"nl": "Extra info: <i>{description:0}</i>",
|
||||
"de": "Zusätzliche Informationen: <i>{description:0}</i>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "description:0"
|
||||
|
@ -382,11 +402,13 @@
|
|||
],
|
||||
"title": {
|
||||
"en": "a nature reserve",
|
||||
"nl": "een natuurreservaat"
|
||||
"nl": "een natuurreservaat",
|
||||
"de": "ein Naturschutzgebiet"
|
||||
},
|
||||
"description": {
|
||||
"en": "Add a missing nature reserve",
|
||||
"nl": "Voeg een ontbrekend, erkend natuurreservaat toe, bv. een gebied dat beheerd wordt door het ANB of natuurpunt"
|
||||
"nl": "Voeg een ontbrekend, erkend natuurreservaat toe, bv. een gebied dat beheerd wordt door het ANB of natuurpunt",
|
||||
"de": "Ein fehlendes Naturschutzgebiet hinzufügen"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -410,7 +432,8 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "All nature reserves",
|
||||
"nl": "Alle natuurgebieden"
|
||||
"nl": "Alle natuurgebieden",
|
||||
"de": "Alle Naturschutzgebiete"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -17,14 +17,16 @@
|
|||
"render": {
|
||||
"en": "Note",
|
||||
"nl": "Note",
|
||||
"ca": "Nota"
|
||||
"ca": "Nota",
|
||||
"de": "Notiz"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "closed_at~*",
|
||||
"then": {
|
||||
"en": "Closed note",
|
||||
"nl": "Gesloten Note"
|
||||
"nl": "Gesloten Note",
|
||||
"de": "Geschlossene Notiz"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -61,7 +63,8 @@
|
|||
"id": "report-contributor",
|
||||
"render": {
|
||||
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>Report {_first_user} as spam</a>",
|
||||
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>{_first_user} melden als spam</a>"
|
||||
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>{_first_user} melden als spam</a>",
|
||||
"de": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>{_first_user} als Spam melden</a>"
|
||||
},
|
||||
"condition": "_opened_by_anonymous_user=false"
|
||||
},
|
||||
|
@ -69,7 +72,8 @@
|
|||
"id": "report-note",
|
||||
"render": {
|
||||
"en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Report this note as spam or inappropriate</a>",
|
||||
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Deze not melden als spam of ongepast</a>"
|
||||
"nl": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Deze not melden als spam of ongepast</a>",
|
||||
"de": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Diese Notiz als Spam oder unangemessen melden</a>"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -114,7 +118,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Should mention {search} in the first comment",
|
||||
"nl": "Moet in de eerste opmerking \"{search}\" bevatten"
|
||||
"nl": "Moet in de eerste opmerking \"{search}\" bevatten",
|
||||
"de": "Sollte {search} im ersten Kommentar erwähnen"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -131,7 +136,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Should <b>not</b> mention {search} in the first comment",
|
||||
"nl": "Mag in de eerste opmerking <b>niet</b> \"{search}\" bevatten"
|
||||
"nl": "Mag in de eerste opmerking <b>niet</b> \"{search}\" bevatten",
|
||||
"de": "Sollte <b>nicht</b> {search} im ersten Kommentar erwähnen"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -148,7 +154,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Opened by contributor {search}",
|
||||
"nl": "Geopend door bijdrager {search}"
|
||||
"nl": "Geopend door bijdrager {search}",
|
||||
"de": "Geöffnet vom Mitwirkenden {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -165,7 +172,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "<b>Not</b> opened by contributor {search}",
|
||||
"nl": "<b>Niet</b> geopend door bijdrager {search}"
|
||||
"nl": "<b>Niet</b> geopend door bijdrager {search}",
|
||||
"de": "<b>Nicht</b> vom Mitwirkenden {search} geöffnet"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -182,7 +190,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Last edited by contributor {search}",
|
||||
"nl": "Laatst bewerkt door bijdrager {search}"
|
||||
"nl": "Laatst bewerkt door bijdrager {search}",
|
||||
"de": "Zuletzt bearbeitet vom Mitwirkenden {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -199,7 +208,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Opened after {search}",
|
||||
"nl": "Geopend na {search}"
|
||||
"nl": "Geopend na {search}",
|
||||
"de": "Geöffnet nach {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -217,7 +227,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Created before {search}",
|
||||
"nl": "Aangemaakt voor {search}"
|
||||
"nl": "Aangemaakt voor {search}",
|
||||
"de": "Erstellt vor {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -235,7 +246,8 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "Created after {search}",
|
||||
"nl": "Aangemaakt na {search}"
|
||||
"nl": "Aangemaakt na {search}",
|
||||
"de": "Erstellt nach {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -247,7 +259,8 @@
|
|||
"osmTags": "_opened_by_anonymous_user=true",
|
||||
"question": {
|
||||
"en": "Only show notes opened by an anonymous contributor",
|
||||
"nl": "Toon enkel de Notes geopend door een anonieme bijdrager"
|
||||
"nl": "Toon enkel de Notes geopend door een anonieme bijdrager",
|
||||
"de": "Nur Notizen anzeigen, die von anonymen Mitwirkenden geöffnet wurden"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -259,7 +272,8 @@
|
|||
"osmTags": "closed_at=",
|
||||
"question": {
|
||||
"en": "Only show open notes",
|
||||
"nl": "Toon enkel open Notes"
|
||||
"nl": "Toon enkel open Notes",
|
||||
"de": "Nur offene Notizen anzeigen"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -271,7 +285,8 @@
|
|||
"osmTags": "_is_import_note=",
|
||||
"question": {
|
||||
"en": "Hide import notes",
|
||||
"nl": "Verberg import Notes"
|
||||
"nl": "Verberg import Notes",
|
||||
"de": "Importnotizen ausblenden"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
"id": "note_import",
|
||||
"name": {
|
||||
"en": "Possible bookcases",
|
||||
"nl": "Mogelijke publieke boekenkastjes"
|
||||
"nl": "Mogelijke publieke boekenkastjes",
|
||||
"de": "Mögliche Bücherschränke"
|
||||
},
|
||||
"description": "Template for note note imports.",
|
||||
"source": {
|
||||
|
@ -19,7 +20,8 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Possible feature",
|
||||
"nl": "Mogelijk object"
|
||||
"nl": "Mogelijk object",
|
||||
"de": "Mögliches Objekt"
|
||||
}
|
||||
},
|
||||
"calculatedTags": [
|
||||
|
|
|
@ -84,21 +84,24 @@
|
|||
"question": {
|
||||
"en": "Can this tower be visited?",
|
||||
"nl": "Is deze toren publiek toegankelijk?",
|
||||
"es": "¿Se puede visitar esta torre?"
|
||||
"es": "¿Se puede visitar esta torre?",
|
||||
"de": "Kann dieser Turm besichtigt werden?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "access=yes",
|
||||
"then": {
|
||||
"en": "This tower is publicly accessible",
|
||||
"nl": "Deze toren is publiek toegankelijk"
|
||||
"nl": "Deze toren is publiek toegankelijk",
|
||||
"de": "Dieser Turm ist öffentlich zugänglich"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "access=guided",
|
||||
"then": {
|
||||
"en": "This tower can only be visited with a guide",
|
||||
"nl": "Deze toren can enkel bezocht worden met een gids"
|
||||
"nl": "Deze toren can enkel bezocht worden met een gids",
|
||||
"de": "Dieser Turm kann nur mit einem Führer besichtigt werden"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -160,7 +163,8 @@
|
|||
"id": "step_count",
|
||||
"question": {
|
||||
"en": "How much individual steps does one have to climb to reach the top of this tower?",
|
||||
"nl": "Hoeveel treden moet men beklimmen op de top van de toren te bereiken?"
|
||||
"nl": "Hoeveel treden moet men beklimmen op de top van de toren te bereiken?",
|
||||
"de": "Wie viele einzelne Stufen muss man erklimmen, um die Spitze des Turms zu erreichen?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "step_count",
|
||||
|
@ -168,7 +172,8 @@
|
|||
},
|
||||
"render": {
|
||||
"en": "This tower has {step_count} steps to reach the top",
|
||||
"nl": "Deze toren heeft {step_count} traptredes"
|
||||
"nl": "Deze toren heeft {step_count} traptredes",
|
||||
"de": "Dieser Turm hat {step_count} Stufen, um die Spitze zu erreichen"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
@ -181,21 +186,24 @@
|
|||
"id": "elevator",
|
||||
"question": {
|
||||
"en": "Does this tower have an elevator?",
|
||||
"nl": "Heeft deze toren een lift?"
|
||||
"nl": "Heeft deze toren een lift?",
|
||||
"de": "Hat dieser Turm einen Aufzug?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "elevator=yes",
|
||||
"then": {
|
||||
"en": "This tower has an elevator which takes visitors to the top",
|
||||
"nl": "Deze toren heeft een lift die bezoekers naar de top van de toren brengt"
|
||||
"nl": "Deze toren heeft een lift die bezoekers naar de top van de toren brengt",
|
||||
"de": "Dieser Turm verfügt über einen Aufzug, der die Besucher nach oben bringt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "elevator=no",
|
||||
"then": {
|
||||
"en": "This tower does not have an elevator",
|
||||
"nl": "Deze toren heeft geen lift"
|
||||
"nl": "Deze toren heeft geen lift",
|
||||
"de": "Dieser Turm hat keinen Aufzug"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -13,12 +13,14 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"nl": "Parking voor auto's",
|
||||
"en": "Car parking"
|
||||
"en": "Car parking",
|
||||
"de": "Parkplatz"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"en": "A layer showing car parkings",
|
||||
"nl": "Deze laag toont autoparkings"
|
||||
"nl": "Deze laag toont autoparkings",
|
||||
"de": "Eine Ebene mit Parkplätzen"
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images"
|
||||
|
@ -30,7 +32,8 @@
|
|||
],
|
||||
"title": {
|
||||
"nl": "een parking voor auto's",
|
||||
"en": "a car parking"
|
||||
"en": "a car parking",
|
||||
"de": "ein Parkplatz"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -304,7 +304,8 @@
|
|||
"if": "fee=yes",
|
||||
"then": {
|
||||
"en": "This is a <b>paid</b> playground",
|
||||
"nl": "Er moet <b>betaald</b> worden om deze speeltuin te mogen gebruiken"
|
||||
"nl": "Er moet <b>betaald</b> worden om deze speeltuin te mogen gebruiken",
|
||||
"de": "Dies ist ein <b>gebührenpflichtiger</b> Spielplatz"
|
||||
},
|
||||
"addExtraTags": [
|
||||
"access=customers"
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A layer with recycling containers and centres",
|
||||
"nl": "Een laag met recyclagingcontainers en -centrums"
|
||||
"nl": "Een laag met recyclagingcontainers en -centrums",
|
||||
"de": "Eine Ebene mit Recyclingcontainern und -zentren"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": "amenity=recycling"
|
||||
|
@ -20,7 +21,8 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Recycling facility",
|
||||
"nl": "Recyclingfaciliteit"
|
||||
"nl": "Recyclingfaciliteit",
|
||||
"de": "Recyclinganlage"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -28,21 +30,24 @@
|
|||
"then": {
|
||||
"*": "{name}",
|
||||
"en": "Recycling centre",
|
||||
"nl": "Recyclingcentrum"
|
||||
"nl": "Recyclingcentrum",
|
||||
"de": "Wertstoffhof"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "recycling_type=centre",
|
||||
"then": {
|
||||
"en": "Recycling centre",
|
||||
"nl": "Recyclingcentrum"
|
||||
"nl": "Recyclingcentrum",
|
||||
"de": "Wertstoffhof"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "recycling_type=container",
|
||||
"then": {
|
||||
"en": "Recycling container",
|
||||
"nl": "Recyclingcontainer"
|
||||
"nl": "Recyclingcontainer",
|
||||
"de": "Recyclingcontainer"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -410,7 +415,8 @@
|
|||
{
|
||||
"title": {
|
||||
"en": "a recycling container",
|
||||
"nl": "een recycling container"
|
||||
"nl": "een recycling container",
|
||||
"de": "ein Recyclingcontainer"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=recycling",
|
||||
|
@ -420,7 +426,8 @@
|
|||
{
|
||||
"title": {
|
||||
"en": "a recycling centre",
|
||||
"nl": "een containerpark (recycling center)"
|
||||
"nl": "een containerpark (recycling center)",
|
||||
"de": "ein Wertstoffhof"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=recycling",
|
||||
|
@ -434,28 +441,32 @@
|
|||
"id": "recycling-type",
|
||||
"question": {
|
||||
"en": "What type of recycling is this?",
|
||||
"nl": "Wat voor soort recycling is dit?"
|
||||
"nl": "Wat voor soort recycling is dit?",
|
||||
"de": "Um welche Recyclingeinrichtung handelt es sich?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "recycling_type=container",
|
||||
"then": {
|
||||
"en": "This is a recycling container",
|
||||
"nl": "Dit is een recyclingcontainer"
|
||||
"nl": "Dit is een recyclingcontainer",
|
||||
"de": "Dies ist ein Recycling-Container"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "recycling_type=centre",
|
||||
"then": {
|
||||
"en": "This is a recycling centre",
|
||||
"nl": "Dit is een recyclingcentrum"
|
||||
"nl": "Dit is een recyclingcentrum",
|
||||
"de": "Dies ist ein Wertstoffhof"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "amenity=waste_disposal",
|
||||
"then": {
|
||||
"en": "Waste disposal container for residual waste",
|
||||
"nl": "Afvalcontainer voor restafval"
|
||||
"nl": "Afvalcontainer voor restafval",
|
||||
"de": "Dies ist ein Abfallcontainer für Restmüll"
|
||||
},
|
||||
"addExtraTags": [
|
||||
"recycling:batteries=",
|
||||
|
@ -486,11 +497,13 @@
|
|||
"id": "recycling-centre-name",
|
||||
"question": {
|
||||
"en": "What is the name of this recycling centre?",
|
||||
"nl": "Wat is de naam van dit recyclagecentrum?"
|
||||
"nl": "Wat is de naam van dit recyclagecentrum?",
|
||||
"de": "Wie lautet der Name dieses Wertstoffhofs?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This recycling centre is named <b>{name}</b>",
|
||||
"nl": "Dit recyclagecentrum heet <b>{name}</b>"
|
||||
"nl": "Dit recyclagecentrum heet <b>{name}</b>",
|
||||
"de": "Dieser Wertstoffhof heißt <b>{name}</b>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "name"
|
||||
|
@ -500,7 +513,8 @@
|
|||
"if": "noname=yes",
|
||||
"then": {
|
||||
"en": "This recycling centre doesn't have a specific name",
|
||||
"nl": "Dit recyclagecentrum heeft geen specifieke naam"
|
||||
"nl": "Dit recyclagecentrum heeft geen specifieke naam",
|
||||
"de": "Dieser Wertstoffhof hat keinen bestimmten Namen"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -510,7 +524,8 @@
|
|||
"id": "container-location",
|
||||
"question": {
|
||||
"en": "Where is this container located?",
|
||||
"nl": "Waar bevindt deze container zich?"
|
||||
"nl": "Waar bevindt deze container zich?",
|
||||
"de": "Wo befindet sich dieser Container?"
|
||||
},
|
||||
"condition": "recycling_type=container",
|
||||
"mappings": [
|
||||
|
@ -518,21 +533,24 @@
|
|||
"if": "location=underground",
|
||||
"then": {
|
||||
"en": "This is an underground container",
|
||||
"nl": "Dit is een ondergrondse container"
|
||||
"nl": "Dit is een ondergrondse container",
|
||||
"de": "Dies ist ein Unterflurcontainer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "location=indoor",
|
||||
"then": {
|
||||
"en": "This container is located indoors",
|
||||
"nl": "Deze container bevindt zich binnen"
|
||||
"nl": "Deze container bevindt zich binnen",
|
||||
"de": "Dieser Container befindet sich in einem Gebäude"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "location=",
|
||||
"then": {
|
||||
"en": "This container is located outdoors",
|
||||
"nl": "Deze container is buiten"
|
||||
"nl": "Deze container is buiten",
|
||||
"de": "Dieser Container befindet sich im Freien"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -541,7 +559,8 @@
|
|||
"id": "recycling-accepts",
|
||||
"question": {
|
||||
"en": "What can be recycled here?",
|
||||
"nl": "Wat kan hier gerecycled worden?"
|
||||
"nl": "Wat kan hier gerecycled worden?",
|
||||
"de": "Was kann hier recycelt werden?"
|
||||
},
|
||||
"multiAnswer": true,
|
||||
"mappings": [
|
||||
|
@ -550,7 +569,8 @@
|
|||
"ifnot": "recycling:batteries=",
|
||||
"then": {
|
||||
"en": "Batteries can be recycled here",
|
||||
"nl": "Batterijen kunnen hier gerecycled worden"
|
||||
"nl": "Batterijen kunnen hier gerecycled worden",
|
||||
"de": "Batterien können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/batteries.svg",
|
||||
|
@ -562,7 +582,8 @@
|
|||
"ifnot": "recycling:beverage_cartons=",
|
||||
"then": {
|
||||
"en": "Beverage cartons can be recycled here",
|
||||
"nl": "Drankpakken kunnen hier gerecycled worden"
|
||||
"nl": "Drankpakken kunnen hier gerecycled worden",
|
||||
"de": "Getränkekartons können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/beverage_cartons.svg",
|
||||
|
@ -574,7 +595,8 @@
|
|||
"ifnot": "recycling:cans=",
|
||||
"then": {
|
||||
"en": "Cans can be recycled here",
|
||||
"nl": "Blikken kunnen hier gerecycled worden"
|
||||
"nl": "Blikken kunnen hier gerecycled worden",
|
||||
"de": "Dosen können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/cans.svg",
|
||||
|
@ -586,7 +608,8 @@
|
|||
"ifnot": "recycling:clothes=",
|
||||
"then": {
|
||||
"en": "Clothes can be recycled here",
|
||||
"nl": "Kleren kunnen hier gerecycled worden"
|
||||
"nl": "Kleren kunnen hier gerecycled worden",
|
||||
"de": "Kleidung kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/clothes.svg",
|
||||
|
@ -598,7 +621,8 @@
|
|||
"ifnot": "recycling:cooking_oil=",
|
||||
"then": {
|
||||
"en": "Cooking oil can be recycled here",
|
||||
"nl": "Frituurvet kan hier gerecycled worden"
|
||||
"nl": "Frituurvet kan hier gerecycled worden",
|
||||
"de": "Speiseöl kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/cooking_oil.svg",
|
||||
|
@ -610,7 +634,8 @@
|
|||
"ifnot": "recycling:engine_oil=",
|
||||
"then": {
|
||||
"en": "Engine oil can be recycled here",
|
||||
"nl": "Motorolie kan hier gerecycled worden"
|
||||
"nl": "Motorolie kan hier gerecycled worden",
|
||||
"de": "Motoröl kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/engine_oil.svg",
|
||||
|
@ -622,7 +647,8 @@
|
|||
"ifnot": "recycling:green_waste=",
|
||||
"then": {
|
||||
"en": "Green waste can be recycled here",
|
||||
"nl": "Groen afval kan hier gerecycled worden"
|
||||
"nl": "Groen afval kan hier gerecycled worden",
|
||||
"de": "Grünabfälle können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/garden_waste.svg",
|
||||
|
@ -634,7 +660,8 @@
|
|||
"ifnot": "recycling:organic=",
|
||||
"then": {
|
||||
"en": "Organic waste can be recycled here",
|
||||
"nl": "Organisch afval kan hier gerecycled worden"
|
||||
"nl": "Organisch afval kan hier gerecycled worden",
|
||||
"de": "Bio-Abfall kann hier recycelt werden"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -647,7 +674,8 @@
|
|||
"ifnot": "recycling:glass_bottles=",
|
||||
"then": {
|
||||
"en": "Glass bottles can be recycled here",
|
||||
"nl": "Glazen flessen kunnen hier gerecycled worden"
|
||||
"nl": "Glazen flessen kunnen hier gerecycled worden",
|
||||
"de": "Glasflaschen können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/glass_bottles.svg",
|
||||
|
@ -659,7 +687,8 @@
|
|||
"ifnot": "recycling:glass=",
|
||||
"then": {
|
||||
"en": "Glass can be recycled here",
|
||||
"nl": "Glas kan hier gerecycled worden"
|
||||
"nl": "Glas kan hier gerecycled worden",
|
||||
"de": "Glas kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/glass.svg",
|
||||
|
@ -671,7 +700,8 @@
|
|||
"ifnot": "recycling:newspaper=",
|
||||
"then": {
|
||||
"en": "Newspapers can be recycled here",
|
||||
"nl": "Kranten kunnen hier gerecycled worden"
|
||||
"nl": "Kranten kunnen hier gerecycled worden",
|
||||
"de": "Zeitungen können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/newspaper.svg",
|
||||
|
@ -683,7 +713,8 @@
|
|||
"ifnot": "recycling:paper=",
|
||||
"then": {
|
||||
"en": "Paper can be recycled here",
|
||||
"nl": "Papier kan hier gerecycled worden"
|
||||
"nl": "Papier kan hier gerecycled worden",
|
||||
"de": "Papier kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/paper.svg",
|
||||
|
@ -695,7 +726,8 @@
|
|||
"ifnot": "recycling:plastic_bottles=",
|
||||
"then": {
|
||||
"en": "Plastic bottles can be recycled here",
|
||||
"nl": "Plastic flessen kunnen hier gerecycled worden"
|
||||
"nl": "Plastic flessen kunnen hier gerecycled worden",
|
||||
"de": "Plastikflaschen können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/plastic_bottles.svg",
|
||||
|
@ -707,7 +739,8 @@
|
|||
"ifnot": "recycling:plastic_packaging=",
|
||||
"then": {
|
||||
"en": "Plastic packaging can be recycled here",
|
||||
"nl": "Plastic verpakking kan hier gerecycled worden"
|
||||
"nl": "Plastic verpakking kan hier gerecycled worden",
|
||||
"de": "Kunststoffverpackungen können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/plastic_packaging.svg",
|
||||
|
@ -719,7 +752,8 @@
|
|||
"ifnot": "recycling:plastic=",
|
||||
"then": {
|
||||
"en": "Plastic can be recycled here",
|
||||
"nl": "Plastic kan hier gerecycled worden"
|
||||
"nl": "Plastic kan hier gerecycled worden",
|
||||
"de": "Kunststoff kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/plastic.svg",
|
||||
|
@ -731,7 +765,8 @@
|
|||
"ifnot": "recycling:scrap_metal=",
|
||||
"then": {
|
||||
"en": "Scrap metal can be recycled here",
|
||||
"nl": "Oud metaal kan hier gerecycled worden"
|
||||
"nl": "Oud metaal kan hier gerecycled worden",
|
||||
"de": "Metallschrott kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/scrap_metal.svg",
|
||||
|
@ -743,7 +778,8 @@
|
|||
"ifnot": "recycling:shoes=",
|
||||
"then": {
|
||||
"en": "Shoes can be recycled here",
|
||||
"nl": "Schoenen kunnen hier gerecycled worden"
|
||||
"nl": "Schoenen kunnen hier gerecycled worden",
|
||||
"de": "Schuhe können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/shoes.svg",
|
||||
|
@ -755,7 +791,8 @@
|
|||
"ifnot": "recycling:small_appliances=",
|
||||
"then": {
|
||||
"en": "Small electrical appliances can be recycled here",
|
||||
"nl": "Kleine elektrische apparaten kunnen hier gerecycled worden"
|
||||
"nl": "Kleine elektrische apparaten kunnen hier gerecycled worden",
|
||||
"de": "Elektrokleingeräte können hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/recycling/small_electrical_appliances.svg",
|
||||
|
@ -767,7 +804,8 @@
|
|||
"ifnot": "recycling:small_electrical_appliances=",
|
||||
"then": {
|
||||
"en": "Small electrical appliances can be recycled here",
|
||||
"nl": "Kleine elektrische apparaten kunnen hier gerecycled worden"
|
||||
"nl": "Kleine elektrische apparaten kunnen hier gerecycled worden",
|
||||
"de": "Elektrokleingeräte können hier recycelt werden"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -780,7 +818,8 @@
|
|||
"ifnot": "recycling:needles=",
|
||||
"then": {
|
||||
"en": "Needles can be recycled here",
|
||||
"nl": "Injectienaalden kunnen hier gerecycled worden"
|
||||
"nl": "Injectienaalden kunnen hier gerecycled worden",
|
||||
"de": "Nadeln können hier recycelt werden"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -788,7 +827,8 @@
|
|||
"ifnot": "recycling:waste=",
|
||||
"then": {
|
||||
"en": "Residual waste can be recycled here",
|
||||
"nl": "Restafval kan hier gerecycled worden"
|
||||
"nl": "Restafval kan hier gerecycled worden",
|
||||
"de": "Restmüll kann hier recycelt werden"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/waste_disposal/waste_disposal.svg",
|
||||
|
@ -802,11 +842,13 @@
|
|||
"id": "operator",
|
||||
"render": {
|
||||
"en": "This recycling facility is operated by {operator}",
|
||||
"nl": "Deze recyclingfaciliteit wordt beheerd door {operator}"
|
||||
"nl": "Deze recyclingfaciliteit wordt beheerd door {operator}",
|
||||
"de": "Diese Recyclinganlage wird betrieben von {operator}"
|
||||
},
|
||||
"question": {
|
||||
"en": "What company operates this recycling facility?",
|
||||
"nl": "Wat is de beheerder van deze recyclingfaciliteit?"
|
||||
"nl": "Wat is de beheerder van deze recyclingfaciliteit?",
|
||||
"de": "Welches Unternehmen betreibt diese Recyclinganlage?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "operator",
|
||||
|
@ -828,7 +870,8 @@
|
|||
"render": "{opening_hours_table()}",
|
||||
"question": {
|
||||
"en": "What are the opening hours of this recycling facility?",
|
||||
"nl": "Wat zijn de openingstijden van deze recyclingfaciliteit?"
|
||||
"nl": "Wat zijn de openingstijden van deze recyclingfaciliteit?",
|
||||
"de": "Wie sind die Öffnungszeiten dieser Recyclinganlage?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "opening_hours",
|
||||
|
@ -840,7 +883,8 @@
|
|||
"then": {
|
||||
"en": "24/7",
|
||||
"nl": "24/7",
|
||||
"ca": "24/7"
|
||||
"ca": "24/7",
|
||||
"de": "24/7"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -866,55 +910,63 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "All recycling types",
|
||||
"nl": "Alle recyclingtypes"
|
||||
"nl": "Alle recyclingtypes",
|
||||
"de": "Alle Recyclingarten"
|
||||
}
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of batteries",
|
||||
"nl": "Recycling van batterijen"
|
||||
"nl": "Recycling van batterijen",
|
||||
"de": "Recycling von Batterien"
|
||||
},
|
||||
"osmTags": "recycling:batteries=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of beverage cartons",
|
||||
"nl": "Recycling van drankpakken"
|
||||
"nl": "Recycling van drankpakken",
|
||||
"de": "Recycling von Getränkekartons"
|
||||
},
|
||||
"osmTags": "recycling:beverage_cartons=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of cans",
|
||||
"nl": "Recycling van blikken"
|
||||
"nl": "Recycling van blikken",
|
||||
"de": "Recycling von Dosen"
|
||||
},
|
||||
"osmTags": "recycling:cans=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of clothes",
|
||||
"nl": "Recycling van kleding"
|
||||
"nl": "Recycling van kleding",
|
||||
"de": "Recycling von Kleidung"
|
||||
},
|
||||
"osmTags": "recycling:clothes=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of cooking oil",
|
||||
"nl": "Recycling van frituurvet"
|
||||
"nl": "Recycling van frituurvet",
|
||||
"de": "Recycling von Speiseöl"
|
||||
},
|
||||
"osmTags": "recycling:cooking_oil=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of engine oil",
|
||||
"nl": "Recycling van motorolie"
|
||||
"nl": "Recycling van motorolie",
|
||||
"de": "Recycling von Motoröl"
|
||||
},
|
||||
"osmTags": "recycling:engine_oil=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of green waste",
|
||||
"nl": "Recycling van groen afval"
|
||||
"nl": "Recycling van groen afval",
|
||||
"de": "Recycling von Grünabfällen"
|
||||
},
|
||||
"osmTags": {
|
||||
"or": [
|
||||
|
@ -926,63 +978,72 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Recycling of glass bottles",
|
||||
"nl": "Recycling van glazen flessen"
|
||||
"nl": "Recycling van glazen flessen",
|
||||
"de": "Recycling von Glasflaschen"
|
||||
},
|
||||
"osmTags": "recycling:glass_bottles=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of glass",
|
||||
"nl": "Recycling van glas"
|
||||
"nl": "Recycling van glas",
|
||||
"de": "Recycling von Glas"
|
||||
},
|
||||
"osmTags": "recycling:glass=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of newspapers",
|
||||
"nl": "Recycling van kranten"
|
||||
"nl": "Recycling van kranten",
|
||||
"de": "Recycling von Zeitungen"
|
||||
},
|
||||
"osmTags": "recycling:newspaper=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of paper",
|
||||
"nl": "Recycling van papier"
|
||||
"nl": "Recycling van papier",
|
||||
"de": "Recycling von Papier"
|
||||
},
|
||||
"osmTags": "recycling:paper=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of plastic bottles",
|
||||
"nl": "Recycling van plastic flessen"
|
||||
"nl": "Recycling van plastic flessen",
|
||||
"de": "Recycling von Plastikflaschen"
|
||||
},
|
||||
"osmTags": "recycling:plastic_bottles=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of plastic packaging",
|
||||
"nl": "Recycling van plastic verpakking"
|
||||
"nl": "Recycling van plastic verpakking",
|
||||
"de": "Recycling von Kunststoffverpackungen"
|
||||
},
|
||||
"osmTags": "recycling:plastic_packaging=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of plastic",
|
||||
"nl": "Recycling van plastic"
|
||||
"nl": "Recycling van plastic",
|
||||
"de": "Recycling von Kunststoffen"
|
||||
},
|
||||
"osmTags": "recycling:plastic=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of scrap metal",
|
||||
"nl": "Recycling van oud metaal"
|
||||
"nl": "Recycling van oud metaal",
|
||||
"de": "Recycling von Metallschrott"
|
||||
},
|
||||
"osmTags": "recycling:scrap_metal=yes"
|
||||
},
|
||||
{
|
||||
"question": {
|
||||
"en": "Recycling of small electrical appliances",
|
||||
"nl": "Recycling van kleine elektrische apparaten"
|
||||
"nl": "Recycling van kleine elektrische apparaten",
|
||||
"de": "Recycling von Elektrokleingeräten"
|
||||
},
|
||||
"osmTags": {
|
||||
"or": [
|
||||
|
@ -994,7 +1055,8 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Recycling of residual waste",
|
||||
"nl": "Recycling van restafval"
|
||||
"nl": "Recycling van restafval",
|
||||
"de": "Recycling von Restabfällen"
|
||||
},
|
||||
"osmTags": "recycling:waste=yes"
|
||||
}
|
||||
|
|
|
@ -294,7 +294,8 @@
|
|||
"ru": "<a href='mailto:{email}'>{email}</a>",
|
||||
"ja": "<a href='mailto:{email}'>{email}</a>",
|
||||
"eo": "<a href='mailto:{email}'>{email}</a>",
|
||||
"nl": "<a href='mailto:{email}'>{email}</a>"
|
||||
"nl": "<a href='mailto:{email}'>{email}</a>",
|
||||
"de": "<a href='mailto:{email}'>{email}</a>"
|
||||
},
|
||||
"question": {
|
||||
"en": "What is the email address of this shop?",
|
||||
|
@ -318,7 +319,8 @@
|
|||
"ru": "{opening_hours_table(opening_hours)}",
|
||||
"ja": "{opening_hours_table(opening_hours)}",
|
||||
"nl": "{opening_hours_table(opening_hours)}",
|
||||
"ca": "{opening_hours_table(opening_hours)}"
|
||||
"ca": "{opening_hours_table(opening_hours)}",
|
||||
"de": "{opening_hours_table(opening_hours)}"
|
||||
},
|
||||
"question": {
|
||||
"en": "What are the opening hours of this shop?",
|
||||
|
@ -374,7 +376,8 @@
|
|||
{
|
||||
"explanation": {
|
||||
"nl": "{title()} is permanent gestopt",
|
||||
"en": "{title()} has closed down permanently"
|
||||
"en": "{title()} has closed down permanently",
|
||||
"de": "{title()} wurde dauerhaft geschlossen"
|
||||
},
|
||||
"changesetMessage": "shop_closed"
|
||||
}
|
||||
|
|
|
@ -281,6 +281,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "All carfree roads",
|
||||
"nl": "Alle verkeersvrije wegen"
|
||||
"nl": "Alle verkeersvrije wegen",
|
||||
"de": "Alle autofreien Straßen"
|
||||
}
|
||||
}
|
|
@ -12,14 +12,16 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Street Lamp",
|
||||
"nl": "Straatlantaarn"
|
||||
"nl": "Straatlantaarn",
|
||||
"de": "Straßenlaterne"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "ref~*",
|
||||
"then": {
|
||||
"en": "Street Lamp {ref}",
|
||||
"nl": "Straatlantaarn {ref}"
|
||||
"nl": "Straatlantaarn {ref}",
|
||||
"de": "Straßenlaterne {ref}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -44,7 +46,8 @@
|
|||
{
|
||||
"title": {
|
||||
"en": "a street lamp",
|
||||
"nl": "een straatlantaarn"
|
||||
"nl": "een straatlantaarn",
|
||||
"de": "eine Straßenlaterne"
|
||||
},
|
||||
"tags": [
|
||||
"highway=street_lamp"
|
||||
|
@ -57,11 +60,13 @@
|
|||
"id": "ref",
|
||||
"render": {
|
||||
"en": "This street lamp has the reference number {ref}",
|
||||
"nl": "Deze straatlantaarn heeft het nummer {ref}"
|
||||
"nl": "Deze straatlantaarn heeft het nummer {ref}",
|
||||
"de": "Diese Straßenlaterne hat die Referenznummer {ref}"
|
||||
},
|
||||
"question": {
|
||||
"en": "What is the reference number of this street lamp?",
|
||||
"nl": "Wat is het nummer van deze straatlantaarn?"
|
||||
"nl": "Wat is het nummer van deze straatlantaarn?",
|
||||
"de": "Wie lautet die Referenznummer dieser Straßenlaterne?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "ref"
|
||||
|
@ -71,56 +76,64 @@
|
|||
"id": "support",
|
||||
"question": {
|
||||
"en": "How is this street lamp mounted?",
|
||||
"nl": "Hoe is deze straatlantaarn gemonteerd?"
|
||||
"nl": "Hoe is deze straatlantaarn gemonteerd?",
|
||||
"de": "Wie ist diese Straßenlaterne befestigt?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "support=catenary",
|
||||
"then": {
|
||||
"en": "This lamp is suspended using cables",
|
||||
"nl": "Deze lantaarn hangt aan kabels"
|
||||
"nl": "Deze lantaarn hangt aan kabels",
|
||||
"de": "Diese Straßenlaterne ist an einem Kabel aufgehängt"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=ceiling",
|
||||
"then": {
|
||||
"en": "This lamp is mounted on a ceiling",
|
||||
"nl": "Deze lantaarn hangt aan een plafond"
|
||||
"nl": "Deze lantaarn hangt aan een plafond",
|
||||
"de": "Diese Straßenlaterne ist an einer Decke montiert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=ground",
|
||||
"then": {
|
||||
"en": "This lamp is mounted in the ground",
|
||||
"nl": "Deze lantaarn zit in de grond"
|
||||
"nl": "Deze lantaarn zit in de grond",
|
||||
"de": "Diese Straßenlaterne ist im Boden montiert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=pedestal",
|
||||
"then": {
|
||||
"en": "This lamp is mounted on a short pole (mostly < 1.5m)",
|
||||
"nl": "Deze lantaarn zit op een korte paal (meestal < 1.5m)"
|
||||
"nl": "Deze lantaarn zit op een korte paal (meestal < 1.5m)",
|
||||
"de": "Diese Straßenlaterne ist an einem kurzen Mast (< 1,5m) montiert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=pole",
|
||||
"then": {
|
||||
"en": "This lamp is mounted on a pole",
|
||||
"nl": "Deze lantaarn zit op een paal"
|
||||
"nl": "Deze lantaarn zit op een paal",
|
||||
"de": "Diese Straßenlaterne ist an einem Mast montiert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=wall",
|
||||
"then": {
|
||||
"en": "This lamp is mounted directly to the wall",
|
||||
"nl": "Deze lantaarn hangt direct aan de muur"
|
||||
"nl": "Deze lantaarn hangt direct aan de muur",
|
||||
"de": "Diese Straßenlaterne ist direkt an der Wand montiert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "support=wall_mount",
|
||||
"then": {
|
||||
"en": "This lamp is mounted to the wall using a metal bar",
|
||||
"nl": "Deze lantaarn hangt aan de muur met een metalen balk"
|
||||
"nl": "Deze lantaarn hangt aan de muur met een metalen balk",
|
||||
"de": "Diese Straßenlaterne ist mit einer Metallstange an der Wand montiert"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -129,7 +142,8 @@
|
|||
"id": "lamp_mount",
|
||||
"question": {
|
||||
"en": "How is this lamp mounted to the pole?",
|
||||
"nl": "Hoe zit deze lantaarn aan de paal?"
|
||||
"nl": "Hoe zit deze lantaarn aan de paal?",
|
||||
"de": "Wie ist diese Straßenlaterne am Mast befestigt?"
|
||||
},
|
||||
"condition": "support=pole",
|
||||
"mappings": [
|
||||
|
@ -137,14 +151,16 @@
|
|||
"if": "lamp_mount=straight_mast",
|
||||
"then": {
|
||||
"en": "This lamp sits atop of a straight mast",
|
||||
"nl": "Deze lantaarn zit boven op een rechte paal"
|
||||
"nl": "Deze lantaarn zit boven op een rechte paal",
|
||||
"de": "Diese Straßenlaterne sitzt auf einem geraden Mast"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "lamp_mount=bent_mast",
|
||||
"then": {
|
||||
"en": "This lamp sits at the end of a bent mast",
|
||||
"nl": "Deze lantaarn zit aan het eind van een gebogen paal"
|
||||
"nl": "Deze lantaarn zit aan het eind van een gebogen paal",
|
||||
"de": "Diese Straßenlaterne sitzt am Ende eines gebogenen Mastes"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -153,14 +169,16 @@
|
|||
"id": "method",
|
||||
"question": {
|
||||
"en": "What kind of lighting does this lamp use?",
|
||||
"nl": "Wat voor verlichting gebruikt deze lantaarn?"
|
||||
"nl": "Wat voor verlichting gebruikt deze lantaarn?",
|
||||
"de": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "light:method=electric",
|
||||
"then": {
|
||||
"en": "This lamp is lit electrically",
|
||||
"nl": "Deze lantaarn is elektrisch verlicht"
|
||||
"nl": "Deze lantaarn is elektrisch verlicht",
|
||||
"de": "Diese Straßenlaterne leuchtet elektrisch"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -168,77 +186,88 @@
|
|||
"if": "light:method=LED",
|
||||
"then": {
|
||||
"en": "This lamp uses LEDs",
|
||||
"nl": "Deze lantaarn gebruikt LEDs"
|
||||
"nl": "Deze lantaarn gebruikt LEDs",
|
||||
"de": "Diese Straßenlaterne verwendet LEDs"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=incandescent",
|
||||
"then": {
|
||||
"en": "This lamp uses incandescent lighting",
|
||||
"nl": "Deze lantaarn gebruikt gloeilampen"
|
||||
"nl": "Deze lantaarn gebruikt gloeilampen",
|
||||
"de": "Diese Straßenlaterne verwendet Glühlampenlicht"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=halogen",
|
||||
"then": {
|
||||
"en": "This lamp uses halogen lighting",
|
||||
"nl": "Deze lantaarn gebruikt halogeen verlichting"
|
||||
"nl": "Deze lantaarn gebruikt halogeen verlichting",
|
||||
"de": "Diese Straßenlaterne verwendet Halogenlicht"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=discharge",
|
||||
"then": {
|
||||
"en": "This lamp uses discharge lamps (unknown type)",
|
||||
"nl": "Deze lantaarn gebruikt gasontladingslampen (onbekend type)"
|
||||
"nl": "Deze lantaarn gebruikt gasontladingslampen (onbekend type)",
|
||||
"de": "Diese Straßenlaterne verwendet Entladungslampen (unbekannter Typ)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=mercury",
|
||||
"then": {
|
||||
"en": "This lamp uses a mercury-vapour lamp (lightly blueish)",
|
||||
"nl": "Deze lantaarn gebruikt een kwiklamp (enigszins blauwachtig)"
|
||||
"nl": "Deze lantaarn gebruikt een kwiklamp (enigszins blauwachtig)",
|
||||
"de": "Diese Straßenlaterne verwendet eine Quecksilberdampflampe (leicht bläulich)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=metal-halide",
|
||||
"then": {
|
||||
"en": "This lamp uses metal-halide lamps (bright white)",
|
||||
"nl": "Deze lantaarn gebruikt metaalhalidelampen"
|
||||
"nl": "Deze lantaarn gebruikt metaalhalidelampen",
|
||||
"de": "Diese Straßenlaterne verwendet Halogen-Metalldampflampen (hellweiß)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=fluorescent",
|
||||
"then": {
|
||||
"en": "This lamp uses fluorescent lighting",
|
||||
"nl": "Deze lantaarn gebruikt fluorescentieverlichting (TL en spaarlamp)"
|
||||
"nl": "Deze lantaarn gebruikt fluorescentieverlichting (TL en spaarlamp)",
|
||||
"de": "Diese Straßenlaterne verwendet Leuchtstoffröhren"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=sodium",
|
||||
"then": {
|
||||
"en": "This lamp uses sodium lamps (unknown type)",
|
||||
"nl": "Deze lantaarn gebruikt natriumlampen (onbekend type)"
|
||||
"nl": "Deze lantaarn gebruikt natriumlampen (onbekend type)",
|
||||
"de": "Diese Straßenlaterne verwendet Natriumdampflampen (unbekannter Typ)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=low_pressure_sodium",
|
||||
"then": {
|
||||
"en": "This lamp uses low pressure sodium lamps (monochrome orange)",
|
||||
"nl": "Deze lantaarn gebruikt lagedruknatriumlampen (monochroom oranje)"
|
||||
"nl": "Deze lantaarn gebruikt lagedruknatriumlampen (monochroom oranje)",
|
||||
"de": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=high_pressure_sodium",
|
||||
"then": {
|
||||
"en": "This lamp uses high pressure sodium lamps (orange with white)",
|
||||
"nl": "Deze lantaarn gebruikt hogedruknatriumlampen (oranje met wit)"
|
||||
"nl": "Deze lantaarn gebruikt hogedruknatriumlampen (oranje met wit)",
|
||||
"de": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:method=gas",
|
||||
"then": {
|
||||
"en": "This lamp is lit using gas",
|
||||
"nl": "Deze lantaarn wordt verlicht met gas"
|
||||
"nl": "Deze lantaarn wordt verlicht met gas",
|
||||
"de": "Diese Straßenlaterne wird mit Gas beleuchtet"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -247,11 +276,13 @@
|
|||
"id": "colour",
|
||||
"question": {
|
||||
"en": "What colour light does this lamp emit?",
|
||||
"nl": "Wat voor kleur licht geeft deze lantaarn?"
|
||||
"nl": "Wat voor kleur licht geeft deze lantaarn?",
|
||||
"de": "Welche Lichtfarbe strahlt diese Lampe aus?"
|
||||
},
|
||||
"render": {
|
||||
"en": "This lamp emits {light:colour} light",
|
||||
"nl": "Deze lantaarn geeft {light:colour} licht"
|
||||
"nl": "Deze lantaarn geeft {light:colour} licht",
|
||||
"de": "Diese Lampe strahlt {light:colour} Licht aus"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "light:colour",
|
||||
|
@ -262,21 +293,24 @@
|
|||
"if": "light:colour=white",
|
||||
"then": {
|
||||
"en": "This lamp emits white light",
|
||||
"nl": "Deze lantaarn geeft wit licht"
|
||||
"nl": "Deze lantaarn geeft wit licht",
|
||||
"de": "Diese Lampe strahlt weißes Licht aus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:colour=green",
|
||||
"then": {
|
||||
"en": "This lamp emits green light",
|
||||
"nl": "Deze lantaarn geeft groen licht"
|
||||
"nl": "Deze lantaarn geeft groen licht",
|
||||
"de": "Diese Lampe strahlt grünes Licht aus"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:colour=orange",
|
||||
"then": {
|
||||
"en": "This lamp emits orange light",
|
||||
"nl": "Deze lantaarn geeft oranje licht"
|
||||
"nl": "Deze lantaarn geeft oranje licht",
|
||||
"de": "Diese Lampe strahlt orangefarbenes Licht aus"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -285,11 +319,13 @@
|
|||
"id": "count",
|
||||
"render": {
|
||||
"en": "This lamp has {light:count} fixtures",
|
||||
"nl": "Deze lantaarn heeft {light:count} lampen"
|
||||
"nl": "Deze lantaarn heeft {light:count} lampen",
|
||||
"de": "Diese Straßenlaterne hat {light:count} Leuchten"
|
||||
},
|
||||
"question": {
|
||||
"en": "How many fixtures does this light have?",
|
||||
"nl": "Hoeveel lampen heeft deze lantaarn?"
|
||||
"nl": "Hoeveel lampen heeft deze lantaarn?",
|
||||
"de": "Wie viele Leuchten hat diese Straßenlaterne?"
|
||||
},
|
||||
"condition": "support=pole",
|
||||
"freeform": {
|
||||
|
@ -301,14 +337,16 @@
|
|||
"if": "light:count=1",
|
||||
"then": {
|
||||
"en": "This lamp has 1 fixture",
|
||||
"nl": "Deze lantaarn heeft 1 lamp"
|
||||
"nl": "Deze lantaarn heeft 1 lamp",
|
||||
"de": "Diese Straßenlaterne hat 1 Leuchte"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:count=2",
|
||||
"then": {
|
||||
"en": "This lamp has 2 fixtures",
|
||||
"nl": "Deze lantaarn heeft 2 lampen"
|
||||
"nl": "Deze lantaarn heeft 2 lampen",
|
||||
"de": "Diese Straßenlaterne hat 2 Leuchten"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -317,35 +355,40 @@
|
|||
"id": "lit",
|
||||
"question": {
|
||||
"en": "When is this lamp lit?",
|
||||
"nl": "Wanneer is deze lantaarn verlicht?"
|
||||
"nl": "Wanneer is deze lantaarn verlicht?",
|
||||
"de": "Wann leuchtet diese Straßenlaterne?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "light:lit=dusk-dawn",
|
||||
"then": {
|
||||
"en": "This lamp is lit at night",
|
||||
"nl": "Deze lantaarn is 's nachts verlicht"
|
||||
"nl": "Deze lantaarn is 's nachts verlicht",
|
||||
"de": "Diese Straßenlaterne leuchtet nachts"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:lit=24/7",
|
||||
"then": {
|
||||
"en": "This lamp is lit 24/7",
|
||||
"nl": "Deze lantaarn is 24/7 verlicht"
|
||||
"nl": "Deze lantaarn is 24/7 verlicht",
|
||||
"de": "Diese Straßenlaterne leuchtet durchgehend"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:lit=motion",
|
||||
"then": {
|
||||
"en": "This lamp is lit based on motion",
|
||||
"nl": "Deze lantaarn is verlicht op basis van beweging"
|
||||
"nl": "Deze lantaarn is verlicht op basis van beweging",
|
||||
"de": "Diese Straßenlaterne leuchtet bewegungsgesteuert"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "light:lit=demand",
|
||||
"then": {
|
||||
"en": "This lamp is lit based on demand (e.g. with a pushbutton)",
|
||||
"nl": "Deze lantaarn is verlicht op verzoek (bijv. met een drukknop)"
|
||||
"nl": "Deze lantaarn is verlicht op verzoek (bijv. met een drukknop)",
|
||||
"de": "Diese Straßenlaterne leuchtet bei Bedarf (z. B. mit einem Taster)"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -354,11 +397,13 @@
|
|||
"id": "direction",
|
||||
"render": {
|
||||
"en": "This lamp points towards {light:direction}",
|
||||
"nl": "Deze lantaarn is gericht naar {light:direction}"
|
||||
"nl": "Deze lantaarn is gericht naar {light:direction}",
|
||||
"de": "Diese Straßenlaterne leuchtet in Richtung {light:direction}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Where does this lamp point to?",
|
||||
"nl": "Waar is deze lamp heengericht?"
|
||||
"nl": "Waar is deze lamp heengericht?",
|
||||
"de": "Wohin leuchtet diese Straßenlaterne?"
|
||||
},
|
||||
"condition": "light:count=1",
|
||||
"freeform": {
|
||||
|
@ -374,6 +419,7 @@
|
|||
},
|
||||
"description": {
|
||||
"en": "A layer showing street lights",
|
||||
"nl": "Een laag die alle straatlantaarns toont"
|
||||
"nl": "Een laag die alle straatlantaarns toont",
|
||||
"de": "Eine Ebene mit Straßenbeleuchtung"
|
||||
}
|
||||
}
|
|
@ -106,7 +106,8 @@
|
|||
"en": "Films to a compass heading of {camera:direction}",
|
||||
"nl": "Filmt in kompasrichting {camera:direction}",
|
||||
"fr": "Filme dans une direction {camera:direction}",
|
||||
"it": "Punta in direzione {camera:direction}"
|
||||
"it": "Punta in direzione {camera:direction}",
|
||||
"de": "filmt in Himmelsrichtung {camera:direction}"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
|
@ -137,7 +138,8 @@
|
|||
"en": "Films to a compass heading of {direction}",
|
||||
"nl": "Filmt in kompasrichting {direction}",
|
||||
"fr": "Filme dans une direction {direction}",
|
||||
"it": "Punta in direzione {direction}"
|
||||
"it": "Punta in direzione {direction}",
|
||||
"de": "filmt in Himmelsrichtung {direction}"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
}
|
||||
|
@ -463,7 +465,8 @@
|
|||
],
|
||||
"title": {
|
||||
"en": "a surveillance camera",
|
||||
"nl": "een bewakingscamera"
|
||||
"nl": "een bewakingscamera",
|
||||
"de": "eine Überwachungskamera"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -474,7 +477,8 @@
|
|||
],
|
||||
"title": {
|
||||
"en": "a surveillance camera mounted on a wall",
|
||||
"nl": "een bewakingscamera gemonteerd op een muur"
|
||||
"nl": "een bewakingscamera gemonteerd op een muur",
|
||||
"de": "eine an einer Wand montierte Überwachungskamera"
|
||||
},
|
||||
"preciseInput": {
|
||||
"snapToLayer": "walls_and_buildings"
|
||||
|
@ -543,6 +547,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "This layer shows surveillance cameras and allows a contributor to update information and add new cameras",
|
||||
"nl": "Deze laag toont bewakingscamera's en laat toe om de informatie te verrijken en om nieuwe camera\"s toe te voegen"
|
||||
"nl": "Deze laag toont bewakingscamera's en laat toe om de informatie te verrijken en om nieuwe camera\"s toe te voegen",
|
||||
"de": "Diese Ebene zeigt die Überwachungskameras an und ermöglicht es, Informationen zu aktualisieren und neue Kameras hinzuzufügen"
|
||||
}
|
||||
}
|
|
@ -209,7 +209,8 @@
|
|||
"id": "Opening-hours",
|
||||
"question": {
|
||||
"en": "When are these toilets opened?",
|
||||
"nl": "Wanneer zijn deze toiletten open?"
|
||||
"nl": "Wanneer zijn deze toiletten open?",
|
||||
"de": "Wann sind diese Toiletten geöffnet?"
|
||||
},
|
||||
"render": "{opening_hours_table()}",
|
||||
"freeform": {
|
||||
|
@ -221,7 +222,8 @@
|
|||
"if": "opening_hours=24/7",
|
||||
"then": {
|
||||
"en": "Opened 24/7",
|
||||
"nl": "Altijd open"
|
||||
"nl": "Altijd open",
|
||||
"de": "Durchgehend geöffnet"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -445,7 +447,8 @@
|
|||
"if": "toilets:paper_supplied=yes",
|
||||
"then": {
|
||||
"en": "This toilet is equipped with toilet paper",
|
||||
"nl": "Deze toilet is voorzien van toiletpapier"
|
||||
"nl": "Deze toilet is voorzien van toiletpapier",
|
||||
"de": "Diese Toilette ist mit Toilettenpapier ausgestattet"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -579,6 +582,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "A layer showing (public) toilets",
|
||||
"nl": "Een laag die publieke toiletten toont"
|
||||
"nl": "Een laag die publieke toiletten toont",
|
||||
"de": "Eine Ebene mit (öffentlichen) Toiletten"
|
||||
}
|
||||
}
|
|
@ -7,7 +7,8 @@
|
|||
"ru": "Дерево",
|
||||
"fr": "Arbre",
|
||||
"de": "Bäume",
|
||||
"ca": "Arbre"
|
||||
"ca": "Arbre",
|
||||
"es": "Árbol"
|
||||
},
|
||||
"minzoom": 16,
|
||||
"source": {
|
||||
|
@ -26,13 +27,36 @@
|
|||
"fr": "Arbre",
|
||||
"de": "Baum",
|
||||
"eo": "Arbo",
|
||||
"ca": "Arbre"
|
||||
"ca": "Arbre",
|
||||
"es": "Árbol"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "name~*",
|
||||
"if": {
|
||||
"and": ["name~*","species:wikidata~*"]
|
||||
},
|
||||
"then": {
|
||||
"*": "<i>{name}</i>"
|
||||
"*": "{name} ({wikidata_label(species:wikidata)})"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["name~*"]
|
||||
},
|
||||
"then": {
|
||||
"*": "{name}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "species:wikidata~*",
|
||||
"then": {
|
||||
"*": "{wikidata_label(species:wikidata)}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "species~*",
|
||||
"then": {
|
||||
"*": "<i>{species}</i>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -47,7 +71,8 @@
|
|||
"it": "Altezza: {height}",
|
||||
"ru": "Высота: {height}",
|
||||
"fr": "Hauteur : {height}",
|
||||
"de": "Höhe: {height}"
|
||||
"de": "Höhe: {height}",
|
||||
"es": "Altura: {height}"
|
||||
},
|
||||
"condition": {
|
||||
"and": [
|
||||
|
@ -67,7 +92,8 @@
|
|||
"it": "Altezza: {height} m",
|
||||
"ru": "Высота: {height} м",
|
||||
"fr": "Hauteur : {height} m",
|
||||
"de": "Höhe: {height} m"
|
||||
"de": "Höhe: {height} m",
|
||||
"es": "Altura: {height} m"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -79,7 +105,8 @@
|
|||
"en": "Is this a broadleaved or needleleaved tree?",
|
||||
"it": "Si tratta di un albero latifoglia o aghifoglia?",
|
||||
"fr": "Cet arbre est-il un feuillu ou un résineux ?",
|
||||
"de": "Ist dies ein Laub- oder Nadelbaum?"
|
||||
"de": "Ist dies ein Laub- oder Nadelbaum?",
|
||||
"es": "¿Es un árbol de hoja ancha o de hoja aguja?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -94,7 +121,8 @@
|
|||
"it": "Latifoglia",
|
||||
"fr": "Feuillu",
|
||||
"de": "Laubbaum",
|
||||
"ca": "De fulla ampla"
|
||||
"ca": "De fulla ampla",
|
||||
"es": "Latifoliada"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/themes/trees/broadleaved.svg",
|
||||
|
@ -113,7 +141,8 @@
|
|||
"it": "Aghifoglia",
|
||||
"fr": "Résineux",
|
||||
"de": "Nadelbaum",
|
||||
"ca": "Amb fulles d'agulla"
|
||||
"ca": "Amb fulles d'agulla",
|
||||
"es": "Hoja aguja"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/themes/trees/needleleaved.svg",
|
||||
|
@ -131,7 +160,8 @@
|
|||
"en": "Permanently leafless",
|
||||
"it": "Privo di foglie (permanente)",
|
||||
"fr": "Sans feuilles (Permanent)",
|
||||
"de": "Dauerhaft blattlos"
|
||||
"de": "Dauerhaft blattlos",
|
||||
"es": "Permanentemente sin hojas"
|
||||
},
|
||||
"hideInAnswer": true,
|
||||
"icon": {
|
||||
|
@ -148,7 +178,8 @@
|
|||
"en": "How significant is this tree? Choose the first answer that applies.",
|
||||
"it": "Quanto significativo è questo albero? Scegli la prima risposta che corrisponde.",
|
||||
"fr": "Quelle est l'importance de cet arbre ? Choisissez la première réponse qui s'applique.",
|
||||
"de": "Wie bedeutsam ist dieser Baum? Wählen Sie die erste Antwort, die zutrifft."
|
||||
"de": "Wie bedeutsam ist dieser Baum? Wählen Sie die erste Antwort, die zutrifft.",
|
||||
"es": "¿Qué importancia tiene este árbol? Elige la primera respuesta que corresponda."
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -162,7 +193,8 @@
|
|||
"en": "The tree is remarkable due to its size or prominent location. It is useful for navigation.",
|
||||
"it": "È un albero notevole per le sue dimensioni o per la posizione prominente. È utile alla navigazione.",
|
||||
"fr": "L'arbre est remarquable en raison de sa taille ou de son emplacement proéminent. Il est utile pour la navigation.",
|
||||
"de": "Der Baum ist aufgrund seiner Größe oder seiner markanten Lage bedeutsam. Er ist nützlich zur Orientierung."
|
||||
"de": "Der Baum ist aufgrund seiner Größe oder seiner markanten Lage bedeutsam. Er ist nützlich zur Orientierung.",
|
||||
"es": "El árbol es notable debido a su tamaño o ubicación prominente. Es útil para la navegación."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -176,7 +208,8 @@
|
|||
"en": "The tree is a natural monument, e.g. because it is especially old, or of a valuable species.",
|
||||
"it": "L’albero è un monumento naturale, ad esempio perché specialmente antico o appartenente a specie importanti.",
|
||||
"fr": "Cet arbre est un monument naturel (ex : âge, espèce, etc…)",
|
||||
"de": "Der Baum ist ein Naturdenkmal, z. B. weil er besonders alt ist oder zu einer wertvollen Art gehört."
|
||||
"de": "Der Baum ist ein Naturdenkmal, z. B. weil er besonders alt ist oder zu einer wertvollen Art gehört.",
|
||||
"es": "El árbol es un monumento natural, por ejemplo, porque es especialmente antiguo, o de una especie valiosa."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -190,7 +223,8 @@
|
|||
"en": "The tree is used for agricultural purposes, e.g. in an orchard.",
|
||||
"it": "L’albero è usato per scopi agricoli, ad esempio in un frutteto.",
|
||||
"fr": "Cet arbre est utilisé à but d’agriculture (ex : dans un verger)",
|
||||
"de": "Der Baum wird für landwirtschaftliche Zwecke genutzt, z. B. in einer Obstplantage."
|
||||
"de": "Der Baum wird für landwirtschaftliche Zwecke genutzt, z. B. in einer Obstplantage.",
|
||||
"es": "El árbol se utiliza con fines agrícolas, por ejemplo, en un huerto."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -204,7 +238,8 @@
|
|||
"en": "The tree is in a park or similar (cemetery, school grounds, …).",
|
||||
"it": "L’albero è in un parco o qualcosa di simile (cimitero, aree didattiche, etc.).",
|
||||
"fr": "Cet arbre est dans un parc ou une aire similaire (ex : cimetière, cour d’école, …).",
|
||||
"de": "Der Baum steht in einem Park oder ähnlichem (Friedhof, Schulgelände, ...)."
|
||||
"de": "Der Baum steht in einem Park oder ähnlichem (Friedhof, Schulgelände, ...).",
|
||||
"es": "El árbol está en un parque o similar (cementerio, recinto escolar, ...)."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -217,7 +252,9 @@
|
|||
"nl": "De boom staat in de tuin bij een woning/flatgebouw.",
|
||||
"en": "The tree is a residential garden.",
|
||||
"it": "L’albero è un giardino residenziale.",
|
||||
"fr": "Cet arbre est dans une cour résidentielle."
|
||||
"fr": "Cet arbre est dans une cour résidentielle.",
|
||||
"es": "El árbol está en un jardín privado o residencial.",
|
||||
"de": "Der Baum steht in einem Wohngarten."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -231,7 +268,8 @@
|
|||
"en": "This is a tree along an avenue.",
|
||||
"it": "Fa parte di un viale alberato.",
|
||||
"fr": "C'est un arbre le long d'une avenue.",
|
||||
"de": "Dieser Baum steht entlang einer Straße."
|
||||
"de": "Dieser Baum steht entlang einer Straße.",
|
||||
"es": "El árbol está en bandejón de una avenida."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -244,7 +282,9 @@
|
|||
"nl": "De boom staat in een woonkern.",
|
||||
"en": "The tree is an urban area.",
|
||||
"it": "L’albero si trova in un’area urbana.",
|
||||
"fr": "L'arbre est une zone urbaine."
|
||||
"fr": "L'arbre est une zone urbaine.",
|
||||
"es": "El árbol está en un zona urbana.",
|
||||
"de": "Der Baum steht in einem städtischen Gebiet."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -258,7 +298,8 @@
|
|||
"en": "The tree is outside of an urban area.",
|
||||
"it": "L’albero si trova fuori dall’area urbana.",
|
||||
"fr": "Cet arbre est en zone rurale.",
|
||||
"de": "Dieser Baum steht außerhalb eines städtischen Gebiets."
|
||||
"de": "Dieser Baum steht außerhalb eines städtischen Gebiets.",
|
||||
"es": "El árbol está fuera de una zona urbana."
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -271,7 +312,8 @@
|
|||
"it": "È un sempreverde o caduco?",
|
||||
"ru": "Это дерево вечнозелёное или листопадное?",
|
||||
"fr": "L’arbre est-il à feuillage persistant ou caduc ?",
|
||||
"de": "Ist dies ein Nadelbaum oder ein Laubbaum?"
|
||||
"de": "Ist dies ein Nadelbaum oder ein Laubbaum?",
|
||||
"es": "¿El árbol es Siempreverde o Caduco?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -286,7 +328,8 @@
|
|||
"it": "Caduco: l’albero perde le sue foglie per un periodo dell’anno.",
|
||||
"ru": "Листопадное: у дерева опадают листья в определённое время года.",
|
||||
"fr": "Caduc : l’arbre perd son feuillage une partie de l’année.",
|
||||
"de": "Laubabwerfend: Der Baum verliert für eine gewisse Zeit des Jahres seine Blätter."
|
||||
"de": "Laubabwerfend: Der Baum verliert für eine gewisse Zeit des Jahres seine Blätter.",
|
||||
"es": "Caduco o Deciduo: el árbol pierde las hojas en un período del año"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -302,7 +345,8 @@
|
|||
"fr": "À feuilles persistantes.",
|
||||
"ru": "Вечнозелёное.",
|
||||
"de": "immergrüner Baum.",
|
||||
"ca": "Perenne."
|
||||
"ca": "Perenne.",
|
||||
"es": "Siempreverde."
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -312,6 +356,41 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tree-species-wikidata",
|
||||
"question": {
|
||||
"en": "What species is this tree?"
|
||||
},
|
||||
"render": {
|
||||
"*": "{wikipedia(species:wikidata):max-height: 25rem}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "species:wikidata",
|
||||
"type": "wikidata",
|
||||
"helperArgs": [
|
||||
"species",
|
||||
{
|
||||
"instanceOf": [
|
||||
10884,
|
||||
16521
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tree-wikipedia",
|
||||
"#": "If this tree has a wikipedia article, show it. People can _only_ set the species though!",
|
||||
"render": {
|
||||
"*": "{wikipedia()}"
|
||||
},
|
||||
"condition": {
|
||||
"or": [
|
||||
"wikipedia~*",
|
||||
"wikidata~*"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"render": {
|
||||
"nl": "Naam: {name}",
|
||||
|
@ -329,7 +408,8 @@
|
|||
"it": "L’albero ha un nome?",
|
||||
"fr": "L'arbre a-t-il un nom ?",
|
||||
"ru": "Есть ли у этого дерева название?",
|
||||
"de": "Hat der Baum einen Namen?"
|
||||
"de": "Hat der Baum einen Namen?",
|
||||
"es": "El árbol no tiene nombre?."
|
||||
},
|
||||
"freeform": {
|
||||
"key": "name",
|
||||
|
@ -351,7 +431,8 @@
|
|||
"it": "L’albero non ha un nome.",
|
||||
"fr": "L'arbre n'a pas de nom.",
|
||||
"ru": "У этого дерева нет названия.",
|
||||
"de": "Der Baum hat keinen Namen."
|
||||
"de": "Der Baum hat keinen Namen.",
|
||||
"es": "No identificas la especie."
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -371,7 +452,8 @@
|
|||
"en": "Is this tree registered heritage?",
|
||||
"it": "Quest’albero è registrato come patrimonio?",
|
||||
"fr": "Cet arbre est-il inscrit au patrimoine ?",
|
||||
"de": "Ist dieser Baum ein Naturdenkmal?"
|
||||
"de": "Ist dieser Baum ein Naturdenkmal?",
|
||||
"es": "¿Este árbol es patrimonio registrado?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -386,7 +468,8 @@
|
|||
"en": "Registered as heritage by <i>Onroerend Erfgoed</i> Flanders",
|
||||
"it": "Registrato come patrimonio da <i>Onroerend Erfgoed</i> Flanders",
|
||||
"fr": "Fait partie du patrimoine par <i>Onroerend Erfgoed</i>",
|
||||
"de": "Als Denkmal registriert von der <i>Onroerend Erfgoed</i> Flandern"
|
||||
"de": "Als Denkmal registriert von der <i>Onroerend Erfgoed</i> Flandern",
|
||||
"es": "Registrado como patrimonio por <i>Onroerend Erfgoed</i> Flandes"
|
||||
},
|
||||
"icon": {
|
||||
"path": "./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg",
|
||||
|
@ -405,7 +488,8 @@
|
|||
"en": "Registered as heritage by <i>Direction du Patrimoine culturel</i> Brussels",
|
||||
"it": "Registrato come patrimonio da <i>Direction du Patrimoine culturel</i> di Bruxelles",
|
||||
"fr": "Enregistré comme patrimoine par la <i>Direction du Patrimoine culturel</i> Bruxelles",
|
||||
"de": "Als Denkmal registriert von der <i>Direction du Patrimoine culturel</i> Brüssel"
|
||||
"de": "Als Denkmal registriert von der <i>Direction du Patrimoine culturel</i> Brüssel",
|
||||
"es": "Registrado como patrimonio por la <i>Dirección de Patrimonio Cultural</i> de Bruselas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -420,7 +504,8 @@
|
|||
"en": "Registered as heritage by a different organisation",
|
||||
"it": "Registrato come patrimonio da un’organizzazione differente",
|
||||
"fr": "Enregistré comme patrimoine par une autre organisation",
|
||||
"de": "Von einer anderen Organisation als Denkmal registriert"
|
||||
"de": "Von einer anderen Organisation als Denkmal registriert",
|
||||
"es": "Registrado como patrimonio por una organización diferente"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -435,7 +520,8 @@
|
|||
"en": "Not registered as heritage",
|
||||
"it": "Non è registrato come patrimonio",
|
||||
"fr": "Non enregistré comme patrimoine",
|
||||
"de": "Nicht als Denkmal registriert"
|
||||
"de": "Nicht als Denkmal registriert",
|
||||
"es": "No registrado como patrimonio"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -449,7 +535,8 @@
|
|||
"en": "Registered as heritage by a different organisation",
|
||||
"it": "Registrato come patrimonio da un’organizzazione differente",
|
||||
"fr": "Enregistré comme patrimoine par une autre organisation",
|
||||
"de": "Von einer anderen Organisation als Denkmal registriert"
|
||||
"de": "Von einer anderen Organisation als Denkmal registriert",
|
||||
"es": "Registrado como patrimonio por un organización diferente"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
}
|
||||
|
@ -467,14 +554,16 @@
|
|||
"en": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Onroerend Erfgoed ID: <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>",
|
||||
"it": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Onroerend Erfgoed ID: <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>",
|
||||
"ru": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Onroerend Erfgoed ID: <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>",
|
||||
"fr": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Identifiant Onroerend Erfgoed : <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>"
|
||||
"fr": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Identifiant Onroerend Erfgoed : <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>",
|
||||
"de": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Onroerend Erfgoed Kennung: <a href=\"https://id.erfgoed.net/erfgoedobjecten/{ref:OnroerendErfgoed}\">{ref:OnroerendErfgoed}</a>"
|
||||
},
|
||||
"question": {
|
||||
"nl": "Wat is het ID uitgegeven door Onroerend Erfgoed Vlaanderen?",
|
||||
"en": "What is the ID issued by Onroerend Erfgoed Flanders?",
|
||||
"it": "Qual è l’ID rilasciato da Onroerend Erfgoed Flanders?",
|
||||
"fr": "Quel est son identifiant donné par Onroerend Erfgoed ?",
|
||||
"de": "Wie lautet die Kennung der Onroerend Erfgoed Flanders?"
|
||||
"de": "Wie lautet die Kennung der Onroerend Erfgoed Flanders?",
|
||||
"es": "¿Cuál es la identificación emitida por Onroerend Erfgoed Flandes?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "ref:OnroerendErfgoed",
|
||||
|
@ -495,14 +584,16 @@
|
|||
"it": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata: <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>",
|
||||
"ru": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata: <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>",
|
||||
"fr": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata : <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>",
|
||||
"de": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata: <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>"
|
||||
"de": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata: <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>",
|
||||
"es": "<img src=\"./assets/svg/wikidata.svg\" style=\"width:1em;height:0.56em;vertical-align:middle\" alt=\"\"/> Wikidata: <a href=\"http://www.wikidata.org/entity/{wikidata}\">{wikidata}</a>"
|
||||
},
|
||||
"question": {
|
||||
"nl": "Wat is het Wikidata-ID van deze boom?",
|
||||
"en": "What is the Wikidata ID for this tree?",
|
||||
"it": "Qual è l’ID Wikidata per questo albero?",
|
||||
"fr": "Quel est l'identifiant Wikidata de cet arbre ?",
|
||||
"de": "Was ist das passende Wikidata Element zu diesem Baum?"
|
||||
"de": "Was ist das passende Wikidata Element zu diesem Baum?",
|
||||
"es": "¿Cuál es el ID de Wikidata para este árbol?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "wikidata",
|
||||
|
@ -530,14 +621,16 @@
|
|||
"it": "una albero latifoglia",
|
||||
"fr": "une arbre feuillu",
|
||||
"ru": "Лиственное дерево",
|
||||
"de": "eine laubbaum"
|
||||
"de": "eine laubbaum",
|
||||
"es": "árbol de hoja ancha"
|
||||
},
|
||||
"description": {
|
||||
"nl": "Een boom van een soort die blaadjes heeft, bijvoorbeeld eik of populier.",
|
||||
"en": "A tree of a species with leaves, such as oak or populus.",
|
||||
"it": "Un albero di una specie con foglie larghe come la quercia o il pioppo.",
|
||||
"fr": "Un arbre d'une espèce avec de larges feuilles, comme le chêne ou le peuplier.",
|
||||
"de": "Ein Baum mit Blättern, z. B. Eiche oder Buche."
|
||||
"de": "Ein Baum mit Blättern, z. B. Eiche oder Buche.",
|
||||
"es": "Un árbol de hojas como el Roble o el Álamo."
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "photo"
|
||||
|
@ -554,7 +647,8 @@
|
|||
"it": "una albero aghifoglia",
|
||||
"ru": "Хвойное дерево",
|
||||
"fr": "une arbre résineux",
|
||||
"de": "eine nadelbaum"
|
||||
"de": "eine nadelbaum",
|
||||
"es": "Árbol tipo Conífera"
|
||||
},
|
||||
"description": {
|
||||
"nl": "Een boom van een soort met naalden, bijvoorbeeld den of spar.",
|
||||
|
@ -562,7 +656,8 @@
|
|||
"it": "Un albero di una specie con aghi come il pino o l’abete.",
|
||||
"ru": "Дерево с хвоей (иглами), например, сосна или ель.",
|
||||
"fr": "Une espèce d’arbre avec des épines comme le pin ou l’épicéa.",
|
||||
"de": "Ein Baum mit Nadeln, z. B. Kiefer oder Fichte."
|
||||
"de": "Ein Baum mit Nadeln, z. B. Kiefer oder Fichte.",
|
||||
"es": "Un árbol de hojas agujas, como el Pino o el Abeto."
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "photo"
|
||||
|
@ -580,7 +675,8 @@
|
|||
"fr": "une arbre",
|
||||
"id": "Pohon",
|
||||
"de": "eine baum",
|
||||
"ca": "un arbre"
|
||||
"ca": "un arbre",
|
||||
"es": "un árbol"
|
||||
},
|
||||
"description": {
|
||||
"nl": "Wanneer je niet zeker bent of het nu een loof- of naaldboom is.",
|
||||
|
@ -588,7 +684,8 @@
|
|||
"it": "Qualora non si sia sicuri se si tratta di un albero latifoglia o aghifoglia.",
|
||||
"fr": "Si vous n'êtes pas sûr(e) de savoir s'il s'agit d'un arbre à feuilles larges ou à aiguilles.",
|
||||
"ru": "Если вы не уверены в том, лиственное это дерево или хвойное.",
|
||||
"de": "Wenn Sie nicht sicher sind, ob es sich um einen Laubbaum oder einen Nadelbaum handelt."
|
||||
"de": "Wenn Sie nicht sicher sind, ob es sich um einen Laubbaum oder einen Nadelbaum handelt.",
|
||||
"es": "Si no estás seguro de si es un árbol de hoja ancha o de hoja de aguja."
|
||||
},
|
||||
"preciseInput": {
|
||||
"preferredBackground": "photo"
|
||||
|
@ -636,6 +733,8 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "A layer showing trees",
|
||||
"nl": "Een laag die bomen toont"
|
||||
"nl": "Een laag die bomen toont",
|
||||
"es": "Una capa que muestra árboles",
|
||||
"de": "Eine Ebene, die Bäume zeigt"
|
||||
}
|
||||
}
|
|
@ -47,6 +47,7 @@
|
|||
],
|
||||
"description": {
|
||||
"en": "A layer showing village-green (which are communal green areas, but not quite parks)",
|
||||
"nl": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)"
|
||||
"nl": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)",
|
||||
"de": "Eine Ebene mit Dorfangern (kommunale Grünflächen, aber nicht wirklich Parks)"
|
||||
}
|
||||
}
|
|
@ -4,12 +4,14 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Wall or building",
|
||||
"nl": "Muur of gebouw"
|
||||
"nl": "Muur of gebouw",
|
||||
"de": "Wand oder Gebäude"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, ...). This layer is invisible by default and not toggleable by the user.",
|
||||
"nl": "Speciale laag met alle muren en gebouwen. Deze laag is nuttig om objecten toe te voegen die met een muur verbonden zijn (zoals AEDs, brievenbussen, adressen, bewakingscamera's,...). Deze laag is standaard onzichtbaar en kan niet aangezet worden door de gebruiker."
|
||||
"nl": "Speciale laag met alle muren en gebouwen. Deze laag is nuttig om objecten toe te voegen die met een muur verbonden zijn (zoals AEDs, brievenbussen, adressen, bewakingscamera's,...). Deze laag is standaard onzichtbaar en kan niet aangezet worden door de gebruiker.",
|
||||
"de": "Spezielle eingebaute Ebene, die alle Wände und Gebäude bereitstellt. Diese Ebene ist in Voreinstellungen für Objekte nützlich, die an Wänden platziert werden können (z. B. AEDs, Briefkästen, Eingänge, Adressen, Überwachungskameras, ...). Diese Ebene ist standardmäßig unsichtbar und kann vom Benutzer nicht umgeschaltet werden."
|
||||
},
|
||||
"source": {
|
||||
"osmTags": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"de": "Dies ist ein öffentlicher Abfalleimer, in den Sie Ihren Müll entsorgen können."
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images",
|
||||
{
|
||||
"id": "waste-basket-waste-types",
|
||||
"question": {
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
"id": "waste_disposal",
|
||||
"name": {
|
||||
"en": "Waste Disposal Bins",
|
||||
"nl": "Afvalcontainers voor huishoudelijk afval"
|
||||
"nl": "Afvalcontainers voor huishoudelijk afval",
|
||||
"de": "Mülleimer"
|
||||
},
|
||||
"description": {
|
||||
"en": "Waste Disposal Bin, medium to large bin for disposal of (household) waste",
|
||||
"nl": "Een grote afvalcontainer voor (huishoudelijk) afval"
|
||||
"nl": "Een grote afvalcontainer voor (huishoudelijk) afval",
|
||||
"de": "Entsorgungsbehälter, mittlerer bis großer Behälter zur Entsorgung von (Haushalts-)Abfällen"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": "amenity=waste_disposal"
|
||||
|
@ -16,7 +18,8 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Waste Disposal",
|
||||
"nl": "Afvalbak"
|
||||
"nl": "Afvalbak",
|
||||
"de": "Abfallentsorgung"
|
||||
}
|
||||
},
|
||||
"mapRendering": [
|
||||
|
@ -32,14 +35,16 @@
|
|||
{
|
||||
"title": {
|
||||
"en": "a waste disposal bin",
|
||||
"nl": "Een afvalcontainer"
|
||||
"nl": "Een afvalcontainer",
|
||||
"de": "ein Abfalleimer"
|
||||
},
|
||||
"tags": [
|
||||
"amenity=waste_disposal"
|
||||
],
|
||||
"description": {
|
||||
"en": "Medium to large bin for disposal of (household) waste",
|
||||
"nl": "middelgrote of grote afvalcontainer voor (huishoudelijk) afval"
|
||||
"nl": "middelgrote of grote afvalcontainer voor (huishoudelijk) afval",
|
||||
"de": "Mittlere bis große Mülltonne für die Entsorgung von (Haushalts-)Abfällen"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -48,11 +53,13 @@
|
|||
"id": "access",
|
||||
"render": {
|
||||
"en": "Access: {access}",
|
||||
"nl": "Toegankelijk voor {access}"
|
||||
"nl": "Toegankelijk voor {access}",
|
||||
"de": "Zugang: {access}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Who can use this waste disposal bin?",
|
||||
"nl": "Wie mag deze afvalcontainer gebruiken?"
|
||||
"nl": "Wie mag deze afvalcontainer gebruiken?",
|
||||
"de": "Wer kann diese Mülltonne benutzen?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "access",
|
||||
|
@ -63,21 +70,24 @@
|
|||
"if": "access=yes",
|
||||
"then": {
|
||||
"en": "This bin can be used by anyone",
|
||||
"nl": "Iedereen mag deze afvalcontainer gebruiken"
|
||||
"nl": "Iedereen mag deze afvalcontainer gebruiken",
|
||||
"de": "Dieser Behälter kann von jedem benutzt werden"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "access=no",
|
||||
"then": {
|
||||
"en": "This bin is private",
|
||||
"nl": "Deze afvalcontainer is enkel voor privaat gebruik"
|
||||
"nl": "Deze afvalcontainer is enkel voor privaat gebruik",
|
||||
"de": "Dieser Behälter ist privat"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "access=residents",
|
||||
"then": {
|
||||
"en": "This bin is only for residents",
|
||||
"nl": "Enkel bewoners mogen deze afvalcontainer gebruiken"
|
||||
"nl": "Enkel bewoners mogen deze afvalcontainer gebruiken",
|
||||
"de": "Diese Mülltonne ist nur für Anwohner"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -86,28 +96,32 @@
|
|||
"id": "disposal-location",
|
||||
"question": {
|
||||
"en": "Where is this container located?",
|
||||
"nl": "Waar bevindt deze container zich?"
|
||||
"nl": "Waar bevindt deze container zich?",
|
||||
"de": "Wo befindet sich dieser Container?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "location=underground",
|
||||
"then": {
|
||||
"en": "This is an underground container",
|
||||
"nl": "Dit is een ondergrondse container"
|
||||
"nl": "Dit is een ondergrondse container",
|
||||
"de": "Dies ist ein unterirdischer Container"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "location=indoor",
|
||||
"then": {
|
||||
"en": "This container is located indoors",
|
||||
"nl": "Deze container bevindt zich binnen"
|
||||
"nl": "Deze container bevindt zich binnen",
|
||||
"de": "Dieser Container befindet sich in einem Gebäude"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": "location=",
|
||||
"then": {
|
||||
"en": "This container is located outdoors",
|
||||
"nl": "Deze container is buiten"
|
||||
"nl": "Deze container is buiten",
|
||||
"de": "Dieser Container befindet sich im Freien"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -120,7 +134,8 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Only public access",
|
||||
"nl": "Enkel publiek toegankelijke afvalcontainers"
|
||||
"nl": "Enkel publiek toegankelijke afvalcontainers",
|
||||
"de": "Nur öffentlich zugänglich"
|
||||
},
|
||||
"osmTags": "access=yes"
|
||||
}
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
"zh_Hant": "風機",
|
||||
"hu": "Szélerőmű"
|
||||
},
|
||||
"description": {
|
||||
"en": "Modern windmills generating electricity"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": "generator:source=wind"
|
||||
},
|
||||
|
|
|
@ -28,7 +28,9 @@
|
|||
"zh_Hant": "對應的維基資料項目是?",
|
||||
"pl": "Jaki jest powiązany obiekt Wikidata?",
|
||||
"ja": "対応するウィキデータのエンティティは何ですか?",
|
||||
"fil": "Ano ang nau-ukol na entidad sa Wikidata?"
|
||||
"fil": "Ano ang nau-ukol na entidad sa Wikidata?",
|
||||
"es": "¿Cual es la entidad de Wikidata que se corresponde?",
|
||||
"zh_Hans": "在Wikidata上对应的实体是什么?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -48,7 +50,9 @@
|
|||
"ru": "Никакой страницы на Википедии не было прикреплено",
|
||||
"pl": "Link do strony Wikipedii nie został jeszcze określony",
|
||||
"ja": "ウィキペディアのページはまだリンクされていません",
|
||||
"fil": "Wala pang kawing ng Wikipedia page"
|
||||
"fil": "Wala pang kawing ng Wikipedia page",
|
||||
"es": "Todavía no se ha enlazado una página de wikipedia",
|
||||
"zh_Hans": "尚未有连接到的维基百科页面"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
}
|
||||
|
@ -84,7 +88,9 @@
|
|||
"ca": "Quin és el telèfon de {title()}?",
|
||||
"ja": "{title()}の電話番号は?",
|
||||
"sl": "Kakšno telefonsko številko ima {title()}?",
|
||||
"fil": "Ano ang telepono ng {title()}?"
|
||||
"fil": "Ano ang telepono ng {title()}?",
|
||||
"es": "¿Cuál es el número de teléfono de {title()}?",
|
||||
"zh_Hans": "{title()} 的电话号码为何?"
|
||||
},
|
||||
"render": "<a href='tel:{phone}'>{phone}</a>",
|
||||
"mappings": [
|
||||
|
@ -127,7 +133,9 @@
|
|||
"fr": "Quel est l’élément Wikipédia correspondant ?",
|
||||
"pl": "Jaki jest link do strony Wikipedii?",
|
||||
"ja": "Wikipediaの該当項目は何ですか?",
|
||||
"fil": "Ano ang nau-ukol na partida sa Wikipedia?"
|
||||
"fil": "Ano ang nau-ukol na partida sa Wikipedia?",
|
||||
"es": "¿Cual es el ítem correspondiente en Wikipedia?",
|
||||
"zh_Hans": "在维基百科上对应的条目是什么?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -146,7 +154,9 @@
|
|||
"zh_Hant": "沒有連結到維基百科",
|
||||
"pl": "Brak linku do strony Wikipedii",
|
||||
"ja": "ウィキペディアと連動していない",
|
||||
"fil": "Hindi naka-ugnay sa Wikipedia"
|
||||
"fil": "Hindi naka-ugnay sa Wikipedia",
|
||||
"es": "No enlazado con Wikipedia",
|
||||
"zh_Hans": "不要连接到维基百科"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -176,7 +186,9 @@
|
|||
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
|
||||
"ja": "{title()}のEメールアドレスは何ですか?",
|
||||
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
|
||||
"fil": "Ano ang email address ng {title()}?"
|
||||
"fil": "Ano ang email address ng {title()}?",
|
||||
"es": "¿Cual es la direccióm de correo electrónico de {title()}?",
|
||||
"zh_Hans": "{title()} 的电子邮箱地址为何?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -213,7 +225,9 @@
|
|||
"hu": "Mi a weboldala ennek: {title()}?",
|
||||
"ca": "Quina és la web de {title()}?",
|
||||
"ja": "{title()}のウェブサイトは?",
|
||||
"fil": "Ano ang website ng {title()}?"
|
||||
"fil": "Ano ang website ng {title()}?",
|
||||
"es": "¿Cual es el sitio web de {title()}?",
|
||||
"zh_Hans": "{title()} 的网站为何?"
|
||||
},
|
||||
"render": "<a href='{website}' target='_blank'>{website}</a>",
|
||||
"freeform": {
|
||||
|
@ -247,7 +261,8 @@
|
|||
"zh_Hant": "這個地方可以坐輪椅到達嗎?",
|
||||
"pl": "Czy to miejsce jest dostępne dla osób na wózkach inwalidzkich?",
|
||||
"ja": "車いすでのアクセスは可能ですか?",
|
||||
"fil": "Kaya bang abutin ang lugar na ito ng naka-wheelchair?"
|
||||
"fil": "Kaya bang abutin ang lugar na ito ng naka-wheelchair?",
|
||||
"es": "¿Este lugar es accesible con una silla de ruedas?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -272,7 +287,8 @@
|
|||
"ru": "Это место подходит для людей на инвалидной коляске",
|
||||
"pl": "W tym miejscu zainstalowane zostały udogodnienia dla osób na wózkach inwalidzkich",
|
||||
"ja": "この場所は、車椅子の方のための特別仕様になっています",
|
||||
"fil": "Ang lugar na ito ay angkop sa mga gumagamit ng wheelchair"
|
||||
"fil": "Ang lugar na ito ay angkop sa mga gumagamit ng wheelchair",
|
||||
"es": "Este lugar está especialmente adaptado para usuarios en sillas de ruedas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -297,7 +313,8 @@
|
|||
"ru": "До этого места легко добраться на инвалидной коляске",
|
||||
"pl": "To miejsce jest łatwo dostępne dla osób na wózkach inwalidzkich",
|
||||
"ja": "この場所は、車いすで簡単に行くことができます",
|
||||
"fil": "Ang lugar na ito ay kayang abutin ng mga naka-wheelchair"
|
||||
"fil": "Ang lugar na ito ay kayang abutin ng mga naka-wheelchair",
|
||||
"es": "Este lugar es fácilmente accesible con una silla de ruedas"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -322,7 +339,8 @@
|
|||
"ru": "До этого места можно добраться, но не просто",
|
||||
"pl": "To miejsce jest dostępne dla osób na wózkach inwalidzkich, ale z pewnymi trudnościami",
|
||||
"ja": "車いすでこの場所まで行くことは可能ですが、簡単ではありません",
|
||||
"fil": "Kayang abutin ang lugar na ito ng mga naka-wheelchair, pero hindi madali"
|
||||
"fil": "Kayang abutin ang lugar na ito ng mga naka-wheelchair, pero hindi madali",
|
||||
"es": "Es posible llegar a este lugar con una silla de ruedas, pero no es fácil"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -346,7 +364,8 @@
|
|||
"zh_Hant": "輪椅無法到達這個地方",
|
||||
"pl": "To miejsce jest niedostępne dla osób na wózkach inwalidzkich",
|
||||
"ja": "この場所は車いすでは行けません",
|
||||
"fil": "Ang lugar na ito ay hindi kayang abutin ng naka-wheelchair"
|
||||
"fil": "Ang lugar na ito ay hindi kayang abutin ng naka-wheelchair",
|
||||
"es": "No es posible llegar a este lugar con una silla de ruedas"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -369,7 +388,9 @@
|
|||
"ja": "犬を飼うことができますか?",
|
||||
"id": "Apakah anjing diperbolehkan dalam bisnis ini?",
|
||||
"sl": "Ali so v tem podjetju dovoljeni psi?",
|
||||
"fil": "Pinapayagan ba ang mga aso sa establisyementong ito?"
|
||||
"fil": "Pinapayagan ba ang mga aso sa establisyementong ito?",
|
||||
"es": "¿Están permitidos los perros en este negocio?",
|
||||
"zh_Hans": "犬只是否在这个商业体中允许?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -393,7 +414,8 @@
|
|||
"ja": "ペット同伴可能",
|
||||
"es": "Se permiten perros",
|
||||
"sl": "Psi so dovoljeni",
|
||||
"fil": "Pinapayagan ang mga aso"
|
||||
"fil": "Pinapayagan ang mga aso",
|
||||
"zh_Hans": "允许犬只"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -417,7 +439,8 @@
|
|||
"ja": "ペット同伴<b>不可</b>",
|
||||
"es": "<b>No</b> se permiten perros",
|
||||
"sl": "Psi <b>niso</b> dovoljeni",
|
||||
"fil": "<b>Hindi</b> pinapayagan ang mga aso"
|
||||
"fil": "<b>Hindi</b> pinapayagan ang mga aso",
|
||||
"zh_Hans": "<b>不</b>允许犬只"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -439,7 +462,9 @@
|
|||
"pl": "Psy dozwolone, ale muszą być na smyczy",
|
||||
"ja": "ペット同伴可能。ただしリード着用",
|
||||
"sl": "Psi so dovoljeni, vendar morajo biti na povodcu",
|
||||
"fil": "Pinapayagan ang mga aso kung may tali"
|
||||
"fil": "Pinapayagan ang mga aso kung may tali",
|
||||
"es": "Los perros están permitidos, pero tienen que llevar correa",
|
||||
"zh_Hans": "允许犬只,但必须拴绳"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -461,7 +486,9 @@
|
|||
"ja": "犬同伴可能、自由に走り回れる",
|
||||
"id": "Anjing diperbolehkan dan dapat berkeliaran dengan bebas",
|
||||
"sl": "Psi so dovoljeni in lahko prosto tekajo naokoli",
|
||||
"fil": "Pinapayayagan ang mga aso, at malayang makatatakbo"
|
||||
"fil": "Pinapayayagan ang mga aso, at malayang makatatakbo",
|
||||
"es": "Los perros están permitidos y pueden estar sueltos",
|
||||
"zh_Hans": "允许犬只,且可自由放养"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -511,7 +538,9 @@
|
|||
"ca": "Quin és l'horari d'obertura de {title()}?",
|
||||
"ja": "{title()}の営業時間は?",
|
||||
"sl": "Kakšen odpiralni čas ima {title()}?",
|
||||
"fil": "Anong oras nagbubukas ang {title()}?"
|
||||
"fil": "Anong oras nagbubukas ang {title()}?",
|
||||
"es": "¿Cuales son las horas de apertura de {title()}?",
|
||||
"zh_Hans": "{title()} 的开放时间为何?"
|
||||
},
|
||||
"render": {
|
||||
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
|
||||
|
@ -531,7 +560,9 @@
|
|||
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
|
||||
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
|
||||
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
|
||||
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}"
|
||||
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
|
||||
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
|
||||
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "opening_hours",
|
||||
|
@ -552,7 +583,8 @@
|
|||
"fr": "Des prises sont elles à disposition des client·e·s en intérieur ?",
|
||||
"pl": "Czy w tym przybytku znajdują się gniazdka elektryczne, gdzie klienci mogą naładować swoje urządzenia?",
|
||||
"ja": "このアメニティにはコンセントがあり、お客様が店内にいるときにも利用できますか?",
|
||||
"fil": "Merong bang mga intsupe (outlet) sa loob, para sa mga suki?"
|
||||
"fil": "Merong bang mga intsupe (outlet) sa loob, para sa mga suki?",
|
||||
"es": "¿Esta facilidad tiene enchufes eléctricos, disponibles para los clientes cuando están dentro?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -568,7 +600,8 @@
|
|||
"fr": "Il y a suffisamment de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils",
|
||||
"pl": "W budynku znajduje się wiele gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia",
|
||||
"ja": "屋内の席に座っているお客様には、家庭用コンセントがたくさん用意されており、そこで電子機器を充電することができます",
|
||||
"fil": "Maraming mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks"
|
||||
"fil": "Maraming mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks",
|
||||
"es": "Hay numerosos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos"
|
||||
},
|
||||
"if": "service:electricity=yes"
|
||||
},
|
||||
|
@ -585,7 +618,8 @@
|
|||
"fr": "Il y a peu de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils",
|
||||
"pl": "W budynku znajduje się kilka gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia",
|
||||
"ja": "屋内の席に座ったお客様が充電できるよう、コンセントがいくつか用意されています",
|
||||
"fil": "May iilang mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks"
|
||||
"fil": "May iilang mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks",
|
||||
"es": "Hay algunos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos"
|
||||
},
|
||||
"if": "service:electricity=limited"
|
||||
},
|
||||
|
@ -602,7 +636,8 @@
|
|||
"hu": "A belső térben nincs konnektor az ügyfeleknek, de lehetséges, hogy a személyzet segítségével lehet elektromos eszközt tölteni",
|
||||
"pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów, ale mogą zostać one udostępnione po spytaniu obsługi",
|
||||
"ja": "屋内にはコンセントがありませんが、スタッフに声をかければ充電できるかもしれません",
|
||||
"fil": "Walang mga intsupe (socket) para sa mga suki, pero maaring tanungin ang kawani kung magpapa-karga"
|
||||
"fil": "Walang mga intsupe (socket) para sa mga suki, pero maaring tanungin ang kawani kung magpapa-karga",
|
||||
"es": "No hay enchufes disponibles en el interior para los clientes, pero cargar puede ser posible si se pregunta al personal"
|
||||
},
|
||||
"if": "service:electricity=ask"
|
||||
},
|
||||
|
@ -619,7 +654,8 @@
|
|||
"hu": "A belső térben ülő ügyfeleknek nem áll rendelkezésére konnektor",
|
||||
"pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów",
|
||||
"ja": "屋内の席には、家庭用コンセントはありません",
|
||||
"fil": "Walang mga intsupe (socket) para sa mga suking nakaubo sa loob"
|
||||
"fil": "Walang mga intsupe (socket) para sa mga suking nakaubo sa loob",
|
||||
"es": "No hay enchufes domésticos disponibles para los clientes sentados en el interior"
|
||||
},
|
||||
"if": "service:electricity=no"
|
||||
}
|
||||
|
@ -644,7 +680,9 @@
|
|||
"ru": "Какие способы оплаты здесь принимают?",
|
||||
"ja": "どのような支払い方法が可能ですか?",
|
||||
"sl": "Kateri načini plačila so možni tu?",
|
||||
"fil": "Anong mga paraang pambayad ang tinatanggap dito?"
|
||||
"fil": "Anong mga paraang pambayad ang tinatanggap dito?",
|
||||
"es": "¿Qué métodos de pago se aceptan aquí?",
|
||||
"zh_Hans": "这里支持哪些支付方式?"
|
||||
},
|
||||
"multiAnswer": true,
|
||||
"mappings": [
|
||||
|
@ -670,7 +708,9 @@
|
|||
"ru": "Здесь принимают наличными",
|
||||
"ja": "現金利用可能",
|
||||
"sl": "Tu sprejemajo gotovino",
|
||||
"fil": "Tinatanggap ang salapi rito"
|
||||
"fil": "Tinatanggap ang salapi rito",
|
||||
"es": "Aquí se acepta el pago en efectivo",
|
||||
"zh_Hans": "可用现金"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -695,7 +735,9 @@
|
|||
"ru": "Здесь принимают банковские карты",
|
||||
"ja": "お支払いはこちらで承ります",
|
||||
"sl": "Tukaj sprejemajo plačilne kartice",
|
||||
"fil": "Tinatanggap ang mga tarhetang pambayad dito"
|
||||
"fil": "Tinatanggap ang mga tarhetang pambayad dito",
|
||||
"es": "Aquí se acepta el pago por tarjeta",
|
||||
"zh_Hans": "可用信用卡"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -717,7 +759,9 @@
|
|||
"fr": "Paiement via une application",
|
||||
"sl": "Plačilo se opravi z namensko aplikacijo",
|
||||
"ca": "El pagament es fa amb una app dedicada",
|
||||
"fil": "Binabayaran gamit ang sariling app"
|
||||
"fil": "Binabayaran gamit ang sariling app",
|
||||
"es": "El pago se realiza con una aplicación dedicada",
|
||||
"zh_Hans": "使用专用APP支付"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -733,7 +777,10 @@
|
|||
"fr": "Paiement via une carte de membre",
|
||||
"sl": "Plačilo se izvede s člansko izkaznico",
|
||||
"ca": "El pagament es fa amb una targeta de membre",
|
||||
"fil": "Binabayaran gamit ang membership card"
|
||||
"fil": "Binabayaran gamit ang membership card",
|
||||
"es": "El pago se realiza con una tarjeta de membresía",
|
||||
"nb_NO": "Betaling utføres med et medlemskort",
|
||||
"zh_Hans": "使用会员卡支付"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -765,7 +812,8 @@
|
|||
"ca": "A quina planta està situat aquest element?",
|
||||
"sv": "På vilken nivå finns den här funktionen?",
|
||||
"ja": "この機能は何階にあるのでしょうか?",
|
||||
"fil": "Anong palapag matatagpuan ang tampók?"
|
||||
"fil": "Anong palapag matatagpuan ang tampók?",
|
||||
"es": "¿En qué nivel se encuentra esta característica?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Located on the {level}th floor",
|
||||
|
@ -784,7 +832,8 @@
|
|||
"ca": "Situat a la planta {level}",
|
||||
"ja": "{level}階にあります",
|
||||
"sl": "Nahaja se v {level}. nadstropju",
|
||||
"fil": "Natagpuan sa ika-{level} na palapag"
|
||||
"fil": "Natagpuan sa ika-{level} na palapag",
|
||||
"es": "Localizada en la {level}° planta"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "level",
|
||||
|
@ -811,7 +860,8 @@
|
|||
"ja": "地下にあります",
|
||||
"id": "Terletak di bawah tanah",
|
||||
"sl": "Nahaja se pod zemljo",
|
||||
"fil": "Nasa ilalim ng lupa"
|
||||
"fil": "Nasa ilalim ng lupa",
|
||||
"es": "Localizado bajo tierra"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -836,7 +886,8 @@
|
|||
"ja": "1階にあります",
|
||||
"id": "Terletak di lantai dasar",
|
||||
"sl": "Nahaja se v pritličju",
|
||||
"fil": "Nasa unang palapag"
|
||||
"fil": "Nasa unang palapag",
|
||||
"es": "Localizado en la planta baja"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -861,7 +912,8 @@
|
|||
"ja": "1階にあります",
|
||||
"id": "Terletak di lantai dasar",
|
||||
"sl": "Nahaja se v pritličju",
|
||||
"fil": "Nasa unang palapag"
|
||||
"fil": "Nasa unang palapag",
|
||||
"es": "Localizado en la planta baja"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -885,7 +937,8 @@
|
|||
"ca": "Situat a primera planta",
|
||||
"ja": "1階にあります",
|
||||
"sl": "Nahaja se v prvem nadstropju",
|
||||
"fil": "Nasa unang palapag"
|
||||
"fil": "Nasa unang palapag",
|
||||
"es": "Localizado en la primera planta"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -900,7 +953,8 @@
|
|||
"fr": "Sous-sol",
|
||||
"sl": "Nahaja se v prvi kletni etaži",
|
||||
"ca": "Localitzat a la planta base",
|
||||
"fil": "Nasa silong"
|
||||
"fil": "Nasa silong",
|
||||
"es": "Situado en el primer nivel del sótano"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -17,7 +17,8 @@
|
|||
"sv": "Öppna AED-karta",
|
||||
"pl": "Otwórz mapę AED",
|
||||
"pt_BR": "Abrir mapa AED",
|
||||
"sl": "Zemljevid defibrilatorjev (AED)"
|
||||
"sl": "Zemljevid defibrilatorjev (AED)",
|
||||
"zh_Hans": "Open AED Map"
|
||||
},
|
||||
"maintainer": "MapComplete",
|
||||
"icon": "./assets/themes/aed/aed.svg",
|
||||
|
@ -38,7 +39,8 @@
|
|||
"pt_BR": "Neste mapa, pode-se encontrar e marcar desfibriladores próximos",
|
||||
"nb_NO": "Defibrillatorer i nærheten",
|
||||
"hu": "Ezen a térképen a közeli defibrillátorokat lehet megtalálni és feltüntetni",
|
||||
"sl": "Na tem zemljevidu lahko poiščete in označite bližnje defibrilatorje"
|
||||
"sl": "Na tem zemljevidu lahko poiščete in označite bližnje defibrilatorje",
|
||||
"zh_Hans": "在这份地图上可以寻找和标记附近的除颤器"
|
||||
},
|
||||
"version": "2020-08-29",
|
||||
"startLat": 0,
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
"sv": "Öppen konstverkskarta",
|
||||
"pl": "Otwórz mapę dzieł sztuki",
|
||||
"nb_NO": "Kunstkort",
|
||||
"ca": "Open Artwork Map"
|
||||
"ca": "Open Artwork Map",
|
||||
"zh_Hans": "Open Artwork Map"
|
||||
},
|
||||
"description": {
|
||||
"en": "Welcome to Open Artwork Map, a map of statues, busts, grafittis and other artwork all over the world",
|
||||
|
@ -31,7 +32,8 @@
|
|||
"nb_NO": "Velkommen til det åpne kunstverkskartet, et kart over statuer, byster, grafitti, og andre kunstverk i verden",
|
||||
"hu": "Isten hozta a nyílt műalkotástérképen, a világ minden táján megtalálható szobrok, mellszobrok, graffitik és más műalkotások gyűjtőhelyén",
|
||||
"pl": "Witaj w Open Artwork Map, mapie pomników, popierś, graffitti i innych dzieł sztuki z całego świata",
|
||||
"ca": "Benvingut a Open Artwork Map, un mapa d'estàtues, busts, grafitis i altres obres d'art del tot el món"
|
||||
"ca": "Benvingut a Open Artwork Map, un mapa d'estàtues, busts, grafitis i altres obres d'art del tot el món",
|
||||
"zh_Hans": "欢迎使用Open Artwork Map,一个雕塑、半身像、涂鸦和其他全球艺术品的地图"
|
||||
},
|
||||
"icon": "./assets/themes/artwork/artwork.svg",
|
||||
"maintainer": "MapComplete",
|
||||
|
|
|
@ -13,7 +13,9 @@
|
|||
"pt_BR": "Bancadas",
|
||||
"id": "Bangku",
|
||||
"hu": "Padok",
|
||||
"ca": "Bancs"
|
||||
"ca": "Bancs",
|
||||
"es": "Bancos",
|
||||
"zh_Hans": "长椅"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "A map of benches",
|
||||
|
@ -28,11 +30,13 @@
|
|||
"pt_BR": "Um mapa de bancadas",
|
||||
"hu": "Padtérkép",
|
||||
"id": "Peta bangku",
|
||||
"ca": "Un mapa de bancs"
|
||||
"ca": "Un mapa de bancs",
|
||||
"es": "Un mapa de bancos",
|
||||
"zh_Hans": "长椅地图"
|
||||
},
|
||||
"description": {
|
||||
"en": "This map shows all benches that are recorded in OpenStreetMap: Individual benches, and benches belonging to public transport stops or shelters. With an OpenStreetMap account, you can map new benches or edit details of existing benches.",
|
||||
"de": "Diese Karte zeigt alle Sitzbänke, die in OpenStreetMap eingetragen sind: Einzeln stehende Bänke und Bänke, die zu Haltestellen oder Unterständen gehören. Mit einem OpenStreetMap-Account können Sie neue Bänke eintragen oder Detailinformationen existierender Bänke bearbeiten.",
|
||||
"de": "Diese Karte zeigt alle Sitzbänke, die in OpenStreetMap eingetragen sind: Alleinstehende Bänke und Bänke, die zu Haltestellen oder Unterständen gehören. Mit einem OpenStreetMap-Konto können Sie neue Bänke eintragen oder Details existierender Bänke bearbeiten.",
|
||||
"fr": "Cette carte affiche les bancs mappés dans OpenStreetMap, entre autres : bancs des transports en commun, bancs publics, etc. À l'aide de votre compte OpenStretMap, vous pourrez ajouter de nouveaux bancs ou modifier les bancs existants.",
|
||||
"nl": "Deze kaart toont alle zitbanken die zijn opgenomen in OpenStreetMap: individuele banken en banken bij bushaltes. Met een OpenStreetMap-account kan je informatie verbeteren en nieuwe zitbanken toevoegen.",
|
||||
"it": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o nei ripari. Se disponi di un account OpenStreetMap puoi mappare delle nuove panchine o modificare i dettagli di quelle esistenti.",
|
||||
|
@ -40,7 +44,8 @@
|
|||
"ja": "このマップには、OpenStreetMapに記録されているすべてのベンチが表示されます。個々のベンチ、および公共交通機関の停留所または避難場所に属するベンチです。OpenStreetMapアカウントを使用すると、新しいベンチをマップしたり、既存のベンチの詳細を編集したりできます。",
|
||||
"zh_Hant": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。只要有開放街圖帳號,你可以新增長椅或是編輯既有長椅的詳細內容。",
|
||||
"hu": "Ez a térkép megjeleníti az OpenStreetMap-en rögzített összes padot: egyes padokat, valamint tömegközlekedési megállókban vagy menedékhelyeken található padokat. OpenStreetMap-fiókkal Ön is felrajzolhat új padokat, vagy szerkesztheti a meglévő padok részleteit.",
|
||||
"ca": "Aquest mapa mostra tots els bancs que hi ha a OpenStreetMap: bancs individuals i els bancs que hi ha a parades o refugis de transport públic. Amb un compte d'OpenStreetMap pots afegir nous bancs o editar detalls dels existents."
|
||||
"ca": "Aquest mapa mostra tots els bancs que hi ha a OpenStreetMap: bancs individuals i els bancs que hi ha a parades o refugis de transport públic. Amb un compte d'OpenStreetMap pots afegir nous bancs o editar detalls dels existents.",
|
||||
"es": "Este mapa muestra todos los bancos que están grabados en OpenStreetMap: Bancos individuales, bancos que pertenecen a paradas o marquesinas del transporte público. Con una cuenta de OpenStreetMap, puedes mapear nuevos bancos o editar detalles de bancos existentes."
|
||||
},
|
||||
"maintainer": "Florian Edelmann",
|
||||
"icon": "./assets/themes/benches/bench_poi.svg",
|
||||
|
|
|
@ -6,20 +6,24 @@
|
|||
"de": "Fahrradverleih",
|
||||
"id": "Sewa sepeda",
|
||||
"fr": "Location de vélos",
|
||||
"ca": "Lloguer de bicicletes"
|
||||
"ca": "Lloguer de bicicletes",
|
||||
"es": "Alquiler de bicicletas",
|
||||
"nb_NO": "Sykkelutleie"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "A map with bicycle rental stations and bicycle rental shops",
|
||||
"nl": "Een kaart met fietsverhuurpunten en fietsverhuurzaken",
|
||||
"de": "Eine Karte mit Fahrradverleihstationen und Fahrradverleihern",
|
||||
"id": "Peta dengan stasiun persewaan sepeda dan toko penyewaan sepeda",
|
||||
"fr": "Une carte avec des stations et magasins de location de vélos"
|
||||
"fr": "Une carte avec des stations et magasins de location de vélos",
|
||||
"es": "Un mapa con estaciones de alquiler de bicicletas y tiendas de alquiler de bicicletas"
|
||||
},
|
||||
"description": {
|
||||
"en": "On this map, you'll find the many bicycle rental stations as they are known by OpenStreetMap",
|
||||
"nl": "Op deze kaart vind je verschillende fietsverhuurpunten en fietsverhuurzaken",
|
||||
"de": "Auf dieser Karte finden Sie die vielen Fahrradverleihstationen, wie sie auf OpenStreetMap eingetragen wurden",
|
||||
"fr": "Vous trouverez sur cette carte toutes les stations de location de vélo telles qu'elles sont référencées dans OpenStreetMap"
|
||||
"fr": "Vous trouverez sur cette carte toutes les stations de location de vélo telles qu'elles sont référencées dans OpenStreetMap",
|
||||
"es": "En este mapa, encontrarás numerosas estaciones de alquiler de bicicletas que son conocidas por OpenStreetMap"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/themes/bicycle_rental/logo.svg",
|
||||
|
|
|
@ -7,7 +7,9 @@
|
|||
"it": "Binocoli",
|
||||
"nb_NO": "Kikkerter",
|
||||
"zh_Hant": "望遠鏡",
|
||||
"hu": "Távcsövek"
|
||||
"hu": "Távcsövek",
|
||||
"fr": "Jumelles",
|
||||
"es": "Binoculares"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "A map with fixed binoculars",
|
||||
|
@ -16,7 +18,9 @@
|
|||
"it": "Una cartina dei binocoli pubblici fissi",
|
||||
"nb_NO": "Et kart over fastmonterte kikkerter",
|
||||
"zh_Hant": "固定望遠鏡的地圖",
|
||||
"hu": "Rögzített távcsövek (binokulárok) térképe"
|
||||
"hu": "Rögzített távcsövek (binokulárok) térképe",
|
||||
"fr": "Une carte de jumelles panoramiques",
|
||||
"es": "Un mapa con prismáticos fijos"
|
||||
},
|
||||
"description": {
|
||||
"en": "A map with binoculars fixed in place with a pole. It can typically be found on touristic locations, viewpoints, on top of panoramic towers or occasionally on a nature reserve.",
|
||||
|
@ -24,7 +28,9 @@
|
|||
"de": "Eine Karte für festinstallierte Ferngläsern. Man findet sie meist an touristischen Orten, Aussichtspunkten, Aussichtstürmen oder gelegentlich in Naturschutzgebieten.",
|
||||
"it": "Una cartina dei binocoli su un palo fissi in un luogo. Si trovano tipicamente nei luoghi turistici, nei belvedere, in cima a torri panoramiche oppure occasionalmente nelle riserve naturali.",
|
||||
"zh_Hant": "固定一地的望遠鏡地圖,特別是能夠在旅遊景點、觀景點、城鎮環景點,或是自然保護區找到。",
|
||||
"hu": "Rúdra rögzített távcsövek térképe. Jellemzően turisztikailag érdekes, panorámás helyeken, kilátótornyok tetején vagy természetvédelmi területen találhatók."
|
||||
"hu": "Rúdra rögzített távcsövek térképe. Jellemzően turisztikailag érdekes, panorámás helyeken, kilátótornyok tetején vagy természetvédelmi területen találhatók.",
|
||||
"fr": "Une carte des longue-vues fixes. Se trouve typiquement sur les sites touristiques, les points de vue, les tours panoramiques ou dans les réserves naturelles.",
|
||||
"es": "Un mapa con prismáticos fijos en un poste. Suele encontrarse en lugares turísticos, miradores, en lo alto de torres panorámicas u ocasionalmente en una reserva natural."
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/layers/binocular/telescope.svg",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"pt_BR": "Abrir Mapa de Estantes",
|
||||
"nb_NO": "Kart over åpne bokhyller",
|
||||
"hu": "Könyvespolctérkép",
|
||||
"ca": "Open Bookcase Map"
|
||||
"ca": "Open Bookcase Map",
|
||||
"es": "Mapa de Librerías Abiertas"
|
||||
},
|
||||
"description": {
|
||||
"en": "A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored. Everyone can place or take a book. This map aims to collect all these bookcases. You can discover new bookcases nearby and, with a free OpenStreetMap account, quickly add your favourite bookcases.",
|
||||
|
@ -25,7 +26,8 @@
|
|||
"ja": "公共の本棚とは、本が保管されている小さな街角のキャビネット、箱、古い電話のトランク、その他の物のことです。誰でも本を置いたり持ったりすることができます。このマップは、すべての公共の本棚を収集することを目的としています。近くで新しい本棚を見つけることができ、無料のOpenStreetMapアカウントを使えば、お気に入りの本棚を簡単に追加できます。",
|
||||
"zh_Hant": "公共書架是街邊箱子、盒子、舊的電話亭或是其他存放書本的物件,每一個人都能放置或拿取書本。這份地圖收集所有類型的書架,你可以探索你附近新的書架,同時也能用免費的開放街圖帳號來快速新增你最愛的書架。",
|
||||
"it": "Una libreria pubblica è una piccola cabina a lato della strada, un locale, una vecchia cabina telefonica o qualche altro luogo in cui sono tenuti libri. Chiunque può lasciare o prendere libri. Scopo della mappa è individuarle. Se scopri nuove librerie nelle vicinanze, puoi facilmente aggiungerle con un account OpenStreetMap.",
|
||||
"hu": "A nyilvános könyvespolc egy kis utcai szekrény, doboz, régi telefonfülke vagy más tárgy, ahol könyveket tárolnak. Bárki tehet rá vagy vihet el róla könyvet. Ez a térkép ezeket a könyvespolcokat kívánja összegyűjteni. Ha felfedezett egy új könyvespolcot a közelben, akkor egy ingyenes OpenStreetMap-fiókkal gyorsan fel is rajzolhatja a térképre."
|
||||
"hu": "A nyilvános könyvespolc egy kis utcai szekrény, doboz, régi telefonfülke vagy más tárgy, ahol könyveket tárolnak. Bárki tehet rá vagy vihet el róla könyvet. Ez a térkép ezeket a könyvespolcokat kívánja összegyűjteni. Ha felfedezett egy új könyvespolcot a közelben, akkor egy ingyenes OpenStreetMap-fiókkal gyorsan fel is rajzolhatja a térképre.",
|
||||
"es": "Una librería pública es un pequeño armario en la calle, una caja, una vieja cabina telefónica o algún otro objeto donde se guardan libros. Todo el mundo puede colocar o coger un libro. Este mapa pretende recoger todas estas librerías. Puedes descubrir nuevas librerías cercanas y, con una cuenta gratuita de OpenStreetMap, añadir rápidamente tus librerías favoritas."
|
||||
},
|
||||
"icon": "./assets/themes/bookcases/bookcase.svg",
|
||||
"startLat": 0,
|
||||
|
|
|
@ -10,13 +10,17 @@
|
|||
"zh_Hant": "咖啡廳與酒吧",
|
||||
"ru": "Кафе и пабы",
|
||||
"hu": "Kávézók és kocsmák",
|
||||
"ca": "Cafés i bars"
|
||||
"ca": "Cafés i bars",
|
||||
"es": "Cafeterías y pubs",
|
||||
"fr": "Cafés et pubs"
|
||||
},
|
||||
"description": {
|
||||
"en": "Pubs and bars",
|
||||
"nl": "Cafés, kroegen en drinkgelegenheden",
|
||||
"de": "Kneipen und Bars",
|
||||
"ca": "Bars i pubs"
|
||||
"ca": "Bars i pubs",
|
||||
"es": "Pubs y bares",
|
||||
"fr": "Bars et pubs"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/layers/cafe_pub/pub.svg",
|
||||
|
|
|
@ -34,7 +34,8 @@
|
|||
"nl": "Deze website verzamelt en toont alle officiële plaatsen waar een camper mag overnachten en afvalwater kan lozen. Ook jij kan extra gegevens toevoegen, zoals welke services er geboden worden en hoeveel dit kot, ook afbeeldingen en reviews kan je toevoegen. De data wordt op OpenStreetMap opgeslagen en is dus altijd gratis te hergebruiken, ook door andere applicaties.",
|
||||
"fr": "Ce site collecte les zones de camping officielles ainsi que les aires de vidange. Il est possible d’ajouter des détails à propos des services proposés ainsi que leurs coûts. Ajoutez vos images et avis. C’est un site et une application. Les données sont stockées sur OpenStreetMap, elles seront toujours gratuites et peuvent être réutilisées par n’importe quelle application.",
|
||||
"de": "Eine Karte für offizielle Wohnmobilstellplätze und Orte zur Entsorgung von Schmutzwasser. Sie können Details über die angebotenen Dienstleistungen und die Kosten hinzufügen, oder Bilder und Bewertungen ergänzen. Dies ist eine Webseite und eine Webapp. Die Daten werden in OpenStreetMap gespeichert, so dass sie für immer kostenlos sind und von jeder App weiterverwendet werden können.",
|
||||
"hu": "Ez az oldal az összes olyan hivatalos lakóautós megállóhelyet és helyet gyűjti össze, ahol szürke és fekete szennyvizet lehet üríteni. Hozzáadhat részleteket a nyújtott szolgáltatásokról és a költségekről, valamint képeket és értékeléseket. Ez egyszerre egy weboldal és egy webes alkalmazás. Az adatokat az OpenStreetMapen tároljuk, így mindig ingyenesek lesznek, és bármelyik alkalmazás újra felhasználhatja őket."
|
||||
"hu": "Ez az oldal az összes olyan hivatalos lakóautós megállóhelyet és helyet gyűjti össze, ahol szürke és fekete szennyvizet lehet üríteni. Hozzáadhat részleteket a nyújtott szolgáltatásokról és a költségekről, valamint képeket és értékeléseket. Ez egyszerre egy weboldal és egy webes alkalmazás. Az adatokat az OpenStreetMapen tároljuk, így mindig ingyenesek lesznek, és bármelyik alkalmazás újra felhasználhatja őket.",
|
||||
"es": "Este sitio recoge todos los lugares oficiales de parada de caravanas y los lugares donde se pueden verter las aguas grises y negras. Puedes añadir detalles sobre los servicios prestados y el coste. Añade fotos y reseñas. Este es un sitio web y una aplicación web. Los datos se almacenan en OpenStreetMap, por lo que serán gratuitos para siempre y podrán ser reutilizados por cualquier aplicación."
|
||||
},
|
||||
"maintainer": "joost schouppe",
|
||||
"icon": "./assets/themes/campersite/caravan.svg",
|
||||
|
@ -59,7 +60,8 @@
|
|||
"de": "Wohnmobilstellplätze",
|
||||
"hu": "Lakóautós megállóhely",
|
||||
"id": "Tempat camping",
|
||||
"ca": "Llocs d'acampada"
|
||||
"ca": "Llocs d'acampada",
|
||||
"es": "Sitios de Acampada"
|
||||
},
|
||||
"minzoom": 10,
|
||||
"source": {
|
||||
|
@ -116,7 +118,8 @@
|
|||
"de": "Wohnmobilstellplätze",
|
||||
"hu": "Lakóautós megállóhelyek",
|
||||
"id": "Tempat camping",
|
||||
"ca": "llocs d'acampada"
|
||||
"ca": "llocs d'acampada",
|
||||
"es": "Sitios de acampada"
|
||||
},
|
||||
"tagRenderings": [
|
||||
"images",
|
||||
|
@ -131,7 +134,8 @@
|
|||
"nl": "Deze plaats heet {name}",
|
||||
"pt_BR": "Este lugar é chamado de {name}",
|
||||
"de": "Dieser Ort heißt {name}",
|
||||
"id": "Tempat ini disebut {name}"
|
||||
"id": "Tempat ini disebut {name}",
|
||||
"es": "Este lugar se llama {name}"
|
||||
},
|
||||
"question": {
|
||||
"en": "What is this place called?",
|
||||
|
@ -143,7 +147,8 @@
|
|||
"zh_Hant": "這個地方叫做什麼?",
|
||||
"nl": "Wat is de naam van deze plaats?",
|
||||
"pt_BR": "Qual o nome deste lugar?",
|
||||
"de": "Wie heißt dieser Ort?"
|
||||
"de": "Wie heißt dieser Ort?",
|
||||
"es": "¿Cómo se llama este lugar?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "name"
|
||||
|
@ -161,7 +166,8 @@
|
|||
"zh_Hant": "這個地方收費嗎?",
|
||||
"nl": "Moet men betalen om deze camperplaats te gebruiken?",
|
||||
"pt_BR": "Este lugar cobra alguma taxa?",
|
||||
"de": "Wird hier eine Gebühr erhoben?"
|
||||
"de": "Wird hier eine Gebühr erhoben?",
|
||||
"es": "¿Este lugar cobra una tarifa?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -180,7 +186,8 @@
|
|||
"fr": "L’utilisation est payante",
|
||||
"pt_BR": "Você precisa pagar para usar",
|
||||
"de": "Sie müssen für die Nutzung bezahlen",
|
||||
"id": "Anda perlu membayar untuk menggunakannya"
|
||||
"id": "Anda perlu membayar untuk menggunakannya",
|
||||
"es": "Necesitas pagar por su uso"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -201,7 +208,8 @@
|
|||
"zh_Hant": "可以免費使用",
|
||||
"nl": "Kan gratis gebruikt worden",
|
||||
"pt_BR": "Pode ser usado de graça",
|
||||
"de": "Nutzung kostenlos"
|
||||
"de": "Nutzung kostenlos",
|
||||
"es": "Se puede usar de manera gratuita"
|
||||
},
|
||||
"addExtraTags": [
|
||||
"charge="
|
||||
|
@ -220,7 +228,8 @@
|
|||
"nl": "Deze plaats vraagt {charge}",
|
||||
"fr": "Ce site fait payer {charge}",
|
||||
"pt_BR": "Este lugar cobra {charge}",
|
||||
"de": "Die Gebühr beträgt {charge}"
|
||||
"de": "Die Gebühr beträgt {charge}",
|
||||
"es": "Este lugar cobra {charge}"
|
||||
},
|
||||
"question": {
|
||||
"en": "How much does this place charge?",
|
||||
|
@ -232,7 +241,8 @@
|
|||
"zh_Hant": "這個地方收多少費用?",
|
||||
"nl": "Hoeveel kost deze plaats?",
|
||||
"pt_BR": "Quanto este lugar cobra?",
|
||||
"de": "Wie hoch ist die Gebühr an diesem Ort?"
|
||||
"de": "Wie hoch ist die Gebühr an diesem Ort?",
|
||||
"es": "¿Cuánto cobra este lugar?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "charge"
|
||||
|
@ -255,7 +265,8 @@
|
|||
"fr": "Ce site possède-t’il un lieu de vidange ?",
|
||||
"pt_BR": "Este local tem uma estação de aterro sanitário?",
|
||||
"de": "Hat dieser Ort eine sanitäre Entsorgungsstation?",
|
||||
"id": "Apakah tempat ini memiliki tempat pembuangan sanitasi?"
|
||||
"id": "Apakah tempat ini memiliki tempat pembuangan sanitasi?",
|
||||
"es": "¿Este lugar tiene un vertedero sanitario?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -273,7 +284,8 @@
|
|||
"zh_Hant": "這個地方有衛生設施",
|
||||
"pt_BR": "Este local tem uma estação de aterro sanitário",
|
||||
"de": "Dieser Ort hat eine sanitäre Entsorgungsstation",
|
||||
"id": "Tempat ini memiliki tempat pembuangan sanitasi"
|
||||
"id": "Tempat ini memiliki tempat pembuangan sanitasi",
|
||||
"es": "Este lugar tiene un vertedero sanitario"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -291,7 +303,8 @@
|
|||
"fr": "Ce site ne possède pas de lieu de vidange",
|
||||
"pt_BR": "Este local não tem uma estação de aterro sanitário",
|
||||
"de": "Dieser Ort hat keine sanitäre Entsorgungsstation",
|
||||
"id": "Tempat ini tidak memiliki tempat pembuangan sampah sanitasi"
|
||||
"id": "Tempat ini tidak memiliki tempat pembuangan sampah sanitasi",
|
||||
"es": "Este lugar no tiene vertedero sanitario"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -306,7 +319,8 @@
|
|||
"fr": "{capacity} personnes peuvent utiliser cet espace en même temps",
|
||||
"pt_BR": "{capacity} campistas podem usar este lugar ao mesmo tempo",
|
||||
"de": "{capacity} Wohnmobile können diesen Platz gleichzeitig nutzen",
|
||||
"nl": "{capacity} campers kunnen deze plaats tegelijk gebruiken"
|
||||
"nl": "{capacity} campers kunnen deze plaats tegelijk gebruiken",
|
||||
"es": "{capacity} los campistas pueden utilizar este lugar al mismo tiempo"
|
||||
},
|
||||
"question": {
|
||||
"en": "How many campers can stay here? (skip if there is no obvious number of spaces or allowed vehicles)",
|
||||
|
@ -317,7 +331,8 @@
|
|||
"fr": "Combien de personnes peuvent camper ici ? (Passez s’il n’y a pas de places délimitées)",
|
||||
"pt_BR": "Quantos campistas podem ficar aqui? (pule se não houver um número óbvio de vagas ou veículos permitidos)",
|
||||
"de": "Wie viele Wohnmobile können hier parken? (Überspringen, wenn es keine offensichtliche Anzahl von Stellplätzen oder erlaubten Fahrzeugen gibt)",
|
||||
"nl": "Hoeveel campers kunnen hier overnachten? (sla dit over als er geen duidelijk aantal plaatsen of aangeduid maximum is)"
|
||||
"nl": "Hoeveel campers kunnen hier overnachten? (sla dit over als er geen duidelijk aantal plaatsen of aangeduid maximum is)",
|
||||
"es": "¿Cuántos campistas pueden alojarse aquí? (omitir si no hay un número evidente de plazas o vehículos permitidos)"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "capacity",
|
||||
|
@ -337,7 +352,8 @@
|
|||
"zh_Hant": "這個地方有提網路連線嗎?",
|
||||
"pt_BR": "Este lugar fornece acesso a internet?",
|
||||
"de": "Ist an diesem Ort ein Internetzugang vorhanden?",
|
||||
"nl": "Biedt deze plaats internettoegang?"
|
||||
"nl": "Biedt deze plaats internettoegang?",
|
||||
"es": "¿Este lugar tiene acceso a internet?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -357,7 +373,8 @@
|
|||
"pt_BR": "Há acesso à internet",
|
||||
"de": "Internetzugang ist vorhanden",
|
||||
"nl": "Er is internettoegang",
|
||||
"ca": "Hi ha accés a internet"
|
||||
"ca": "Hi ha accés a internet",
|
||||
"es": "Hay acceso a internet"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -377,7 +394,8 @@
|
|||
"fr": "Il y a un accès internet",
|
||||
"pt_BR": "Há acesso à Internet",
|
||||
"de": "Internetzugang ist vorhanden",
|
||||
"nl": "Er is internettoegang"
|
||||
"nl": "Er is internettoegang",
|
||||
"es": "Hay acceso a internet"
|
||||
},
|
||||
"hideInAnswer": true
|
||||
},
|
||||
|
@ -397,7 +415,8 @@
|
|||
"fr": "Il n’y a pas d’accès internet",
|
||||
"pt_BR": "Não há acesso à internet",
|
||||
"de": "Kein Internetzugang vorhanden",
|
||||
"nl": "Er is geen internettoegang"
|
||||
"nl": "Er is geen internettoegang",
|
||||
"es": "No hay acceso a internet"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -413,7 +432,8 @@
|
|||
"fr": "L’accès internet est-il payant ?",
|
||||
"pt_BR": "Você tem que pagar pelo acesso à internet?",
|
||||
"de": "Ist der Internetzugang gebührenpflichtig?",
|
||||
"nl": "Moet je betalen voor internettoegang?"
|
||||
"nl": "Moet je betalen voor internettoegang?",
|
||||
"es": "¿Tienes que pagar por el acceso a internet?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -431,7 +451,8 @@
|
|||
"fr": "L’accès internet est en supplément",
|
||||
"pt_BR": "Você precisa pagar um extra pelo acesso à internet",
|
||||
"de": "Der Internetzugang ist gebührenpflichtig",
|
||||
"nl": "Je moet extra betalen voor internettoegang"
|
||||
"nl": "Je moet extra betalen voor internettoegang",
|
||||
"es": "Tienes que pagar a mayores por el acceso a internet"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -449,7 +470,8 @@
|
|||
"fr": "L’accès internet est inclus",
|
||||
"pt_BR": "Você não precisa pagar um extra pelo acesso à internet",
|
||||
"de": "Der Internetzugang ist kostenlos",
|
||||
"nl": "Je hoeft niet extra te betalen voor internettoegang"
|
||||
"nl": "Je hoeft niet extra te betalen voor internettoegang",
|
||||
"es": "No tienes que pagar a mayores por el acceso a internet"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -493,7 +515,8 @@
|
|||
"pt_BR": "Este lugar tem banheiros",
|
||||
"de": "Dieser Ort verfügt über Toiletten",
|
||||
"nl": "Deze plaats heeft toiletten",
|
||||
"hu": "Itt van WC"
|
||||
"hu": "Itt van WC",
|
||||
"es": "Este lugar cuenta con sanitarios"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -514,7 +537,8 @@
|
|||
"pt_BR": "Este lugar não tem banheiros",
|
||||
"de": "Dieser Ort verfügt nicht über Toiletten",
|
||||
"nl": "Deze plaats heeft geen toiletten",
|
||||
"hu": "Itt nincs WC"
|
||||
"hu": "Itt nincs WC",
|
||||
"es": "Este lugar no tiene sanitarios"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -562,7 +586,8 @@
|
|||
"it": "Questo luogo offre spazi per il noleggio a lungo termine?",
|
||||
"fr": "Ce site permet-il la location longue durée ?",
|
||||
"pt_BR": "Este lugar oferece vagas para aluguel a longo prazo?",
|
||||
"de": "Gibt es a diesem Ort Plätze für Dauercamper?"
|
||||
"de": "Gibt es a diesem Ort Plätze für Dauercamper?",
|
||||
"es": "¿Este lugar ofrece huecos para alquilar a largo plazo?"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
|
@ -579,7 +604,8 @@
|
|||
"it": "Sì, ci sono spazi per il noleggio a lungo termine, ma puoi anche pagare per singola giornata",
|
||||
"fr": "Oui, mais il est possible d’y passer seulement une nuit",
|
||||
"pt_BR": "Sim, há alguns pontos para aluguel a longo prazo, mas você também pode ficar em uma base diária",
|
||||
"de": "Ja, es gibt einige Plätze für Langzeitmieten, aber Sie können auch tageweise bleiben"
|
||||
"de": "Ja, es gibt einige Plätze für Langzeitmieten, aber Sie können auch tageweise bleiben",
|
||||
"es": "Sí, hay algunas plazas de alquiler a largo plazo, pero también puedes alojarte por días"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -596,7 +622,8 @@
|
|||
"it": "No, non ci sono ospiti a lungo termine qui",
|
||||
"fr": "Non, il n’y a pas de résidents permanents",
|
||||
"pt_BR": "Não, não há hóspedes permanentes aqui",
|
||||
"de": "Nein, hier gibt es keine Dauergäste"
|
||||
"de": "Nein, hier gibt es keine Dauergäste",
|
||||
"es": "No, no hay huéspedes permanentes aquí"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -612,7 +639,8 @@
|
|||
"zh_Hant": "如果有長期租用合約才有可能待下來(如果你選擇這個地方則會在這份地圖消失)",
|
||||
"it": "Puoi soggiornare qui solo se hai un contratto a lungo termine (se selezioni questa opzione, questo luogo sarà rimosso da questa mappa)",
|
||||
"fr": "C’est possible sous contrat (Cette option fera disparaître le site de la carte)",
|
||||
"de": "Es sind nur Plätze für Dauercamper vorhanden (wenn Sie diese Antwort auswählen, wird dieser Ort wird von der Karte verschwinden)"
|
||||
"de": "Es sind nur Plätze für Dauercamper vorhanden (wenn Sie diese Antwort auswählen, wird dieser Ort wird von der Karte verschwinden)",
|
||||
"es": "Solo es posible permanecer aquí si tienes un contrato a largo plazo (este lugar desaparecerá de este mapa si escoges esto)"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -628,7 +656,8 @@
|
|||
"fr": "Plus de détails à propos du site : {description}",
|
||||
"pt_BR": "Mais detalhes sobre este lugar: {description}",
|
||||
"de": "Mehr Details über diesen Ort: {description}",
|
||||
"nl": "Meer details over deze plaats: {description}"
|
||||
"nl": "Meer details over deze plaats: {description}",
|
||||
"es": "Más detalles sobre este lugar:{description}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Would you like to add a general description of this place? (Do not repeat information previously asked or shown above. Please keep it objective - opinions go into the reviews)",
|
||||
|
@ -638,7 +667,8 @@
|
|||
"it": "Desideri aggiungere una descrizione del luogo? (Non vanno ripetute informazioni già richieste e mostrate precedentemente. Si prega di attenersi a dati oggettivi - le opinioni vanno nelle recensioni)",
|
||||
"fr": "Souhaitez-vous ajouter une description générale du lieu ? (Ne pas répéter les informations précédentes et rester neutre, les opinions vont dans les avis)",
|
||||
"de": "Möchten Sie eine allgemeine Beschreibung für diesen Ort hinzufügen? (Bitte wiederholen Sie keine Informationen, die Sie bereits zuvor angegeben haben. Bitte bleiben Sie objektiv - Meinungen gehen in die Bewertungen ein)",
|
||||
"nl": "Wil je graag een algemene beschrijving toevoegen van deze plaats? (Herhaal hier niet de antwoorden op de vragen die reeds gesteld zijn. Hou het objectief - je kan je mening geven via een review)"
|
||||
"nl": "Wil je graag een algemene beschrijving toevoegen van deze plaats? (Herhaal hier niet de antwoorden op de vragen die reeds gesteld zijn. Hou het objectief - je kan je mening geven via een review)",
|
||||
"es": "¿Te gustaría añadir una descripción general de este lugar? (No repitas información previamente preguntada o mostrada arriba. Por favor mantenla objetiva - las opiniones van en la de opiniones)"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "description",
|
||||
|
@ -665,7 +695,8 @@
|
|||
"de": "eine wohnmobilstellplatz",
|
||||
"nl": "een camperplaats",
|
||||
"hu": "lakóautós megállóhely",
|
||||
"ca": "un lloc d'acampada"
|
||||
"ca": "un lloc d'acampada",
|
||||
"es": "Un camping"
|
||||
},
|
||||
"description": {
|
||||
"en": "Add a new official camper site. These are designated places to stay overnight with your camper. They might look like a real camping or just look like a parking. They might not be signposted at all, but just be defined in a municipal decision. A regular parking intended for campers where it is not expected to spend the night, is -not- a camper site ",
|
||||
|
@ -676,7 +707,8 @@
|
|||
"de": "Fügen Sie einen neuen offiziellen Wohnmobilstellplatz hinzu. Dies sind ausgewiesene Plätze, an denen Sie in Ihrem Wohnmobil übernachten können. Sie können wie ein richtiger Campingplatz oder nur wie ein Parkplatz aussehen. Möglicherweise sind sie gar nicht ausgeschildert, sondern nur in einem Gemeindebeschluss festgelegt. Ein normaler Parkplatz für Wohnmobile, auf dem übernachten nicht zulässig ist, ist kein Wohnmobilstellplatz. ",
|
||||
"nl": "Voeg een nieuwe officiële camperplaats toe. Dit zijn speciaal aangeduide plaatsen waar het toegestaan is om te overnachten met een camper. Ze kunnen er uitzien als een parking, of soms eerder als een camping. Soms staan ze niet ter plaatse aangeduid, maar heeft de gemeente wel degelijk beslist dat dit een camperplaats is. Een parking voor campers waar je niet mag overnachten is géén camperplaats. ",
|
||||
"zh_Hant": "新增正式露營地點,通常是設計給過夜的露營者的地點。看起來像是真的露營地或是一般的停車場,而且也許沒有任何指標,但在城鎮被定議地點。如果一般給露營者的停車場並不是用來過夜,則不是露營地點 ",
|
||||
"hu": "Új hivatalos lakóautóhely hozzáadása. Ez arra vannak kijelölve, hogy lakóautóval ott éjszakázzunk. Lehet, hogy úgy néz ki, mint egy igazi kemping, de az is lehet, hogy csak olyan, mint egy parkoló. Előfordulhat, hogy egyáltalán nem jelzik őket, hanem csak egy önkormányzati határozatban vannak kijelölve. A lakóautósoknak szánt olyan hagyományos parkolók, ahol nem várhatóan nem fognak éjszakázni, -nem minősül- lakóautóhelynek. "
|
||||
"hu": "Új hivatalos lakóautóhely hozzáadása. Ez arra vannak kijelölve, hogy lakóautóval ott éjszakázzunk. Lehet, hogy úgy néz ki, mint egy igazi kemping, de az is lehet, hogy csak olyan, mint egy parkoló. Előfordulhat, hogy egyáltalán nem jelzik őket, hanem csak egy önkormányzati határozatban vannak kijelölve. A lakóautósoknak szánt olyan hagyományos parkolók, ahol nem várhatóan nem fognak éjszakázni, -nem minősül- lakóautóhelynek. ",
|
||||
"es": "Añade un nuevo sitio de acampada oficial. Son lugares designados para pasar la noche con tu caravana. Pueden parecerse a un camping real o simplemente a un aparcamiento. Puede que no estén señalizados en absoluto, sino que simplemente estén definidos en una decisión municipal. Un aparcamiento normal destinado a los campistas en el que no se espera que se pase la noche, no es un camping. "
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
"nb_NO": "Ladestasjoner",
|
||||
"ru": "Зарядные станции",
|
||||
"hu": "Elektromos töltőpontok",
|
||||
"ca": "Estacions de càrrega"
|
||||
"ca": "Estacions de càrrega",
|
||||
"fr": "Points de recharge"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "A worldwide map of charging stations",
|
||||
|
@ -22,7 +23,8 @@
|
|||
"de": "Eine weltweite Karte mit Ladestationen",
|
||||
"nb_NO": "Et verdensomspennende kart over ladestasjoner",
|
||||
"ru": "Карта зарядных станций по всему миру",
|
||||
"hu": "Elektromos töltőpontok világtérképe"
|
||||
"hu": "Elektromos töltőpontok világtérképe",
|
||||
"fr": "Une carte mondiale des points de recharge"
|
||||
},
|
||||
"description": {
|
||||
"en": "On this open map, one can find and mark information about charging stations",
|
||||
|
@ -31,7 +33,8 @@
|
|||
"ru": "На этой карте вы можно найти и отметить информацию о зарядных станциях",
|
||||
"zh_Hant": "在這份開放地圖上,你可以尋找與標示充電站的資訊",
|
||||
"de": "Auf dieser freien Karte kann man Informationen zu Ladestationen finden und hinzufügen",
|
||||
"hu": "Ezen a térképen a elektromos töltőpontokról szóló információkat lehet megtalálni és megadni"
|
||||
"hu": "Ezen a térképen a elektromos töltőpontokról szóló információkat lehet megtalálni és megadni",
|
||||
"fr": "Sur cette carte l’on trouve et ajoute des informations sur les points de recharge"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/themes/charging_stations/logo.svg",
|
||||
|
|
|
@ -570,7 +570,8 @@
|
|||
"ru": "Здесь можно заняться спортивным скалолазанием",
|
||||
"ja": "ここでスポーツクライミングができます",
|
||||
"it": "L’arrampicata sportiva è possibile qua",
|
||||
"hu": "Itt lehetőség van sportmászásra"
|
||||
"hu": "Itt lehetőség van sportmászásra",
|
||||
"fr": "De l’escalade est possible ici"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -582,7 +583,8 @@
|
|||
"ru": "Спортивное скалолазание здесь невозможно",
|
||||
"ja": "ここではスポーツクライミングはできません",
|
||||
"it": "L’arrampicata sportiva non è possibile qua",
|
||||
"hu": "Itt nincs lehetőség sportmászásra"
|
||||
"hu": "Itt nincs lehetőség sportmászásra",
|
||||
"fr": "L’escalade est impossible ici"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
"en": "Cycle highways",
|
||||
"de": "Radschnellwege",
|
||||
"it": "Strade per velocipedi",
|
||||
"ca": "Vies ciclistes"
|
||||
"ca": "Vies ciclistes",
|
||||
"fr": "Aménagements cyclables"
|
||||
},
|
||||
"hideFromOverview": true,
|
||||
"maintainer": "L'imaginaire",
|
||||
|
@ -14,7 +15,8 @@
|
|||
"description": {
|
||||
"en": "This map shows cycle highways",
|
||||
"de": "Diese Karte zeigt Radschnellwege",
|
||||
"it": "Questa cartina mostra le strade per velocipedi"
|
||||
"it": "Questa cartina mostra le strade per velocipedi",
|
||||
"fr": "Cette carte affiche les aménagements cyclables"
|
||||
},
|
||||
"version": "2021-08-23",
|
||||
"startLat": 51.1599,
|
||||
|
@ -101,7 +103,8 @@
|
|||
"name": {
|
||||
"en": "cycle highways",
|
||||
"de": "Radschnellwege",
|
||||
"ca": "vies ciclistes"
|
||||
"ca": "vies ciclistes",
|
||||
"fr": "Aménagements cyclables"
|
||||
},
|
||||
"source": {
|
||||
"osmTags": "cycle_network=BE-VLG:cycle_highway"
|
||||
|
@ -111,7 +114,8 @@
|
|||
"render": {
|
||||
"en": "cycle highway",
|
||||
"de": "Radschnellweg",
|
||||
"ca": "via ciclista"
|
||||
"ca": "via ciclista",
|
||||
"fr": "Aménagement cyclable"
|
||||
}
|
||||
},
|
||||
"filter": [
|
||||
|
|
|
@ -26,7 +26,8 @@
|
|||
"de": "Eine Karte zum Ansehen und Bearbeiten verschiedener Elementen der Fahrradinfrastruktur. Erstellt während #osoc21.",
|
||||
"it": "Una cartina dove vedere e modificare gli elementi riguardanti l’infrastruttura dei velocipedi. Realizzata durante #osoc21.",
|
||||
"zh_Hant": "可以檢視與編輯單車相關設施的地圖,在 #os0c21時製作。",
|
||||
"hu": "Kerékpáros infrastruktúrával kapcsolatos dolgokat megjelenítő és szerkesztésre felkínáló térkép. Az #osoc21 (Open Summer of Code) alatt készült."
|
||||
"hu": "Kerékpáros infrastruktúrával kapcsolatos dolgokat megjelenítő és szerkesztésre felkínáló térkép. Az #osoc21 (Open Summer of Code) alatt készült.",
|
||||
"fr": "Une carte montrant les aménagements cyclables et où l’on peut rajouter des informations. Réalisée durant #osoc21."
|
||||
},
|
||||
"maintainer": "MapComplete",
|
||||
"hideFromOverview": false,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"description": {
|
||||
"en": "A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.<br/><br/>On this map, one can see all the ghost bikes which are known by OpenStreetMap. Is a ghost bike missing? Everyone can add or update information here - you only need to have a (free) OpenStreetMap account.",
|
||||
"nl": "Een <b>Witte Fiets</b> of <b>Spookfiets</b> is een aandenken aan een fietser die bij een verkeersongeval om het leven kwam. Het gaat om een fiets die volledig wit is geschilderd en in de buurt van het ongeval werd geinstalleerd.<br/><br/>Op deze kaart zie je alle witte fietsen die door OpenStreetMap gekend zijn. Ontbreekt er een Witte Fiets of wens je informatie aan te passen? Meld je dan aan met een (gratis) OpenStreetMap account.",
|
||||
"de": "Ein <b>Geisterrad</b> ist ein weißes Fahrrad, dass zum Gedenken eines tödlich verunglückten Radfahrers vor Ort aufgestellt wurde.<br/><br/> Auf dieser Karte kann man alle Geisterräder sehen, die in OpenStreetMap eingetragen sind. Fehlt ein Geisterrad? Jeder kann hier Informationen hinzufügen oder aktualisieren - Sie benötigen lediglich einen (kostenlosen) OpenStreetMap-Account.",
|
||||
"de": "Ein <b>Geisterrad</b> ist ein weißes Fahrrad, dass zum Gedenken eines tödlich verunglückten Radfahrers vor Ort aufgestellt wurde.<br/><br/> Auf dieser Karte sehen Sie alle Geisterräder, die in OpenStreetMap eingetragen sind. Fehlt ein Geisterrad? Jeder kann hier Informationen hinzufügen oder aktualisieren - Sie benötigen nur ein (kostenloses) OpenStreetMap-Konto.",
|
||||
"ja": "<b>ゴーストバイク</b>は、交通事故で死亡したサイクリストを記念するもので、事故現場の近くに恒久的に置かれた白い自転車の形をしています。<br/><br/>このマップには、OpenStreetMapで知られているゴーストバイクがすべて表示されます。ゴーストバイクは行方不明ですか?誰でもここで情報の追加や更新ができます。必要なのは(無料の)OpenStreetMapアカウントだけです。",
|
||||
"zh_Hant": "<b>幽靈單車</b>是用來紀念死於交通事故的單車騎士,在事發地點附近放置白色單車。<br/><br/>在這份地圖上面,你可以看到所有在開放街圖已知的幽靈單車。有缺漏的幽靈單車嗎?所有人都可以在這邊新增或是更新資訊-只有你有(免費)開放街圖帳號。",
|
||||
"fr": "Les <b>vélos fantômes</b> sont des mémoriaux pour les cyclistes tuées sur la route, prenant la forme de vélos blancs placés à proximité des faits.<br/><br/>Cette carte indique leur emplacement à partir d’OpenStreetMap. Il est possible de contribuer aux informations ici, sous réserve d’avoir un compte OpenStreetMap (gratuit).",
|
||||
|
|
|
@ -469,7 +469,7 @@
|
|||
"_overlaps_with=feat.get('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
|
||||
"_osm_obj:source:ref=feat.get('_overlaps_with')?.feat?.properties['source:geometry:ref']",
|
||||
"_osm_obj:id=feat.get('_overlaps_with')?.feat?.properties?.id",
|
||||
"_osm_obj:source:date=feat.get('_overlaps_with')?.feat?.properties['source:geometry:date'].replace(/\\//g, '-')",
|
||||
"_osm_obj:source:date=(feat.get('_overlaps_with')?.feat?.properties ?? {})['source:geometry:date']?.replace(/\\//g, '-')",
|
||||
"_osm_obj:building=feat.get('_overlaps_with')?.feat?.properties?.building",
|
||||
"_osm_obj:addr:street=(feat.get('_overlaps_with')?.feat?.properties ?? {})['addr:street']",
|
||||
"_osm_obj:addr:housenumber=(feat.get('_overlaps_with')?.feat?.properties ?? {})['addr:housenumber']",
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
{
|
||||
"id": "mapcomplete-changes",
|
||||
"title": {
|
||||
"en": "Changes made with MapComplete",
|
||||
"de": "Änderungen mit MapComplete"
|
||||
"en": "Changes made with MapComplete"
|
||||
},
|
||||
"shortDescription": {
|
||||
"en": "Shows changes made by MapComplete",
|
||||
"de": "Zeigt Änderungen von MapComplete"
|
||||
"en": "Shows changes made by MapComplete"
|
||||
},
|
||||
"description": {
|
||||
"en": "This maps shows all the changes made with MapComplete",
|
||||
"de": "Diese Karte zeigt alle Änderungen die mit MapComplete gemacht wurden"
|
||||
"en": "This maps shows all the changes made with MapComplete"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/svg/logo.svg",
|
||||
|
@ -25,8 +22,7 @@
|
|||
{
|
||||
"id": "mapcomplete-changes",
|
||||
"name": {
|
||||
"en": "Changeset centers",
|
||||
"de": "Schwerpunkte von Änderungssätzen"
|
||||
"en": "Changeset centers"
|
||||
},
|
||||
"minzoom": 0,
|
||||
"source": {
|
||||
|
@ -40,41 +36,35 @@
|
|||
],
|
||||
"title": {
|
||||
"render": {
|
||||
"en": "Changeset for {theme}",
|
||||
"de": "Änderungen für {theme}"
|
||||
"en": "Changeset for {theme}"
|
||||
}
|
||||
},
|
||||
"description": {
|
||||
"en": "Shows all MapComplete changes",
|
||||
"de": "Zeigt alle MapComplete Änderungen"
|
||||
"en": "Shows all MapComplete changes"
|
||||
},
|
||||
"tagRenderings": [
|
||||
{
|
||||
"id": "render_id",
|
||||
"render": {
|
||||
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>",
|
||||
"de": "Änderung <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
|
||||
"en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "contributor",
|
||||
"render": {
|
||||
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>",
|
||||
"de": "Änderung wurde von <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a> gemacht"
|
||||
"en": "Change made by <a href='https://openstreetmap.org/user/{_last_edit:contributor}' target='_blank'>{_last_edit:contributor}</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "theme",
|
||||
"render": {
|
||||
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>",
|
||||
"de": "Änderung mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
|
||||
"en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>"
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": "theme~http.*",
|
||||
"then": {
|
||||
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>",
|
||||
"de": "Änderung mit <b>inoffiziellem</b> Thema <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
|
||||
"en": "Change with <b>unofficial</b> theme <a href='https://mapcomplete.osm.be/theme.html?userlayout={theme}'>{theme}</a>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -338,8 +328,7 @@
|
|||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "Themename contains {search}",
|
||||
"de": "Themenname enthält {search}"
|
||||
"en": "Themename contains {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -355,8 +344,7 @@
|
|||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "Made by contributor {search}",
|
||||
"de": "Erstellt von {search}"
|
||||
"en": "Made by contributor {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -372,8 +360,7 @@
|
|||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "<b>Not</b> made by contributor {search}",
|
||||
"de": "<b>Nicht</b> erstellt von {search}"
|
||||
"en": "<b>Not</b> made by contributor {search}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -388,8 +375,7 @@
|
|||
{
|
||||
"id": "link_to_more",
|
||||
"render": {
|
||||
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>",
|
||||
"de": "Weitere Statistiken finden Sie <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>"
|
||||
"en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"en": "A note is a pin on the map with some text to indicate something wrong.<br/><br/>Make sure to checkout the <a href='#filters'>filter view</a> to search for users and text.",
|
||||
"hu": "A jegyzet egy gombostű a térképen egy szöveggel, amely azt jelzi, hogy valami nem stimmel.<br/><br/>Felhasználók vagy szövegek kereséséhez nézd meg a <a href='#filters'>szűrő nézetet</a>.",
|
||||
"nl": "Een kaartnota bevat tekst op een specifieke locatie om aan te duiden dat er iets mis is of ontbreekt.<br/><br/>Bekijk ook het <a href='#filters'>filtermenu</a> om de notas te filteren op tekst, gebruiker, datum, ...",
|
||||
"de": "Ein Hinweis ist eine Stecknadel auf der Karte mit einer Fehlerbeschreibung.<br/><br/>Über die <a href='#filters'>Filteransicht</a> kann nach Benutzern und Text gesucht werden."
|
||||
"de": "Eine Notiz ist eine Stecknadel auf der Karte mit einer Fehlerbeschreibung.<br/><br/>Über die <a href='#filters'>Filteransicht</a> kann nach Benutzer und Text gesucht werden."
|
||||
},
|
||||
"icon": "./assets/themes/notes/logo.svg",
|
||||
"clustering": false,
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
"ru": "Парковка",
|
||||
"zh_Hant": "停車場",
|
||||
"id": "Tempat parkir",
|
||||
"hu": "Parkolás"
|
||||
"hu": "Parkolás",
|
||||
"fr": "Stationnement"
|
||||
},
|
||||
"shortDescription": {
|
||||
"nl": "Deze kaart toont verschillende parkeerplekken",
|
||||
|
@ -28,7 +29,8 @@
|
|||
"it": "Questa cartina mostra diversi posti dove parcheggiare",
|
||||
"zh_Hant": "這地圖顯示不同的停車空間",
|
||||
"id": "Peta ini menunjukkan tempat parkir yang berbeda",
|
||||
"hu": "Ez a térkép különböző parkolókat jelenít meg"
|
||||
"hu": "Ez a térkép különböző parkolókat jelenít meg",
|
||||
"fr": "Cette carte affiche différents lieux de stationnement"
|
||||
},
|
||||
"maintainer": "",
|
||||
"icon": "./assets/themes/parkings/parkings.svg",
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
"nb_NO": "Trær",
|
||||
"id": "Pohon",
|
||||
"hu": "Fatérkép",
|
||||
"ca": "Arbres"
|
||||
"ca": "Arbres",
|
||||
"es": "Árboles"
|
||||
},
|
||||
"shortDescription": {
|
||||
"nl": "Breng bomen in kaart",
|
||||
|
@ -27,7 +28,8 @@
|
|||
"de": "Kartieren Sie alle Bäume",
|
||||
"nb_NO": "Kartlegg alle trærne",
|
||||
"hu": "Az összes fa feltérképezése",
|
||||
"ca": "Mapeja tots els arbres"
|
||||
"ca": "Mapeja tots els arbres",
|
||||
"es": "Mapa de los Árboles"
|
||||
},
|
||||
"description": {
|
||||
"nl": "Breng bomen in kaart!",
|
||||
|
@ -40,7 +42,8 @@
|
|||
"de": "Kartieren Sie alle Bäume!",
|
||||
"nb_NO": "Kartlegg trærne.",
|
||||
"hu": "Térképezzünk fel minden fát!",
|
||||
"ca": "Mapeja tots els arbres."
|
||||
"ca": "Mapeja tots els arbres.",
|
||||
"es": "Mapa de todos los Árboles"
|
||||
},
|
||||
"maintainer": "Midgard",
|
||||
"icon": "./assets/themes/trees/logo.svg",
|
||||
|
|
593
langs/da.json
Normal file
593
langs/da.json
Normal file
|
@ -0,0 +1,593 @@
|
|||
{
|
||||
"centerMessage": {
|
||||
"loadingData": "Indlæser data…",
|
||||
"ready": "Færdig!",
|
||||
"retrying": "Indlæsning af data fejlede. Prøver igen om {count} sekunder…",
|
||||
"zoomIn": "Zoom ind for at se og redigere data"
|
||||
},
|
||||
"delete": {
|
||||
"cancel": "Afbryd",
|
||||
"cannotBeDeleted": "Dette element kan ikke slettes",
|
||||
"delete": "Slet",
|
||||
"explanations": {
|
||||
"hardDelete": "Dette punkt vil blive slettet på OpenStreetMap. Det kan gendannes af en øvet bidragsyder",
|
||||
"selectReason": "Angiv venligst hvorfor dette element burde slettes",
|
||||
"softDelete": "Dette element vil blive opdateret og skjult for dette program <span class=\"subtle\">{reason}</span>"
|
||||
},
|
||||
"isDeleted": "Dette element er slettet",
|
||||
"isntAPoint": "Kun punkter skal slettes, det valgte element er en vej, et areal eller en relation.",
|
||||
"loading": "Undersøger egenskaber for at finde ud af om dette element kan slettes.",
|
||||
"loginToDelete": "Du skal være logget ind for slette et punkt",
|
||||
"notEnoughExperience": "Punktet blev lavet af en anden.",
|
||||
"onlyEditedByLoggedInUser": "Dette punkt er kun blevet redigeret af dig selv, du kan roligt slette det.",
|
||||
"partOfOthers": "Dette punkt er en del af en vej eller relation og kan ikke direkte slettes.",
|
||||
"readMessages": "Du har ulæste beskeder. Læs dem for du slette et punkt - nogen kan have tilbagemeldinger",
|
||||
"reasons": {
|
||||
"disused": "Dette element er nedlagt eller fjernet",
|
||||
"duplicate": "Dette punkt er en dublet af et andet element",
|
||||
"notFound": "Dette element kunne ikke findes",
|
||||
"test": "Dette var et prøvepunkt - elementet var der aldrig rigtigt"
|
||||
},
|
||||
"safeDelete": "Dette punkt kan slettes uden risiko.",
|
||||
"useSomethingElse": "Brug i stedet en anden OpenStreetMap editor til at slette det",
|
||||
"whyDelete": "Hvorfor skal dette punkt slettes?"
|
||||
},
|
||||
"favourite": {
|
||||
"loginNeeded": "<h3>Log ind</h3>En personlig opsætning er kun til rådighed for OpenStreetMap-brugere",
|
||||
"panelIntro": "<h3>Dit personlige tema</h3>Aktiver dit favoritlag fra et af alle de officelle temaer",
|
||||
"reload": "Genindlæs data"
|
||||
},
|
||||
"general": {
|
||||
"about": "Ret og tilføj nemt til Openstreetmap for et bestemt tema",
|
||||
"aboutMapcomplete": "<h3>Om MapComplete</h3><p>Brug det til at tilføje OpenStreetMap information om et <b>bestemt tema.</b> Besvar spørgsmål, og i løbet af få minutter er dine bidrag tilgængelige overalt. <b>temabestyreren</b> definerer elementer, spørgsmål og sprog for temaet.</p><h3>Find ud af mere</h3><p>MapComplete <b>tilbyder altid det næste trin</b> for at lære mere om OpenStreetMap.</p><ul><li>Når det er indlejret på et websted, linker iframe-en til et fuldskærms MapComplete</li><li>Fuldskærmsversionen tilbyder information om OpenStreetMap</li><li>Man kan se det uden at logge ind, men redigering kræver en OSM-konto.</li><li>Hvis du ikke har logget ind, vil du blive bedt om at gøre det</li><li>Når du har besvaret et enkelt spørgsmål, kan du tilføje nye punkter til kortet</li><li>Efter et stykke tid bliver faktiske OSM-tags vist, senere igen links til wiki-en</li></ul><p></p><br><p>Bemærkede du <b>et problem</b>? Har du en<b>anmodning om en ny funktion</b>? Vil du <b>hjælpe med at oversætte</b>? Gå til <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">kildekoden</a> eller <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">issue trackeren.</a> </p><p> Vil du se <b>dit fremskridt</b>? Følg antallet af rettelser på <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>",
|
||||
"add": {
|
||||
"addNew": "Tilføj {category}",
|
||||
"addNewMapLabel": "Klik her for at tilføje et nyt punkt",
|
||||
"confirmButton": "Tilføj en {category}<br><div class=\"alert\">Din tilføjelse er synlig for alle</div>",
|
||||
"confirmIntro": "<h3>Tilføj en {title}?</h3>Punktet du opretter her vil være <b>synligt for alle</b>. Tilføj kun ting til kortet, hvis de virkelig findes. Mange programmer bruger disse data.",
|
||||
"disableFilters": "Slå alle filtre fra",
|
||||
"disableFiltersExplanation": "Nogle elementer kan være skjult af et filter",
|
||||
"hasBeenImported": "Punktet er allerede importeret",
|
||||
"import": {
|
||||
"hasBeenImported": "Objektet blev importeret",
|
||||
"howToTest": "For at afprøve, tilføj <b>test=true</b> eller <b>backend=osm-test</b> til URL-en. Ændringssættet vil blive udskrevet på konsollen. Opret venligst en PR for at publicere dette tema og dermed aktivere importknappen.",
|
||||
"importTags": "Dette element vil modtage {tags}",
|
||||
"officialThemesOnly": "Importknappen er slået fra for uofficielle temaer for at undgå uheld",
|
||||
"wrongType": "Dette element er ikke et punkt eller en vej og kan ikke importeres",
|
||||
"zoomInMore": "Zoom mere ind for at importere dette element"
|
||||
},
|
||||
"importTags": "Dette element modtager {tags}",
|
||||
"intro": "Du klikkede et sted, hvor der endnu ikke er kendt data.<br>",
|
||||
"layerNotEnabled": "Laget {layer} er ikke slået til. Slå laget til for at tilføje et punkt",
|
||||
"openLayerControl": "Åben kontrolboksen for lag",
|
||||
"pleaseLogin": "Log venligst ind for at tilføje et nyt punkt",
|
||||
"presetInfo": "Det nye POI vil have {tags}",
|
||||
"stillLoading": "Data indlæses stadig. Vent venligt lidt for du tilføjet et nyt punkt.",
|
||||
"title": "Tilføj et nyt punkt?",
|
||||
"warnVisibleForEveryone": "Til tilføjelse vil være synlig for alle",
|
||||
"wrongType": "Dette element er ikke et punkt eller en vej og kan ikke importeres",
|
||||
"zoomInFurther": "Zoom mere ind fore at tilføje et punkt.",
|
||||
"zoomInMore": "Zoom mere ind for at importere dette element"
|
||||
},
|
||||
"apply_button": {
|
||||
"appliedOnAnotherObject": "Objektet {id} modtager {tags}",
|
||||
"isApplied": "Ændringerne er anvendt"
|
||||
},
|
||||
"attribution": {
|
||||
"attributionContent": "<p>Alle data leveres af <a href=\"https://osm.org\" target=\"_blank\">OpenStreetMap</a>, frit genanvendelige under <a href=\"https://osm.org/copyright\" target=\"_blank\">Open DataBase Licensen</a>.</p>",
|
||||
"attributionTitle": "Meddelelse om tilskrivning",
|
||||
"codeContributionsBy": "MapComplete er lavet af {contributors} og <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} flere bidragsydere</a>",
|
||||
"donate": "Støt MapComplete økonomisk",
|
||||
"editId": "Åben OpenStreetMap onlineeditoren her",
|
||||
"editJosm": "Rediger her med JOSM",
|
||||
"iconAttribution": {
|
||||
"title": "Brugte ikoner"
|
||||
},
|
||||
"josmNotOpened": "Kunne ikke komme i kontakt med JOSM. Sørg for at den er åbnet og at fjernbetjening er slået til",
|
||||
"josmOpened": "JOSM er åbnet",
|
||||
"mapContributionsBy": "Aktult synligt data har rettelser lavet af {contributors}",
|
||||
"mapContributionsByAndHidden": "De aktuelt synlige rettelser er lavet af {contributors} og {hiddenCount} flere bidragsydere",
|
||||
"openIssueTracker": "Rapporter en fejl",
|
||||
"openMapillary": "Åbn Mapillary her",
|
||||
"openOsmcha": "De de seneste rettelser lavet med {theme}",
|
||||
"themeBy": "Tema vedligeholdt af {author}",
|
||||
"translatedBy": "MapComplete er oversat af {contributors} og <a href=\"https://github.com/pietervdvn/MapComplete/graphs/contributors\" target=\"_blank\">{hiddenCount} flere bidragsydere</a>"
|
||||
},
|
||||
"back": "Tilbage",
|
||||
"backToMapcomplete": "Tilbage til temaoversigten",
|
||||
"backgroundMap": "Baggrundskort",
|
||||
"cancel": "Afbryd",
|
||||
"confirm": "Bekræft",
|
||||
"customThemeIntro": "<h3>Brugergeneredede temaer</h3>Disse er tidligere sete bruger-genererede temaer.",
|
||||
"download": {
|
||||
"downloadAsPdf": "Hent en PDF med det aktuelle kort",
|
||||
"downloadAsPdfHelper": "Ideelt til at udskrive det aktuelle kort",
|
||||
"downloadAsSvg": "Hent en SVG med det aktuelle kort",
|
||||
"downloadCSV": "Hent synligt data som CSV",
|
||||
"downloadCSVHelper": "Kompatibel med LibreOffice Calc, Excel, …",
|
||||
"downloadFeatureAsGeojson": "Hent som GeoJson fil",
|
||||
"downloadFeatureAsGpx": "Hent som GPX fil",
|
||||
"downloadGeoJsonHelper": "Kompatibel med QGIS, ArcGIS, ESRI, …",
|
||||
"downloadGeojson": "Hent synlig data som GeoJSON",
|
||||
"downloadGpx": "Hent som GPX fil",
|
||||
"downloadGpxHelper": "En GPX-fil kan bruges med de fleste navigationsenheder og programmer",
|
||||
"exporting": "Eksporterer…",
|
||||
"includeMetaData": "Inkluder metadata (sidste editor, beregnede værdier, ...)",
|
||||
"licenseInfo": "<h3>Ophavsretsmeddelelse</h3>De leverede data er tilgængelige under ODbL. Genbrug til alle formål er gratis, men <ul><li>tilskrivningen <b>© OpenStreetMap contributors</b> kræves</li><li>Enhver ændring skal bruge licensen</li></ul> Læs venligst hele <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\">ophavsretsmeddelelsen</a> for detaljer.",
|
||||
"noDataLoaded": "Der er endnu ikke indlæst noget data. Nedhentning vil snart være tilgængelig",
|
||||
"title": "Hent synligt data",
|
||||
"uploadGpx": "Upload dit spor til OpenStreetMap"
|
||||
},
|
||||
"error": "Noget gik galt",
|
||||
"example": "Eksempel",
|
||||
"examples": "Eksempler",
|
||||
"fewChangesBefore": "Besvar venligst nogle få spørgsmål om eksisterende punkter før du tilføjer et nyt punkt.",
|
||||
"getStartedLogin": "Log in med OpenStreetMap for at komme i gang",
|
||||
"getStartedNewAccount": " eller <a href=\"https://www.openstreetmap.org/user/new\" target=\"_blank\">lav en ny konto</a>",
|
||||
"goToInbox": "Åbn indboks",
|
||||
"histogram": {
|
||||
"error_loading": "Kunne ikke indlæse histogrammet"
|
||||
},
|
||||
"layerSelection": {
|
||||
"title": "Vælg lag",
|
||||
"zoomInToSeeThisLayer": "Zoom ind for at se dette lag"
|
||||
},
|
||||
"loading": "Indlæser...",
|
||||
"loadingTheme": "Indlæser {theme}...",
|
||||
"loginFailed": "Det mislykkedes at logge ind på OpenStreetMap",
|
||||
"loginOnlyNeededToEdit": "hvis du vil redigere kortet",
|
||||
"loginToStart": "Log ind for at besvare dette spørgsmål",
|
||||
"loginWithOpenStreetMap": "Logind med OpenStreetMap",
|
||||
"logout": "Log ud",
|
||||
"morescreen": {
|
||||
"createYourOwnTheme": "Lave dit eget MapComplete tema fra bunden af",
|
||||
"hiddenExplanation": "Disse temaer er kun tilgængelige med linket. Du har opdaget {hidden_discovered} af {total_hidden} skjulte temaer.",
|
||||
"intro": "<h3>Flere tematiske kort?</h3>Nød du at indsamle geodata? <br>Der er flere temaer til rådighed.",
|
||||
"previouslyHiddenTitle": "Tidligere besøgte skjulte temaer",
|
||||
"requestATheme": "Hvis de efterspørger et specialfremstillet tema, så bed om det i issue tracker-en",
|
||||
"streetcomplete": "En anden lignende applikation er <a class=\"underline hover:text-blue-800\" href=\"https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete\" target=\"_blank\">StreetComplete</a>."
|
||||
},
|
||||
"nameInlineQuestion": "{category} hedder $$$",
|
||||
"next": "Næste",
|
||||
"noNameCategory": "{category} uden navn",
|
||||
"noTagsSelected": "Ingen tags valgt",
|
||||
"notValid": "Vælg en gyldig værdi for at gå videre",
|
||||
"number": "tal",
|
||||
"oneSkippedQuestion": "Et spørgsmål er ignoreret",
|
||||
"openStreetMapIntro": "<h3>At Åbent kort</h3><p>Et som alle kan bruge og redigere frit. Eet sted at gemme al geo-information. Forskellige, små, inkompatible og forældede kort er der ikke brug for nogen steder.</p><p><b><a href=\"https://OpenStreetMap.org\" target=\"_blank\">OpenStreetMap</a></b> er ikke fjendens kort. Kortet kan bruges frit (med <a href=\"https://osm.org/copyright\" target=\"_blank\">kreditering og publicering af ændringer af data</a>). Alle kan tilføje mere data og rette fejl. Denne website bruger OpenStreetMap. Al data kommer derfra, og dine svar og rettelser vil blive bruge alle vegne.</p><p>Mange folk og apps bruger allerede OpenStreetMap: <a href=\"https://organicmaps.app/\" target=\"_blank\">Organic Maps</a>, <a href=\"https://osmAnd.net\" target=\"_blank\">OsmAnd</a>, men også kortene på Facebook, Instagram, Apple-maps and Bing-maps er (delvist) drevet af OpenStreetMap.</p>",
|
||||
"openTheMap": "Åbn kortet",
|
||||
"opening_hours": {
|
||||
"closed_permanently": "Lukket med en ukendt varighed",
|
||||
"closed_until": "Lukket indtil {date}",
|
||||
"error_loading": "Fejl: Kunne ikke visualisere disse åbningstider.",
|
||||
"loadingCountry": "Bestemmer land…",
|
||||
"not_all_rules_parsed": "Disse åbningstider er komplicerede. De følgende regler er ignoreret i inputelementet:",
|
||||
"openTill": "indtil",
|
||||
"open_24_7": "døgnåbent",
|
||||
"open_during_ph": "På offentlige helligdage, er dette",
|
||||
"opensAt": "fra",
|
||||
"ph_closed": "lukket",
|
||||
"ph_not_known": " ",
|
||||
"ph_open": "åbent",
|
||||
"ph_open_as_usual": "åbent som sædvanligt"
|
||||
},
|
||||
"osmLinkTooltip": "Læs dette objekt i en browser på OpenStreetMap for historik og flere rettemuligheder",
|
||||
"pdf": {
|
||||
"attr": "Kortdata © OpenStreetMap Contributors, bearbejdelser under ODbL",
|
||||
"attrBackground": "Baggrundslag: {background}",
|
||||
"generatedWith": "Genereret med MapComplete.osm.be",
|
||||
"versionInfo": "v{version} - genereret den {date}"
|
||||
},
|
||||
"pickLanguage": "Vælg et sprog: ",
|
||||
"poweredByOsm": "Drevet af OpenStreetMap",
|
||||
"questions": {
|
||||
"emailIs": "Emailadressen på denne {category} er <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Hvad er emailadressen på {category}?",
|
||||
"phoneNumberIs": "Telefonnummeret på denne/dette {category} er <a target=\"_blank\">{phone}</a>",
|
||||
"phoneNumberOf": "Hvad er telefonnummeret for {category}?",
|
||||
"websiteIs": "Hjemmeside: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Hvad er hjemmesiden for {category}?"
|
||||
},
|
||||
"readYourMessages": "Læs venligst alle dine OpenStreetMap beskeder før du tilføjer et nyt punkt.",
|
||||
"removeLocationHistory": "Slet placeringshistorikken",
|
||||
"returnToTheMap": "Vend tilbage til kortet",
|
||||
"save": "Gem",
|
||||
"screenToSmall": "Åbn {theme} i et nyt vindue",
|
||||
"search": {
|
||||
"error": "Noget gik galt…",
|
||||
"nothing": "Intet fundet…",
|
||||
"search": "Vælg en sted",
|
||||
"searching": "Søger…"
|
||||
},
|
||||
"sharescreen": {
|
||||
"addToHomeScreen": "<h3>Tilføj til din hjemmeskærm</h3>Du kan let tilføje denne hjemmeside til din smartphones hjemmeskærm for at få den integreret. Klik på 'Tilføj til hjemmeskærm' knappen i URL-feltet for at gøre det.",
|
||||
"copiedToClipboard": "Link kopierer til udklipsholder",
|
||||
"editThemeDescription": "Tilføj eller ret spørgsmål til dette korttema",
|
||||
"editThisTheme": "Ret dette tema",
|
||||
"embedIntro": "<h3>Indlejr på din hjemmeside</h3>Indlejr venligst dette kort på din hjemmeside. <br>Vi tilskynder dig til det - du behøver ikke engang at spørge om tilladelse. <br> Det det frit og gratis og vil altid være det. Jo flere der bruger det, jo mere værdifuldt bliver det.",
|
||||
"fsAddNew": "Slå 'tilføj nyt POI' knappen til",
|
||||
"fsGeolocation": "Slå 'geolocate-me' knappen til (kun mobil)",
|
||||
"fsIncludeCurrentBackgroundMap": "Inkluder det aktuelle baggrundsvalg <b>{name}</b>",
|
||||
"fsIncludeCurrentLayers": "Inkluder det aktuelle valg af lag",
|
||||
"fsIncludeCurrentLocation": "Inkludere det aktuelle sted",
|
||||
"fsLayerControlToggle": "Start med lagkontrollen udvidet",
|
||||
"fsLayers": "Slå lagkontrollen til",
|
||||
"fsSearch": "Slå søgefeltet til",
|
||||
"fsUserbadge": "Slå loginknappen til",
|
||||
"fsWelcomeMessage": "Vis velkomstbeskeden og tilknyttede faner",
|
||||
"intro": "<h3>Del dette kort</h3>Del dette kort ved at kopiere linket nedenunder og send det til venner og familie:",
|
||||
"thanksForSharing": "Tak for at dele!"
|
||||
},
|
||||
"skip": "Spring over dette spørgsmål",
|
||||
"skippedQuestions": "Nogle spørgsmål er sprunget over",
|
||||
"testing": "Testing - ingen ændringer vil blive gemt",
|
||||
"weekdays": {
|
||||
"abbreviations": {
|
||||
"friday": "Fre",
|
||||
"monday": "Man",
|
||||
"saturday": "Lør",
|
||||
"sunday": "Søn",
|
||||
"thursday": "Tor",
|
||||
"tuesday": "Tir",
|
||||
"wednesday": "Ons"
|
||||
},
|
||||
"friday": "Fredag",
|
||||
"monday": "Mandag",
|
||||
"saturday": "Lørdag",
|
||||
"sunday": "Søndag",
|
||||
"thursday": "Torsdag",
|
||||
"tuesday": "Tirsdag",
|
||||
"wednesday": "Onsdag"
|
||||
},
|
||||
"welcomeBack": "Du er logget ind, velkommen tilbage!",
|
||||
"wikipedia": {
|
||||
"createNewWikidata": "Opret et nyt Wikidata element",
|
||||
"doSearch": "Søg ovenfor for at se resultater",
|
||||
"failed": "Indlæsning af Wikipedia-artikel mislykkedes",
|
||||
"loading": "Indlæser Wikipedia...",
|
||||
"noResults": "Intet fundet for <i>{search}</i>",
|
||||
"noWikipediaPage": "Dette Wikidata-element har endnu ingen tilknyttet Wikipedia artikel.",
|
||||
"previewbox": {
|
||||
"born": "Født: {value}",
|
||||
"died": "Død: {value}"
|
||||
},
|
||||
"searchWikidata": "Søg på Wikidata",
|
||||
"wikipediaboxTitle": "Wikipedia"
|
||||
}
|
||||
},
|
||||
"image": {
|
||||
"addPicture": "Tilføj Billede",
|
||||
"ccb": "under CC-BY-licensen",
|
||||
"ccbExplanation": "The CC-BY licensen siger, at alle kan bruge dit billede til ethvert formål, men at de skal kreditere dig",
|
||||
"ccbs": "under CC-BY-SA-licensen",
|
||||
"ccbsExplanation": "CC-BY-SA licensen siger, at alle kan bruge dit billede til ethvert formål, men at de skal kreditere dig og at bearbejdelser af billedet skal offentliggøres under samme licens",
|
||||
"cco": "i offentligt domæne",
|
||||
"ccoExplanation": "At tilføje et billede til det offentlig domæne betyder, at alle kan gøre hvad som helst med dit billede",
|
||||
"doDelete": "Fjern billede",
|
||||
"dontDelete": "Afbryd",
|
||||
"isDeleted": "Slettet",
|
||||
"pleaseLogin": "Log venligst ind for at tilføje et billede",
|
||||
"respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
|
||||
"toBig": "Dit billede er for stort da det er {actual_size}. Brug venligst billeder, der er højst {max_size}",
|
||||
"uploadDone": "Dit billede er tilføjet. Tak for hjælpen!",
|
||||
"uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem.",
|
||||
"uploadMultipleDone": "{count} billeder tilføjet. Tak for at hjælpe til!",
|
||||
"uploadingMultiple": "Uploader {count} billeder…",
|
||||
"uploadingPicture": "Uploading dit billede…",
|
||||
"willBePublished": "Dit billede vil blive offentliggjort "
|
||||
},
|
||||
"importHelper": {
|
||||
"askMetadata": {
|
||||
"downloadGeojson": "Hent geojson",
|
||||
"giveDescription": "Skriv venligst en lille beskrivelse til nogen, som ser beskeden. A god besked beskriver hvad bidragsyderen skal gøre, fx; <i>Der kunne være en bænk her. Hvis du er i nærheden, kunne du venligst checke og indikere om bænken findes eller ej?</i> (Et link til MapComplete vil automatisk blive tilføjet)",
|
||||
"giveSource": "Hvad er kilden til disse data. Hvis 'source' er sat på elementen, vil denne værdi blive ignoreret",
|
||||
"giveWikilink": "På hvilken wikiside kan man finde mere information om denne import?",
|
||||
"intro": "Angiv venligst noget mere information før du tilføjer {count} noter.",
|
||||
"orDownload": "Alternativt kan du hente datasættet og importere det direkte",
|
||||
"shouldBeOsmWikilink": "Forventede et link til en side på wiki.openstreetmap.org",
|
||||
"shouldBeUrl": "Ikke en gyldig URL",
|
||||
"shouldNotBeHomepage": "Nej, hjemmesiden er heller ikke tilladt. Indtast URL'en for en rigtig wikipage, der dokumenterer din import",
|
||||
"title": "Sæt metadata"
|
||||
},
|
||||
"compareToAlreadyExistingNotes": {
|
||||
"completelyImported": "Alle de foreslåede punkter har (eller havde) allerede en importnote",
|
||||
"loading": "Henter noter fra OSM",
|
||||
"loadingFailed": "Det mislykkedes at indlæse noter fordi {error}",
|
||||
"mapExplanation": "De røde elementer på det næste kort er alle datapunkter fra dit datasæt. Der er <b>{length}</b> elementer i dit dataset.",
|
||||
"noPreviousNotesFound": "Ingen tidligere importnoter fundet",
|
||||
"nothingNearby": "Ingen af de foreslåede punkter har en importnote i nærheden",
|
||||
"someNearby": "{hasNearby} punkter har allerede en eksisterende importnote indenfor {distance} meter",
|
||||
"title": "Sammenlig med eksisterende noter",
|
||||
"titleLong": "Sammenlign med allerede eksisterende 'til-import'-noter",
|
||||
"wontBeImported": "Disse datapunkter vil <i>ikke</i> blive importeret og er vist som røde prikker på kortet nedenunder"
|
||||
},
|
||||
"confirmProcess": {
|
||||
"contactedCommunity": "Jeg kontaktede (det lokale) fællesskab(et) angående denne import",
|
||||
"licenseIsCompatible": "Licensen for data, der skal importeres, tillader at det importeres til OSM. OSM har lov til at videredistribuere det kommercielt, med kun minimal kreditering",
|
||||
"readImportGuidelines": "Jeg har læst importeringsvejledningerne på OSM wiki'en",
|
||||
"title": "Licens og fællesskab",
|
||||
"titleLong": "Har du gennemgået importprocessen?",
|
||||
"wikipageIsMade": "Processen er dokumenteret på OSM-wikien (du får senere brug for dette link)"
|
||||
},
|
||||
"conflationChecker": {
|
||||
"cacheExpired": "Cachen udløb",
|
||||
"downloadOverpassData": "Hent den indlæste geojson fra overpass",
|
||||
"importCandidatesCount": "De {count} røde elementer på det følgende kort er alle dine importkandidater.",
|
||||
"loadedDataAge": "Det indlæste data er fra cachen og er {age} gammelt",
|
||||
"mapShowingNearbyIntro": "Det følgende kort viser elementer til import, som indeholder et OSM-element ",
|
||||
"nearbyWarn": "De {count} røde elementer på det følgende kort vil <b>ikke</b> blive importeret!",
|
||||
"nothingLoaded": "Ingen elementer er indlæst fra OpenStreetMap som matcher det aktuelle lag {name}",
|
||||
"osmLoaded": "{count} elementer indlæst fra OpenStreetMap matcher laget <b>{name}</b>.",
|
||||
"setRangeToZero": "Sæt rækkevidden til 0 eller 1 hvis du vil importere dem alle",
|
||||
"states": {
|
||||
"error": "Kunne ikke indlæse seneste data fra overpass pga {error}",
|
||||
"idle": "Undersøger lokalt lager...",
|
||||
"running": "Forespørger overpass...",
|
||||
"unexpected": "Uventet tilstand {state}"
|
||||
},
|
||||
"title": "Sammenlign med eksisterende data",
|
||||
"titleLive": "Live data på OSM",
|
||||
"titleNearby": "Elementer i nærheden",
|
||||
"zoomIn": "Live data bliver vist på zoomniveau mindst {needed}. Det aktuelle zoomniveau er {current}"
|
||||
},
|
||||
"createNotes": {
|
||||
"creating": "Oprettede <b>{count}</b> noter ud af {total}",
|
||||
"done": "Alle {count} noter er oprettet!",
|
||||
"loading": "Vent mens vi indlæser...",
|
||||
"openImportViewer": "Inspicerer fremgangen af dine noter i 'import_viewer'",
|
||||
"title": "Noteoprettelse"
|
||||
},
|
||||
"gotoImportViewer": "Inspicer dine tidligere importeringer",
|
||||
"introduction": {
|
||||
"description": "Importeringshjælperen konverterer et eksterns datasæt til noter. Det eksterne datasæt skal matche et af de eksisterende MapComplete lag. For hvert ting, du putter i importeringshjælperen, vil en enkelt note blive oprettet. Disse noter vises sammen med de relevante elementer i disse kort, så de nemt kan tilføjes.",
|
||||
"importFormat": "En tekst i en note skulle have det følgende format for blive taget med",
|
||||
"title": "Introduktion"
|
||||
},
|
||||
"login": {
|
||||
"lockNotice": "Denne side er låst. Du skal have {importHelperUnlock}ændringssæt før du får adgang her.",
|
||||
"loggedInWith": "De er nu logget ind som <b>{name}</b> og har lavet {csCount} ændringssæt",
|
||||
"loginIsCorrect": "<b>{name}</b> er den rigtige konto til at lave importnoter med.",
|
||||
"loginRequired": "Du skal være logget ind for at gå videre",
|
||||
"title": "Log ind",
|
||||
"userAccountTitle": "Vælg en brugerkonto"
|
||||
},
|
||||
"mapPreview": {
|
||||
"confirm": "Elementerne er det rigtige sted på kortet",
|
||||
"mismatch": "{count} elementer matchede ikke det valgte lag. Sørg for at mærkerne, der indikerer typen er der, nemlig {tags}",
|
||||
"selectLayer": "Hvilket lag passer denne importering med?",
|
||||
"title": "Forhåndsvisning af kort"
|
||||
},
|
||||
"noteParts": {
|
||||
"datasource": "Originalt data fra {source}",
|
||||
"importEasily": "Tilføj nemt dette punkt med MapComplete:",
|
||||
"wikilink": "Mere information om denne importering kan findes på {wikilink}"
|
||||
},
|
||||
"previewAttributes": {
|
||||
"allAttributesSame": "Alle elementer til importering har dette mærke",
|
||||
"inspectDataTitle": "Inspicer data for {count} elementer til importering",
|
||||
"inspectLooksCorrect": "Disse værdier ser korrekte ud",
|
||||
"someHaveSame": "{count} elementer til importering har dette mærke, det er {percentage}% af totalen",
|
||||
"title": "Inspicer attributter"
|
||||
},
|
||||
"selectFile": {
|
||||
"description": "Vælg en .csv eller .geojson fil for at komme i gang",
|
||||
"errDuplicate": "Flere kolonner har det samme navn",
|
||||
"errNoLatOrLon": "Headeren indeholder ikke `lat` eller `lon`",
|
||||
"errNoName": "Nogle kolonner har ikke et navn",
|
||||
"errNotFeatureCollection": "Den indlæste JSON fil er ikke en geojson-featurecollection",
|
||||
"errPointsOnly": "Den indlæste JSON-fil skal kun indeholde punkter",
|
||||
"fileFormatDescription": "Vælg en <b class=\"code\">.csv</b> eller en <b class=\"code\">.geojson</b> fil",
|
||||
"noFilesLoaded": "Ingen fil er indlæst",
|
||||
"title": "Vælg fil"
|
||||
},
|
||||
"selectTheme": {
|
||||
"displayNonMatchingCount": "{length} objekter passer ikke med nogen forudindstillinger",
|
||||
"missing": "Forventede $k}={v}, men det mangler helt",
|
||||
"needsTags": "{title} skal have mærker {tags}",
|
||||
"notApplicable": "Forudindstillet {title} kan ikke anvendes:",
|
||||
"title": "Vælg et tema"
|
||||
},
|
||||
"testMode": "Testmodus - vil ikke faktisk importere noter",
|
||||
"title": "Importeringshjælper"
|
||||
},
|
||||
"importInspector": {
|
||||
"title": "Undersøg og håndter noter"
|
||||
},
|
||||
"importLayer": {
|
||||
"alreadyMapped": "Der er allerede en anden {title} på kortet - dette punkt er en dublet",
|
||||
"description": "Et lag som importerer poster for {title}",
|
||||
"layerName": "Mulig {title}",
|
||||
"notFound": "Jeg kunne ikke finde {title} - fjern det",
|
||||
"popupTitle": "Mulig {title}"
|
||||
},
|
||||
"index": {
|
||||
"featuredThemeTitle": "Fremhævet denne uge",
|
||||
"pickTheme": "Vælg et tema nedenfor for at komme i gang.",
|
||||
"title": "Velkommen til MapComplete"
|
||||
},
|
||||
"move": {
|
||||
"cancel": "Afbryd flytning",
|
||||
"cannotBeMoved": "Dette element kan ikke flyttes.",
|
||||
"confirmMove": "Flyt her",
|
||||
"inviteToMove": {
|
||||
"generic": "Flyt dette punkt",
|
||||
"reasonInaccurate": "Forbedr nøjagtigheden for dette punkt"
|
||||
},
|
||||
"inviteToMoveAgain": "Flyt dette punkt igen",
|
||||
"loginToMove": "Du skal være logget ind for at flytte et punkt",
|
||||
"moveTitle": "Flyt dette punkt",
|
||||
"pointIsMoved": "Dette punkt er blevet flyttet",
|
||||
"selectReason": "Hvorfor flytter du dette objekt?",
|
||||
"whyMove": "Hvorfor vil du flytte dette punkt?",
|
||||
"zoomInFurther": "Zoom mere ind for bekræfte denne flytning"
|
||||
},
|
||||
"notes": {
|
||||
"addAComment": "Tilføj en kommentar",
|
||||
"addComment": "Tilføj kommentar",
|
||||
"addCommentAndClose": "Tilføj kommentar og luk",
|
||||
"addCommentPlaceholder": "Tilføj en kommentar...",
|
||||
"anonymous": "Anonym bruger",
|
||||
"closeNote": "Luk note",
|
||||
"createNote": "Lav en ny note",
|
||||
"createNoteTitle": "Opret en ny note her",
|
||||
"disableAllNoteFilters": "Slå alle filtre fra",
|
||||
"isClosed": "Denne note er løst",
|
||||
"isCreated": "Din note er oprettet!",
|
||||
"loginToAddComment": "Log ind for at tilføje en kommentar",
|
||||
"loginToAddPicture": "Log ind for tilføje et billede",
|
||||
"loginToClose": "Log ind for at lukke denne note",
|
||||
"noteIsPublic": "Dette vil kunne ses af alle",
|
||||
"noteLayerDoEnable": "Slå laget, der viser noter, til",
|
||||
"noteLayerHasFilters": "Nogle noter kan være skjult af et filter",
|
||||
"reopenNote": "Genåbn note",
|
||||
"reopenNoteAndComment": "Genåbn note og kommenter",
|
||||
"textNeeded": "Indtast en beskrivende tekst for at oprette en note",
|
||||
"typeText": "Indtast noget tekst for at tilføje en kommentar"
|
||||
},
|
||||
"privacy": {
|
||||
"geodataTitle": "Din placering",
|
||||
"miscCookiesTitle": "Andre cookies",
|
||||
"title": "Privatlivspolitik",
|
||||
"trackingTitle": "Statistisk data",
|
||||
"whileYoureHere": "Sætter du pris på privatliv?"
|
||||
},
|
||||
"professional": {
|
||||
"aboutMc": {
|
||||
"internalUse": {
|
||||
"title": "Brug af data i interne processer"
|
||||
},
|
||||
"layers": {
|
||||
"title": "Hvilke data kan blive vist med MapComplete?"
|
||||
},
|
||||
"survey": {
|
||||
"title": "Kortlægningsmuligheder"
|
||||
},
|
||||
"title": "Brug MapComplete i din organisation"
|
||||
},
|
||||
"aboutOsm": {
|
||||
"aboutOsm": {
|
||||
"li3": "og meget, meget mere…",
|
||||
"title": "Hvad er OpenStreetMap?"
|
||||
},
|
||||
"benefits": {
|
||||
"title": "Fordele ved OSM økosystemet"
|
||||
},
|
||||
"license": {
|
||||
"li0": "Et produkt, der bruger OpenStreetMap data, skal kreditere.",
|
||||
"outro": "Licensen har nogle få konsekvenser - Disse er forklaret nedenfor.",
|
||||
"title": "Licensen"
|
||||
},
|
||||
"vandalism": {
|
||||
"intro": "Eftersom alle kan redigere data, er det faktisk muligt, at der forekommer en ondsindet ændring. Det er imidlertid ekstremt sjælden af nogle få årsager:",
|
||||
"li0": "den tekniske barriere for at foretage ændringer er høj",
|
||||
"li4": "I Belgien (og visse andre lande), bliver den første ændring af ny bidragsyder systematisk checket og hvis nødvendigt, rettet.",
|
||||
"title": "Hvad med vandalisme?"
|
||||
}
|
||||
},
|
||||
"drawbacks": {
|
||||
"licenseNuances": {
|
||||
"li0": "Al data kan bruges til ethvert formål - deriblandt kommercielle formål",
|
||||
"title": "Konsekvenser af ODbL: nogle use cases",
|
||||
"usecaseGatheringOpenData": {
|
||||
"title": "Indsamle åben data"
|
||||
},
|
||||
"usecaseMapDifferentSources": {
|
||||
"li1": "...hvorimod alle-rettigheder-forbeholdes licenserne ville forbyde dette.",
|
||||
"title": "Dannelse af kort fra forskellige kilder"
|
||||
}
|
||||
},
|
||||
"title": "Nogle få ulemper at holde sig for øje",
|
||||
"unsuitedData": {
|
||||
"title": "Data uegnet for OpenStreetMap"
|
||||
}
|
||||
},
|
||||
"indexPage": {
|
||||
"button": "Opdag vore tjenester",
|
||||
"hook": "Brug for professionel støtte?"
|
||||
},
|
||||
"services": {
|
||||
"intro": "Udviklerne af MapComplete kan hjælpe dig med følgende tjenester:",
|
||||
"li0": "Opsætning af et tema skræddersyet efter dine behov",
|
||||
"li1": "Hjælp med opsætning af internt data flow til integration med OpenStreetMap",
|
||||
"title": "MapComplete tjenester"
|
||||
},
|
||||
"title": "Professionel støtte med MapComplete"
|
||||
},
|
||||
"reviews": {
|
||||
"affiliated_reviewer_warning": "(Tilknyttet anmeldelse)",
|
||||
"no_rating": "Ingen vurdering givet",
|
||||
"plz_login": "Log ind for at give en anmeldelse",
|
||||
"posting_as": "Anmelder som",
|
||||
"saved": "<span class=\"thanks\">Anmeldelse gemt. Tak for at bidrage!</span>",
|
||||
"saving_review": "Gemmer…",
|
||||
"title": "{count} Anmeldelser",
|
||||
"title_singular": "En anmeldelse",
|
||||
"write_a_comment": "Skriv en anmeldelse…"
|
||||
},
|
||||
"split": {
|
||||
"cancel": "Afbryd",
|
||||
"hasBeenSplit": "Denne vej er blevet opdelt",
|
||||
"split": "Opdel"
|
||||
},
|
||||
"translations": {
|
||||
"activateButton": "Hjælp med at oversætte MapComplete",
|
||||
"deactivate": "Slå oversættelsesknapper fra",
|
||||
"missing": "{count} uoversatte strenge"
|
||||
},
|
||||
"validation": {
|
||||
"color": {
|
||||
"description": "En farve eller hex-kode"
|
||||
},
|
||||
"date": {
|
||||
"description": "En dato, der starter med årstallet"
|
||||
},
|
||||
"decimal": {
|
||||
"description": "Et tal"
|
||||
},
|
||||
"email": {
|
||||
"description": "email-adresse",
|
||||
"feedback": "Dette er ikke en gyldig emailadresse",
|
||||
"noAt": "En emailadresse skulle indeholde et @"
|
||||
},
|
||||
"float": {
|
||||
"description": "et tal",
|
||||
"feedback": "Dette er ikke et tal"
|
||||
},
|
||||
"int": {
|
||||
"description": "et heltal"
|
||||
},
|
||||
"nat": {
|
||||
"description": "et positivt heltal eller nul",
|
||||
"mustBePositive": "Dette tal skal være positivt",
|
||||
"mustBeWhole": "Kun heltal er tilladt",
|
||||
"notANumber": "Indtast et tal"
|
||||
},
|
||||
"opening_hours": {
|
||||
"description": "Åbningstider"
|
||||
},
|
||||
"pfloat": {
|
||||
"description": "et positivt heltal"
|
||||
},
|
||||
"phone": {
|
||||
"description": "et telefonnummer",
|
||||
"feedback": "Dette er ikke et gyldigt telefonnummer"
|
||||
},
|
||||
"pnat": {
|
||||
"description": "et positivt heltal",
|
||||
"noZero": "Nul er ikke tilladt"
|
||||
},
|
||||
"string": {
|
||||
"description": "et stykke tekst"
|
||||
},
|
||||
"text": {
|
||||
"description": "et stykke tekst"
|
||||
},
|
||||
"url": {
|
||||
"description": "link til en webside",
|
||||
"feedback": "Dette er ikke et gyldigt link"
|
||||
},
|
||||
"wikidata": {
|
||||
"description": "En Wikidata identifier"
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue