Refactoring: fix delete indication, fix splitroad, fix addition of multiple new points snapped onto the same way (all will properly attach now)

This commit is contained in:
Pieter Vander Vennet 2023-04-20 17:42:07 +02:00
parent 1f9aacfb29
commit 4172af6a72
118 changed files with 1422 additions and 1357 deletions

View file

@ -74,12 +74,10 @@ export default class SelectedElementTagsUpdater {
try {
const osmObject = await state.osmObjectDownloader.DownloadObjectAsync(id)
if (osmObject === "deleted") {
console.warn("The current selected element has been deleted upstream!")
console.debug("The current selected element has been deleted upstream!", id)
const currentTagsSource = state.featureProperties.getStore(id)
if (currentTagsSource.data["_deleted"] === "yes") {
return
}
currentTagsSource.data["_deleted"] = "yes"
currentTagsSource.addCallbackAndRun((tags) => console.trace("Tags are", tags))
currentTagsSource.ping()
return
}

View file

@ -12,6 +12,7 @@ export default class FeaturePropertiesStore {
this._source = source
const self = this
source.features.addCallbackAndRunD((features) => {
console.log("Re-indexing features")
for (const feature of features) {
const id = feature.properties.id
if (id === undefined) {
@ -21,6 +22,7 @@ export default class FeaturePropertiesStore {
const source = self._elements.get(id)
if (source === undefined) {
console.log("Adding feature store for", id)
self._elements.set(id, new UIEventSource<any>(feature.properties))
continue
}

View file

@ -1,7 +1,6 @@
import { Store, UIEventSource } from "../../UIEventSource"
import FilteredLayer from "../../../Models/FilteredLayer"
import { FeatureSource } from "../FeatureSource"
import { TagsFilter } from "../../Tags/TagsFilter"
import { Feature } from "geojson"
import { GlobalFilter } from "../../../Models/GlobalFilter"
@ -54,6 +53,7 @@ export default class FilteringFeatureSource implements FeatureSource {
this.update()
}
private update() {
const self = this
const layer = this._layer
@ -87,7 +87,7 @@ export default class FilteringFeatureSource implements FeatureSource {
}
}
// Something new has been found!
// Something new has been found (or something was deleted)!
this.features.setData(newFeatures)
}

View file

@ -43,7 +43,15 @@ export default class LayoutSource extends FeatureSourceMerger {
isActive: isDisplayed(l.id),
})
)
const overpassSource = LayoutSource.setupOverpass(osmLayers, bounds, zoom, featureSwitches)
const overpassSource = LayoutSource.setupOverpass(
backend,
osmLayers,
bounds,
zoom,
featureSwitches
)
const osmApiSource = LayoutSource.setupOsmApiSource(
osmLayers,
bounds,
@ -121,6 +129,7 @@ export default class LayoutSource extends FeatureSourceMerger {
}
private static setupOverpass(
backend: string,
osmLayers: LayerConfig[],
bounds: Store<BBox>,
zoom: Store<number>,

View file

@ -23,7 +23,7 @@ export class NewGeometryFromChangesFeatureSource implements WritableFeatureSourc
const features = this.features.data
const self = this
const backend = changes.backend
changes.pendingChanges.stabilized(100).addCallbackAndRunD((changes) => {
changes.pendingChanges.addCallbackAndRunD((changes) => {
if (changes.length === 0) {
return
}
@ -48,6 +48,7 @@ export class NewGeometryFromChangesFeatureSource implements WritableFeatureSourc
continue
}
console.log("Handling pending change")
if (change.id > 0) {
// This is an already existing object
// In _most_ of the cases, this means that this _isn't_ a new object
@ -74,11 +75,9 @@ export class NewGeometryFromChangesFeatureSource implements WritableFeatureSourc
self.features.ping()
})
continue
} else if (change.id < 0 && change.changes === undefined) {
// The geometry is not described - not a new point
if (change.id < 0) {
console.error("WARNING: got a new point without geometry!")
}
} else if (change.changes === undefined) {
// The geometry is not described - not a new point or geometry change, but probably a tagchange to a newly created point
// Not something that should be handled here
continue
}

View file

@ -20,12 +20,12 @@ export default abstract class OsmChangeAction {
this.mainObjectId = mainObjectId
}
public Perform(changes: Changes) {
public async Perform(changes: Changes) {
if (this.isUsed) {
throw "This ChangeAction is already used"
}
this.isUsed = true
return this.CreateChangeDescriptions(changes)
return await this.CreateChangeDescriptions(changes)
}
protected abstract CreateChangeDescriptions(changes: Changes): Promise<ChangeDescription[]>

View file

@ -34,50 +34,40 @@ export default class OsmObjectDownloader {
}
async DownloadObjectAsync(id: NodeId, maxCacheAgeInSecs?: number): Promise<OsmNode | "deleted">
async DownloadObjectAsync(id: WayId, maxCacheAgeInSecs?: number): Promise<OsmWay | "deleted">
async DownloadObjectAsync(
id: RelationId,
maxCacheAgeInSecs?: number
): Promise<OsmRelation | undefined>
async DownloadObjectAsync(id: OsmId, maxCacheAgeInSecs?: number): Promise<OsmObject | "deleted">
async DownloadObjectAsync(
id: string,
maxCacheAgeInSecs?: number
): Promise<OsmObject | "deleted">
async DownloadObjectAsync(
id: string,
maxCacheAgeInSecs?: number
): Promise<OsmObject | "deleted"> {
async DownloadObjectAsync(id: string, maxCacheAgeInSecs?: number) {
// Wait until uploading is done
if (this._changes) {
await this._changes.isUploading.AsPromise((o) => o === false)
}
const splitted = id.split("/")
const type = splitted[0]
const idN = Number(splitted[1])
let obj: OsmObject | "deleted"
if (idN < 0) {
throw "Invalid request: cannot download OsmObject " + id + ", it has a negative id"
obj = this.constructObject(<"node" | "way" | "relation">type, idN)
} else {
obj = await this.RawDownloadObjectAsync(type, idN, maxCacheAgeInSecs)
}
const full = !id.startsWith("node") ? "/full" : ""
const url = `${this.backend}api/0.6/${id}${full}`
const rawData = await Utils.downloadJsonCachedAdvanced(
url,
(maxCacheAgeInSecs ?? 10) * 1000
)
if (rawData["error"] !== undefined && rawData["statuscode"] === 410) {
return "deleted"
if (obj === "deleted") {
return obj
}
// A full query might contain more then just the requested object (e.g. nodes that are part of a way, where we only want the way)
const parsed = OsmObject.ParseObjects(rawData["content"].elements)
// Lets fetch the object we need
for (const osmObject of parsed) {
if (osmObject.type !== type) {
continue
}
if (osmObject.id !== idN) {
continue
}
// Found the one!
return osmObject
}
throw "PANIC: requested object is not part of the response"
return await this.applyPendingChanges(obj)
}
public DownloadHistory(id: NodeId): UIEventSource<OsmNode[]>
@ -149,4 +139,105 @@ export default class OsmObjectDownloader {
return rel
})
}
private applyNodeChange(object: OsmNode, change: { lat: number; lon: number }) {
object.lat = change.lat
object.lon = change.lon
}
private applyWayChange(object: OsmWay, change: { nodes: number[]; coordinates }) {
object.nodes = change.nodes
object.coordinates = change.coordinates.map(([lat, lon]) => [lon, lat])
}
private applyRelationChange(
object: OsmRelation,
change: { members: { type: "node" | "way" | "relation"; ref: number; role: string }[] }
) {
object.members = change.members
}
private async applyPendingChanges(object: OsmObject): Promise<OsmObject | "deleted"> {
if (!this._changes) {
return object
}
const pendingChanges = this._changes.pendingChanges.data
for (const pendingChange of pendingChanges) {
if (object.id !== pendingChange.id || object.type !== pendingChange.type) {
continue
}
if (pendingChange.doDelete) {
return "deleted"
}
if (pendingChange.tags) {
for (const { k, v } of pendingChange.tags) {
if (v === undefined) {
delete object.tags[k]
} else {
object.tags[k] = v
}
}
}
if (pendingChange.changes) {
switch (pendingChange.type) {
case "node":
this.applyNodeChange(<OsmNode>object, <any>pendingChange.changes)
break
case "way":
this.applyWayChange(<OsmWay>object, <any>pendingChange.changes)
break
case "relation":
this.applyRelationChange(<OsmRelation>object, <any>pendingChange.changes)
break
}
}
}
return object
}
/**
* Creates an empty object of the specified type with the specified id.
* We assume that the pending changes will be applied on them, filling in details such as coordinates, tags, ...
*/
private constructObject(type: "node" | "way" | "relation", id: number): OsmObject {
switch (type) {
case "node":
return new OsmNode(id)
case "way":
return new OsmWay(id)
case "relation":
return new OsmRelation(id)
}
}
private async RawDownloadObjectAsync(
type: string,
idN: number,
maxCacheAgeInSecs?: number
): Promise<OsmObject | "deleted"> {
const full = type !== "node" ? "/full" : ""
const url = `${this.backend}api/0.6/${type}/${idN}${full}`
const rawData = await Utils.downloadJsonCachedAdvanced(
url,
(maxCacheAgeInSecs ?? 10) * 1000
)
if (rawData["error"] !== undefined && rawData["statuscode"] === 410) {
return "deleted"
}
// A full query might contain more then just the requested object (e.g. nodes that are part of a way, where we only want the way)
const parsed = OsmObject.ParseObjects(rawData["content"].elements)
// Lets fetch the object we need
for (const osmObject of parsed) {
if (osmObject.type !== type) {
continue
}
if (osmObject.id !== idN) {
continue
}
// Found the one!
return osmObject
}
throw "PANIC: requested object is not part of the response"
}
}

View file

@ -556,6 +556,27 @@ export default class SimpleMetaTaggers {
return true
}
)
private static timeSinceLastEdit = new InlineMetaTagger(
{
keys: ["_last_edit:passed_time"],
doc: "Gives the number of seconds since the last edit. Note that this will _not_ update, but rather be the number of seconds elapsed at the moment this tag is read first",
isLazy: true,
includesDates: true,
},
(feature, layer, tagsStore) => {
Utils.AddLazyProperty(feature.properties, "_last_edit:passed_time", () => {
const lastEditTimestamp = new Date(
feature.properties["_last_edit:timestamp"]
).getTime()
const now: number = Date.now()
const millisElapsed = now - lastEditTimestamp
return "" + millisElapsed / 1000
})
return true
}
)
public static metatags: SimpleMetaTagger[] = [
SimpleMetaTaggers.latlon,
SimpleMetaTaggers.layerInfo,
@ -572,6 +593,7 @@ export default class SimpleMetaTaggers {
SimpleMetaTaggers.geometryType,
SimpleMetaTaggers.levels,
SimpleMetaTaggers.referencingWays,
SimpleMetaTaggers.timeSinceLastEdit,
]
/**

View file

@ -30,7 +30,6 @@ export default class FeatureSwitchState {
public readonly featureSwitchFilter: UIEventSource<boolean>
public readonly featureSwitchEnableExport: UIEventSource<boolean>
public readonly featureSwitchFakeUser: UIEventSource<boolean>
public readonly featureSwitchExportAsPdf: UIEventSource<boolean>
public readonly overpassUrl: UIEventSource<string[]>
public readonly overpassTimeout: UIEventSource<number>
public readonly overpassMaxZoom: UIEventSource<number>
@ -125,14 +124,9 @@ export default class FeatureSwitchState {
this.featureSwitchEnableExport = featSw(
"fs-export",
(layoutToUse) => layoutToUse?.enableExportButton ?? false,
(layoutToUse) => layoutToUse?.enableExportButton ?? true,
"Enable the export as GeoJSON and CSV button"
)
this.featureSwitchExportAsPdf = featSw(
"fs-pdf",
(layoutToUse) => layoutToUse?.enablePdfDownload ?? false,
"Enable the PDF download button"
)
this.featureSwitchApiURL = QueryParameters.GetQueryParameter(
"backend",

View file

@ -250,6 +250,7 @@ export default class UserRelatedState {
const amendedPrefs = new UIEventSource<Record<string, string>>({
_theme: layout?.id,
_backend: this.osmConnection.Backend(),
_applicationOpened: new Date().toISOString(),
})
const osmConnection = this.osmConnection
@ -299,7 +300,6 @@ export default class UserRelatedState {
"" + (total - untranslated_count)
amendedPrefs.data["_translation_percentage"] =
"" + Math.floor((100 * (total - untranslated_count)) / total)
console.log("Setting zenLinks", zenLinks)
amendedPrefs.data["_translation_links"] = JSON.stringify(zenLinks)
}
amendedPrefs.ping()
@ -355,7 +355,8 @@ export default class UserRelatedState {
amendedPrefs.addCallbackD((tags) => {
for (const key in tags) {
if (key.startsWith("_")) {
if (key.startsWith("_") || key === "mapcomplete-language") {
// Language is managed seperately
continue
}
this.osmConnection.GetPreference(key, undefined, { prefix: "" }).setData(tags[key])

View file

@ -244,8 +244,9 @@ export abstract class Store<T> implements Readable<T> {
const self = this
condition = condition ?? ((t) => t !== undefined)
return new Promise((resolve) => {
if (condition(self.data)) {
resolve(self.data)
const data = self.data
if (condition(data)) {
resolve(data)
} else {
self.addCallbackD((data) => {
resolve(data)

View file

@ -591,6 +591,13 @@ export class AddEditingElements extends DesugaringStep<LayerConfigJson> {
): { result: LayerConfigJson; errors?: string[]; warnings?: string[]; information?: string[] } {
json = JSON.parse(JSON.stringify(json))
if (
json.tagRenderings &&
!json.tagRenderings.some((tr) => tr === "just_created" || tr["id"] === "just_created")
) {
json.tagRenderings.unshift(this._desugaring.tagRenderings.get("just_created"))
}
if (json.allowSplit && !ValidationUtils.hasSpecialVisualisation(json, "split_button")) {
json.tagRenderings.push({
id: "split-button",

View file

@ -18,6 +18,12 @@ export interface TagRenderingConfigJson {
*/
labels?: string[]
/**
* A list of css-classes to apply to the entire tagRendering if the answer is known (not applied on the question).
* This is only for advanced users
*/
classes?: string | string[]
/**
* A human-readable text explaining what this tagRendering does
*/

View file

@ -69,7 +69,7 @@ export default class TagRenderingConfig {
public readonly mappings?: Mapping[]
public readonly labels: string[]
public readonly classes: string[]
constructor(json: string | QuestionableTagRenderingConfigJson, context?: string) {
if (json === undefined) {
throw "Initing a TagRenderingConfig with undefined in " + context
@ -110,6 +110,11 @@ export default class TagRenderingConfig {
}
this.labels = json.labels ?? []
if (typeof json.classes === "string") {
this.classes = json.classes.split(" ")
} else {
this.classes = json.classes ?? []
}
this.render = Translations.T(<any>json.render, translationKey + ".render")
this.question = Translations.T(json.question, translationKey + ".question")
this.questionhint = Translations.T(json.questionHint, translationKey + ".questionHint")

View file

@ -4,7 +4,6 @@ import Combine from "./Base/Combine"
import MoreScreen from "./BigComponents/MoreScreen"
import Translations from "./i18n/Translations"
import Constants from "../Models/Constants"
import { Utils } from "../Utils"
import LanguagePicker from "./LanguagePicker"
import IndexText from "./BigComponents/IndexText"
import { ImportViewerLinks } from "./BigComponents/UserInformation"
@ -31,10 +30,8 @@ export default class AllThemesGui {
featureSwitchUserbadge: new ImmutableStore(true),
}),
new ImportViewerLinks(state.osmConnection),
Translations.t.general.aboutMapcomplete
.Subs({ osmcha_link: Utils.OsmChaLinkFor(7) })
.SetClass("link-underline"),
new FixedUiElement("v" + Constants.vNumber),
Translations.t.general.aboutMapComplete.intro.SetClass("link-underline"),
new FixedUiElement("v" + Constants.vNumber).SetClass("block"),
])
.SetClass("block m-5 lg:w-3/4 lg:ml-40")
.AttachTo("main")

View file

@ -99,14 +99,23 @@ export default class Hotkeys {
}
static generateDocumentation(): BaseUIElement {
const byKey: [string, string | Translation][] = Hotkeys._docs.data
let byKey: [string, string | Translation][] = Hotkeys._docs.data
.map(({ key, documentation }) => {
const modifiers = Object.keys(key).filter((k) => k !== "nomod" && k !== "onUp")
const keycode: string = key["ctrl"] ?? key["shift"] ?? key["alt"] ?? key["nomod"]
let keycode: string = key["ctrl"] ?? key["shift"] ?? key["alt"] ?? key["nomod"]
if (keycode.length == 1) {
keycode = keycode.toUpperCase()
}
modifiers.push(keycode)
return <[string, string | Translation]>[modifiers.join("+"), documentation]
})
.sort()
byKey = Utils.NoNull(byKey)
for (let i = byKey.length - 1; i > 0; i--) {
if (byKey[i - 1][0] === byKey[i][0]) {
byKey.splice(i, 1)
}
}
const t = Translations.t.hotkeyDocumentation
return new Combine([
new Title(t.title, 1),

View file

@ -1,72 +0,0 @@
import Combine from "../Base/Combine"
import { Store } from "../../Logic/UIEventSource"
import Translations from "../i18n/Translations"
import { SubtleButton } from "../Base/SubtleButton"
import Svg from "../../Svg"
import { Utils } from "../../Utils"
import { MapillaryLink } from "./MapillaryLink"
import { OpenIdEditor, OpenJosm } from "./CopyrightPanel"
import Toggle from "../Input/Toggle"
import { SpecialVisualizationState } from "../SpecialVisualization"
export class BackToThemeOverview extends Toggle {
constructor(
state: {
readonly featureSwitchMoreQuests: Store<boolean>
},
options: {
imgSize: string
}
) {
const t = Translations.t.general
const button = new SubtleButton(Svg.add_ui(), t.backToIndex, options).onClick(() => {
const path = window.location.href.split("/")
path.pop()
path.push("index.html")
window.location.href = path.join("/")
})
super(button, undefined, state.featureSwitchMoreQuests)
}
}
export class ActionButtons extends Combine {
constructor(state:SpecialVisualizationState) {
const imgSize = "h-6 w-6"
const iconStyle = "height: 1.5rem; width: 1.5rem"
const t = Translations.t.general.attribution
super([
new BackToThemeOverview(state, { imgSize }),
new SubtleButton(Svg.liberapay_ui(), t.donate, {
url: "https://liberapay.com/pietervdvn/",
newTab: true,
imgSize,
}),
new SubtleButton(Svg.bug_ui(), t.openIssueTracker, {
url: "https://github.com/pietervdvn/MapComplete/issues",
newTab: true,
imgSize,
}),
new SubtleButton(
Svg.statistics_ui(),
t.openOsmcha.Subs({ theme: state.layoutToUse.title }),
{
url: Utils.OsmChaLinkFor(31, state.layoutToUse.id),
newTab: true,
imgSize,
}
),
new SubtleButton(Svg.mastodon_ui(), t.followOnMastodon, {
url: "https://en.osm.town/@MapComplete",
newTab: true,
imgSize,
}),
new OpenIdEditor(state, iconStyle),
new MapillaryLink(state, iconStyle),
new OpenJosm(state.osmConnection,state.mapProperties.bounds, iconStyle).SetClass("hidden-on-mobile"),
])
this.SetClass("block w-full link-no-underline")
}
}

View file

@ -4,7 +4,6 @@ import Translations from "../i18n/Translations"
import { UIEventSource } from "../../Logic/UIEventSource"
import BaseUIElement from "../BaseUIElement"
import Toggle from "../Input/Toggle"
import { DownloadPanel } from "./DownloadPanel"
import { SubtleButton } from "../Base/SubtleButton"
import Svg from "../../Svg"
import ExportPDF from "../ExportPDF"
@ -79,13 +78,6 @@ export default class AllDownloads extends ScrollableFullScreen {
isExporting
)
const pdf = new Toggle(
new SubtleButton(icon, text),
undefined,
state.featureSwitchExportAsPdf
)
return pdf
return new SubtleButton(icon, text)
}
}

View file

@ -6,6 +6,8 @@
import TagRenderingAnswer from "../Popup/TagRendering/TagRenderingAnswer.svelte";
import TagRenderingEditable from "../Popup/TagRendering/TagRenderingEditable.svelte";
import { onDestroy } from "svelte";
import Translations from "../i18n/Translations";
import Tr from "../Base/Tr.svelte";
export let state: SpecialVisualizationState;
export let layer: LayerConfig;
@ -18,39 +20,45 @@
onDestroy(tags.addCallbackAndRun(tags => {
_tags = tags;
}));
let _metatags: Record<string, string>
onDestroy(state.userRelatedState.preferencesAsTags .addCallbackAndRun(tags => {
let _metatags: Record<string, string>;
onDestroy(state.userRelatedState.preferencesAsTags.addCallbackAndRun(tags => {
_metatags = tags;
}));
</script>
<div>
<div class="flex flex-col sm:flex-row flex-grow justify-between">
<!-- Title element-->
<h3>
<TagRenderingAnswer config={layer.title} {selectedElement} {state} {tags} {layer}></TagRenderingAnswer>
</h3>
<div class="flex flex-row flex-wrap pt-0.5 sm:pt-1 items-center mr-2">
{#each layer.titleIcons as titleIconConfig (titleIconConfig.id)}
<div class="w-8 h-8">
<TagRenderingAnswer config={titleIconConfig} {tags} {selectedElement} {state} {layer}></TagRenderingAnswer>
</div>
{#if _tags._deleted === "yes"}
<Tr t={ Translations.t.delete.isDeleted} />
{:else}
<div>
<div class="flex flex-col sm:flex-row flex-grow justify-between">
<!-- Title element-->
<h3>
<TagRenderingAnswer config={layer.title} {selectedElement} {state} {tags} {layer}></TagRenderingAnswer>
</h3>
<div class="flex flex-row flex-wrap pt-0.5 sm:pt-1 items-center mr-2">
{#each layer.titleIcons as titleIconConfig (titleIconConfig.id)}
<div class="w-8 h-8">
<TagRenderingAnswer config={titleIconConfig} {tags} {selectedElement} {state} {layer}></TagRenderingAnswer>
</div>
{/each}
</div>
</div>
<div class="flex flex-col">
{#each layer.tagRenderings as config (config.id)}
{#if (config.condition === undefined || config.condition.matchesProperties(_tags)) && (config.metacondition === undefined || config.metacondition.matchesProperties({ ..._tags, ..._metatags }))}
{#if config.IsKnown(_tags)}
<TagRenderingEditable {tags} {config} {state} {selectedElement} {layer}
{highlightedRendering}></TagRenderingEditable>
{/if}
{/if}
{/each}
</div>
</div>
<div class="flex flex-col">
{#each layer.tagRenderings as config (config.id)}
{#if (config.condition === undefined || config.condition.matchesProperties(_tags)) && (config.metacondition === undefined || config.metacondition.matchesProperties(_metatags))}
{#if config.IsKnown(_tags)}
<TagRenderingEditable {tags} {config} {state} {selectedElement} {layer} {highlightedRendering}></TagRenderingEditable>
{/if}
{/if}
{/each}
</div>
</div>
{/if}

View file

@ -8,7 +8,6 @@ import { LoginToggle } from "../Popup/LoginButton"
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
import LoggedInUserIndicator from "../LoggedInUserIndicator"
import { ActionButtons } from "./ActionButtons"
import { BBox } from "../../Logic/BBox"
import Loc from "../../Models/Loc"
import { DefaultGuiState } from "../DefaultGuiState"
@ -80,7 +79,6 @@ export default class ThemeIntroductionPanel extends Combine {
layout.descriptionTail?.Clone().SetClass("block mt-4"),
languagePicker?.SetClass("block mt-4 pb-8 border-b-2 border-dotted border-gray-400"),
new ActionButtons(state),
...layout.CustomCodeSnippets(),
])

View file

@ -14,7 +14,7 @@
/**
* Called when setup is done, can be used to add more layers to the map
*/
export let onCreated : (value: Store<{lon: number, lat: number}> , map: Store<MlMap>, mapProperties: MapProperties ) => void
export let onCreated : (value: Store<{lon: number, lat: number}> , map: Store<MlMap>, mapProperties: MapProperties ) => void = undefined
export let map: UIEventSource<MlMap> = new UIEventSource<MlMap>(undefined);
let mla = new MapLibreAdaptor(map, mapProperties);

View file

@ -240,13 +240,10 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap {
container.style.height = document.documentElement.clientHeight + "px"
}
await html2canvas(
map.getCanvasContainer(),
{
backgroundColor: "#00000000",
canvas: drawOn,
}
)
await html2canvas(map.getCanvasContainer(), {
backgroundColor: "#00000000",
canvas: drawOn,
})
} catch (e) {
console.error(e)
} finally {
@ -261,7 +258,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap {
private updateStores() {
const map = this._maplibreMap.data
if (map === undefined) {
if (!map) {
return
}
const dt = this.location.data

View file

@ -9,7 +9,6 @@ import { OsmTags } from "../../Models/OsmFeature"
import { FeatureSource } from "../../Logic/FeatureSource/FeatureSource"
import { BBox } from "../../Logic/BBox"
import { Feature, Point } from "geojson"
import ScrollableFullScreen from "../Base/ScrollableFullScreen"
import LineRenderingConfig from "../../Models/ThemeConfig/LineRenderingConfig"
import { Utils } from "../../Utils"
import * as range_layer from "../../assets/layers/range/range.json"
@ -360,7 +359,6 @@ export default class ShowDataLayer {
drawMarkers?: true | boolean
drawLines?: true | boolean
}
private readonly _popupCache: Map<string, ScrollableFullScreen>
constructor(
map: Store<MlMap>,
@ -372,7 +370,6 @@ export default class ShowDataLayer {
) {
this._map = map
this._options = options
this._popupCache = new Map()
const self = this
map.addCallbackAndRunD((map) => self.initDrawFeatures(map))
}

View file

@ -88,16 +88,18 @@
changeType: "create",
snapOnto: snapToWay
});
await state.changes.applyAction(newElementAction);
await state.changes.applyAction(newElementAction)
state.newFeatures.features.ping()
// The 'changes' should have created a new point, which added this into the 'featureProperties'
const newId = newElementAction.newElementId;
console.log("Applied pending changes, fetching store for", newId)
const tagsStore = state.featureProperties.getStore(newId);
{
// Set some metainfo
const properties = tagsStore.data;
if (snapTo) {
// metatags (starting with underscore) are not uploaded, so we can safely mark this
delete properties["_referencing_ways"]
properties["_referencing_ways"] = `["${snapTo}"]`;
}
properties["_backend"] = state.osmConnection.Backend()

View file

@ -1,15 +1,9 @@
import { Store, UIEventSource } from "../../Logic/UIEventSource"
import QuestionBox from "./QuestionBox"
import { UIEventSource } from "../../Logic/UIEventSource"
import Combine from "../Base/Combine"
import TagRenderingAnswer from "./TagRenderingAnswer"
import ScrollableFullScreen from "../Base/ScrollableFullScreen"
import Constants from "../../Models/Constants"
import SharedTagRenderings from "../../Customizations/SharedTagRenderings"
import BaseUIElement from "../BaseUIElement"
import { VariableUiElement } from "../Base/VariableUIElement"
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
import Toggle from "../Input/Toggle"
import Lazy from "../Base/Lazy"
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState"
import Svg from "../../Svg"
import Translations from "../i18n/Translations"
@ -31,7 +25,7 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
)
super(
() => undefined,
() => FeatureInfoBox.GenerateContent(tags, layerConfig, state, showAllQuestions),
() => FeatureInfoBox.GenerateContent(tags, layerConfig),
options?.hashToShow ?? tags.data.id ?? "item",
options?.isShown,
options
@ -42,60 +36,14 @@ export default class FeatureInfoBox extends ScrollableFullScreen {
}
}
public static GenerateContent(
tags: UIEventSource<any>,
layerConfig: LayerConfig
): BaseUIElement {
public static GenerateContent(tags: UIEventSource<any>): BaseUIElement {
return new Toggle(
new Combine([
Svg.delete_icon_svg().SetClass("w-8 h-8"),
Translations.t.delete.isDeleted,
]).SetClass("flex justify-center font-bold items-center"),
FeatureInfoBox.GenerateMainContent(tags, layerConfig),
new Combine([]).SetClass("block"),
tags.map((t) => t["_deleted"] == "yes")
)
}
private static GenerateMainContent(
tags: UIEventSource<any>,
layerConfig: LayerConfig
): BaseUIElement {
const t = Translations.t.general
const withQuestion = layerConfig.tagRenderings.filter(
(tr) => tr.question !== undefined
).length
const allRenderings: BaseUIElement[] = [
new VariableUiElement(
tags
.map((data) => data["_newly_created"])
.map((isCreated) => {
if (isCreated === undefined) {
return undefined
}
const createdDate = new Date(isCreated)
const secondsSinceCreation = (Date.now() - createdDate.getTime()) / 1000
if (secondsSinceCreation >= 60 * 5) {
return undefined
}
const els = []
const thanks = new Combine([
Svg.party_svg().SetClass(
"w-12 h-12 shrink-0 p-1 m-1 bg-white rounded-full block"
),
t.newlyCreated,
]).SetClass("flex w-full thanks content-center")
els.push(thanks)
if (withQuestion > 0) {
els.push(t.feelFreeToSkip)
}
return new Combine(els).SetClass("pb-4 mb-4 border-b block border-black")
})
),
]
return new Combine(allRenderings).SetClass("block")
}
}

View file

@ -65,7 +65,6 @@ export default class SplitRoadWizard extends Combine {
leafletMap.setData(mapComponent.SetClass("w-full h-80"))
)
}
initMap()
// Toggle between splitmap
const splitButton = new SubtleButton(
@ -94,7 +93,6 @@ export default class SplitRoadWizard extends Combine {
await state.changes?.applyAction(splitAction)
// We throw away the old map and splitpoints, and create a new map from scratch
splitPoints.setData([])
initMap()
// Close the popup. The contributor has to select a segment again to make sure they continue editing the correct segment; see #1219
state.selectedElement?.setData(undefined)
@ -134,6 +132,11 @@ export default class SplitRoadWizard extends Combine {
),
new Toggle(mapView, splitToggle, splitClicked),
])
splitClicked.addCallback((view) => {
if (view) {
initMap()
}
})
this.dialogIsOpened = splitClicked
const self = this
splitButton.onClick(() => {

View file

@ -45,7 +45,6 @@
let questionsToAsk = tags.map(tags => {
const baseQuestions = (layer.tagRenderings ?? [])?.filter(tr => allowed(tr.labels) && tr.question !== undefined);
console.log("Determining questions for", baseQuestions)
const questionsToAsk: TagRenderingConfig[] = [];
for (const baseQuestion of baseQuestions) {
if (skippedQuestions.data.has(baseQuestion.id) > 0) {

View file

@ -23,10 +23,12 @@
export let layer: LayerConfig;
let trs: { then: Translation; icon?: string; iconClass?: string }[];
$: trs = Utils.NoNull(config?.GetRenderValues(_tags));
let classes = ""
$:classes = config?.classes?.join(" ") ?? "";
</script>
{#if config !== undefined && (config?.condition === undefined || config.condition.matchesProperties(_tags))}
<div class="flex flex-col w-full">
<div class={"flex flex-col w-full "+classes}>
{#if trs.length === 1}
<TagRenderingMapping mapping={trs[0]} {tags} {state} {selectedElement} {layer}></TagRenderingMapping>
{/if}

View file

@ -22,7 +22,6 @@
import CommunityIndexView from "./BigComponents/CommunityIndexView.svelte";
import FloatOver from "./Base/FloatOver.svelte";
import PrivacyPolicy from "./BigComponents/PrivacyPolicy";
import { Utils } from "../Utils";
import Constants from "../Models/Constants";
import TabbedGroup from "./Base/TabbedGroup.svelte";
import UserRelatedState from "../Logic/State/UserRelatedState";
@ -31,6 +30,8 @@
import CopyrightPanel from "./BigComponents/CopyrightPanel";
import { DownloadPanel } from "./BigComponents/DownloadPanel";
import ModalRight from "./Base/ModalRight.svelte";
import { Utils } from "../Utils";
import Hotkeys from "./Base/Hotkeys";
export let state: ThemeViewState;
let layout = state.layout;
@ -95,7 +96,8 @@
<div class="absolute top-0 right-0 mt-4 mr-4">
<If condition={state.featureSwitches.featureSwitchSearch}>
<Geosearch bounds={state.mapProperties.bounds} {selectedElement} {selectedLayer} perLayer={state.perLayer}></Geosearch>
<Geosearch bounds={state.mapProperties.bounds} perLayer={state.perLayer} {selectedElement}
{selectedLayer}></Geosearch>
</If>
</div>
@ -152,20 +154,22 @@
<RasterLayerPicker {availableLayers} value={mapproperties.rasterLayer}></RasterLayerPicker>
</If>
</div>
<div slot="title2" class="flex">
<img src="./assets/svg/download.svg" class="w-4 h-4"/>
<Tr t={Translations.t.general.download.title}/>
<div class="flex" slot="title2">
<If condition={state.featureSwitches.featureSwitchEnableExport}>
<img class="w-4 h-4" src="./assets/svg/download.svg" />
<Tr t={Translations.t.general.download.title} />
</If>
</div>
<div slot="content2">
<ToSvelte construct={() => new DownloadPanel(state)}/>
<ToSvelte construct={() => new DownloadPanel(state)} />
</div>
<div slot="title3">
<Tr t={Translations.t.general.attribution.title}/>
<Tr t={Translations.t.general.attribution.title} />
</div>
<ToSvelte slot="content3" construct={() => new CopyrightPanel(state)}></ToSvelte>
<ToSvelte construct={() => new CopyrightPanel(state)} slot="content3"></ToSvelte>
</TabbedGroup>
</FloatOver>
@ -177,17 +181,43 @@
<FloatOver on:close={() => state.guistate.menuIsOpened.setData(false)}>
<TabbedGroup tab={state.guistate.menuViewTabIndex}>
<div class="flex" slot="title0">
<Tr t={Translations.t.general.aboutMapcompleteTitle}></Tr>
<Tr t={Translations.t.general.menu.aboutMapComplete} />
</div>
<div class="flex flex-col" slot="content0">
<Tr t={Translations.t.general.aboutMapcomplete.Subs({
osmcha_link: Utils.OsmChaLinkFor(7),
})}></Tr>
<Tr t={Translations.t.general.aboutMapComplete.intro} />
<a class="flex" href={Utils.HomepageLink()}>
<img class="w-6 h-6" src="./assets/svg/add.svg">
<Tr t={Translations.t.general.backToIndex} />
</a>
<a class="flex" href="https://github.com/pietervdvn/MapComplete/issues" target="_blank">
<img class="w-6 h-6" src="./assets/svg/bug.svg">
<Tr t={Translations.t.general.attribution.openIssueTracker} />
</a>
<a class="flex" href="https://en.osm.town/@MapComplete" target="_blank">
<img class="w-6 h-6" src="./assets/svg/mastodon.svg">
<Tr t={Translations.t.general.attribution.followOnMastodon} />
</a>
<a class="flex" href="https://liberapay.com/pietervdvn/" target="_blank">
<img class="w-6 h-6" src="./assets/svg/liberapay.svg">
<Tr t={Translations.t.general.attribution.donate} />
</a>
<a class="flex" href={Utils.OsmChaLinkFor(7)} target="_blank">
<img class="w-6 h-6" src="./assets/svg/statistics.svg">
<Tr t={Translations.t.general.attribution.openOsmcha.Subs({theme: "MapComplete"})} />
</a>
{Constants.vNumber}
<ToSvelte construct={Hotkeys.generateDocumentationDynamic}></ToSvelte>
</div>
<If condition={state.osmConnection.isLoggedIn} slot="title1">
<div class="flex">
<CogIcon class="w-6 h-6" />
@ -199,16 +229,16 @@
<!-- All shown components are set by 'usersettings.json', which happily uses some special visualisations created specifically for it -->
<LoginToggle {state}>
<div slot="not-logged-in">
<Tr class="alert" t={Translations.t.userinfo.notLoggedIn}/>
<Tr class="alert" t={Translations.t.userinfo.notLoggedIn} />
<LoginButton osmConnection={state.osmConnection}></LoginButton>
</div>
<SelectedElementView
layer={UserRelatedState.usersettingsConfig}
selectedElement={({
highlightedRendering={state.guistate.highlightedUserSetting}
layer={UserRelatedState.usersettingsConfig} selectedElement={({
type:"Feature",properties: {}, geometry: {type:"Point", coordinates: [0,0]}
})} {state}
tags={state.userRelatedState.preferencesAsTags}
highlightedRendering={state.guistate.highlightedUserSetting}
})}
{state}
tags={state.userRelatedState.preferencesAsTags}
/>
</LoginToggle>
</div>

View file

@ -5,8 +5,7 @@ import CompiledTranslations from "../../assets/generated/CompiledTranslations"
import LanguageUtils from "../../Utils/LanguageUtils"
export default class Translations {
static readonly t: typeof CompiledTranslations.t & Readonly<typeof CompiledTranslations.t> =
CompiledTranslations.t
static readonly t: Readonly<typeof CompiledTranslations.t> = CompiledTranslations.t
private static knownLanguages = LanguageUtils.usedLanguages
constructor() {
throw "Translations is static. If you want to intitialize a new translation, use the singular form"

View file

@ -1164,6 +1164,16 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
}
}
public static HomepageLink(): string {
if (typeof window === "undefined") {
return "https://mapcomplete.osm.be"
}
const path = window.location.href.split("/")
path.pop()
path.push("index.html")
return path.join("/")
}
public static OsmChaLinkFor(daysInThePast, theme = undefined): string {
const now = new Date()
const lastWeek = new Date(now.getTime() - daysInThePast * 24 * 60 * 60 * 1000)

View file

@ -18,7 +18,8 @@
"cs": "Známé adresy v OSM",
"pa_PK": "او‌ایس‌ایم وچ جاݨ پچھاݨے پتے",
"ca": "Adreces conegudes a OSM",
"zgh": "ⴰⵏⵙⵉⵡⵏ ⵉⵜⵜⵡⴰⵙⵙⵏⵏ ⴳ OSM"
"zgh": "ⴰⵏⵙⵉⵡⵏ ⵉⵜⵜⵡⴰⵙⵙⵏⵏ ⴳ OSM",
"pt_BR": "Endereços conhecidos no OSM"
},
"minzoom": 18,
"source": {
@ -50,7 +51,8 @@
"nb_NO": "Kjent adresse",
"da": "Kendt adresse",
"cs": "Známá adresa",
"ca": "Adreça coneguda"
"ca": "Adreça coneguda",
"pt_BR": "Endereço conhecido"
}
},
"description": {
@ -72,7 +74,8 @@
"eo": "Adresoj",
"cs": "Adresy",
"pa_PK": "پتے",
"zgh": "ⴰⵏⵙⵉⵡⵏ"
"zgh": "ⴰⵏⵙⵉⵡⵏ",
"pt_BR": "Endereços"
},
"tagRenderings": [
{
@ -92,7 +95,8 @@
"cs": "Číslo domu je <b>{addr:housenumber}</b>",
"pt": "The house number is <b>{addr:housenumber}</b>",
"nb_NO": "Husnummeret er <b>{addr:housenumber}</b>",
"ca": "El número de porta és <b>{addr:housenumber}</b>"
"ca": "El número de porta és <b>{addr:housenumber}</b>",
"pt_BR": "O número da casa é <b>{addr:housenumber}</b>"
},
"question": {
"en": "What is the number of this house?",
@ -109,7 +113,8 @@
"cs": "Jaké je číslo tohoto domu?",
"pt": "Qual é o número desta casa?",
"nb_NO": "Hvilket husnummer har dette huset?",
"ca": "Quin és el número d'aquesta casa?"
"ca": "Quin és el número d'aquesta casa?",
"pt_BR": "Qual é o número desta casa?"
},
"freeform": {
"key": "addr:housenumber",
@ -140,7 +145,8 @@
"cs": "Tato budova nemá číslo domu",
"pt": "Este prédio não tem número",
"nb_NO": "Denne bygningen har ikke noe husnummer",
"ca": "Aquest edifici no té número"
"ca": "Aquest edifici no té número",
"pt_BR": "Este prédio não tem número"
}
}
]
@ -220,7 +226,8 @@
"cs": "Co by se zde mělo opravit? Vysvětlete to, prosím",
"pt": "O que deve ser corrigido aqui? Explique",
"nb_NO": "Hva bør fikses her? Forklar.",
"ca": "Què shauria de corregir aquí? Exposa-ho"
"ca": "Què shauria de corregir aquí? Exposa-ho",
"pt_BR": "O que deve ser corrigido aqui? Explique"
},
"freeform": {
"key": "fixme"

View file

@ -42,7 +42,8 @@
"es": "Tablon de anuncios",
"en": "Board",
"de": "Brett",
"cs": "Deska"
"cs": "Deska",
"fr": "Petit panneau"
}
},
{
@ -71,7 +72,8 @@
"en": "Column",
"de": "Litfaßsäule",
"cs": "Sloup",
"nl": "Aanplakzuil"
"nl": "Aanplakzuil",
"fr": "Colonne"
}
},
{
@ -86,7 +88,8 @@
"en": "Flag",
"de": "Flagge",
"cs": "Vlajka",
"nl": "Vlag"
"nl": "Vlag",
"fr": "Drapeau"
}
},
{
@ -101,7 +104,8 @@
"en": "Screen",
"de": "Bildschirm",
"cs": "Obrazovka",
"nl": "Scherm"
"nl": "Scherm",
"fr": "Écran"
}
},
{
@ -116,7 +120,8 @@
"en": "Sculpture",
"de": "Skulptur",
"cs": "Socha",
"nl": "Sculptuur"
"nl": "Sculptuur",
"fr": "Sculpture"
}
},
{
@ -130,7 +135,9 @@
"es": "Cartel",
"en": "Sign",
"de": "Schild",
"cs": "Cedule"
"cs": "Cedule",
"fr": "Enseigne",
"pt_BR": "Placa"
}
},
{
@ -145,7 +152,8 @@
"en": "Tarp",
"de": "Plane",
"cs": "Plachta",
"nl": "Spandoek"
"nl": "Spandoek",
"fr": "Bâche"
}
},
{
@ -160,7 +168,8 @@
"en": "Totem",
"de": "Totem",
"cs": "Totem",
"nl": "Aanplakzuil"
"nl": "Aanplakzuil",
"fr": "Totem"
}
},
{
@ -175,7 +184,8 @@
"en": "Wall painting",
"de": "Wandmalerei",
"cs": "Nástěnná malba",
"nl": "Muurschildering"
"nl": "Muurschildering",
"fr": "Peinture murale"
}
}
]
@ -262,7 +272,8 @@
"de": "Dies ist eine Litfaßsäule",
"cs": "Toto je sloup",
"fr": "C'est une colonne",
"nl": "Dit is een aanplakzuil"
"nl": "Dit is een aanplakzuil",
"pt_BR": "Isto é uma coluna"
},
"icon": {
"path": "./assets/themes/advertising/column.svg",
@ -282,7 +293,8 @@
"de": "Dies ist eine Flagge",
"cs": "Toto je vlajka",
"fr": "C'est un drapeau",
"nl": "Dit is een vlag"
"nl": "Dit is een vlag",
"pt_BR": "Isto é uma bandeira"
},
"icon": {
"path": "./assets/themes/advertising/flag.svg",
@ -358,7 +370,8 @@
"en": "This is a sign",
"de": "Dies ist ein Schild",
"cs": "Toto je cedule",
"fr": "C'est une enseigne (indique le nom du lieu/magasin)"
"fr": "C'est une enseigne (indique le nom du lieu/magasin)",
"pt_BR": "Isto é uma placa"
},
"icon": {
"path": "./assets/themes/advertising/sign.svg",
@ -565,7 +578,8 @@
"de": "Betrieben von {operator}",
"cs": "Provozuje {operator}",
"fr": "Exploité par {operator}",
"nl": "Uitgebaat door {operator}"
"nl": "Uitgebaat door {operator}",
"pt_BR": "Operado por {operator}"
},
"question": {
"ca": "Qui opera aquest element?",
@ -589,7 +603,8 @@
"en": "What kind of message is shown?",
"de": "Welche Art von Nachricht wird angezeigt?",
"cs": "Jaký typ zprávy je zobrazen?",
"nl": "Wat voor boodschap wordt hier getoond?"
"nl": "Wat voor boodschap wordt hier getoond?",
"fr": "Quel est le type de message affiché ?"
},
"mappings": [
{
@ -601,7 +616,8 @@
"en": "Commercial message",
"de": "Werbebotschaft",
"cs": "Komerční sdělení",
"fr": "Message commercial"
"fr": "Message commercial",
"pt_BR": "Mensagem comercial"
}
},
{
@ -704,7 +720,8 @@
"de": "Religiöse Botschaft",
"cs": "Náboženská zpráva",
"fr": "Message religieux",
"nl": "Religieuze boodschap"
"nl": "Religieuze boodschap",
"pt_BR": "Mensagem religiosa"
}
},
{
@ -734,7 +751,8 @@
"de": "eine Karte",
"cs": "Mapa",
"fr": "Une carte",
"nl": "Een kaart"
"nl": "Een kaart",
"pt_BR": "Um mapa"
}
}
],
@ -767,8 +785,8 @@
"if": "sides=1",
"then": {
"en": "This object has advertisements on a single side",
"ca": "Aquest mupi té publicitat a un únic costat",
"es": "Este mupi tiene publicidad en un único lado",
"ca": "Aquest objecte té publicitat a un únic costat",
"es": "Este objeto tiene publicidad en un único lado",
"de": "Werbung wird nur auf einer Seite angezeigt",
"cs": "Tento objekt má reklamy na jedné straně",
"fr": "Cet objet a de la publicité sur un seul côté"
@ -778,8 +796,8 @@
"if": "sides=2",
"then": {
"en": "This object has advertisements on both sides",
"ca": "Aquest mupi té publicitat pels dos costas",
"es": "Este mupi tiene publicidad por los dos lados",
"ca": "Aquest objecte té publicitat pels dos costas",
"es": "Este objeto tiene publicidad por los dos lados",
"de": "Werbung wird auf beiden Seiten angezeigt",
"cs": "Tento objekt má reklamy na obou stranách",
"fr": "Cet objet a de la publicité des deux côtés"
@ -796,7 +814,8 @@
"de": "Die Referenznummer lautet {ref}",
"cs": "Referenční číslo je {ref}",
"fr": "Le numéro de référence est {ref}",
"nl": "Het referentienummer is {ref}"
"nl": "Het referentienummer is {ref}",
"pt_BR": "O número de referência é {ref}"
},
"question": {
"ca": "Quin és el número de refèrencia?",
@ -1015,12 +1034,13 @@
"advertising=board"
],
"title": {
"ca": "un tauló d'anunis",
"ca": "un tauló d'anuncis",
"es": "un tablón de anuncios",
"en": "a board",
"de": "ein Anschlagbrett",
"cs": "billboard",
"nl": "een uithangbord"
"nl": "een uithangbord",
"fr": "un petit panneau"
},
"description": {
"en": "Small billboard for neighbourhood advertising, generally intended for pedestrians",
@ -1047,7 +1067,8 @@
"en": "a column",
"de": "eine Litfaßsäule",
"cs": "sloup",
"nl": "een aanplakzuil"
"nl": "een aanplakzuil",
"fr": "une colonne"
},
"description": {
"en": "A cylindrical outdoor structure which shows advertisements",
@ -1074,7 +1095,8 @@
"en": "a flag",
"de": "eine Flagge",
"cs": "vlajka",
"nl": "een vlag"
"nl": "een vlag",
"fr": "un drapeau"
},
"exampleImages": [
"./assets/themes/advertising/Advertising_flag.jpg",
@ -1091,7 +1113,8 @@
"en": "a screen",
"de": "einen Bildschirm",
"cs": "obrazovka",
"nl": "een scherm"
"nl": "een scherm",
"fr": "un écran"
},
"exampleImages": [
"./assets/themes/advertising/Screen_poster_box.jpg",
@ -1108,7 +1131,8 @@
"en": "a screen mounted on a wall",
"de": "ein wandmontierter Bildschirm",
"cs": "obrazovka připevněná na stěnu",
"nl": "een scherm op een muur"
"nl": "een scherm op een muur",
"fr": "un écran fixé au mur"
},
"preciseInput": {
"preferredBackground": "map",
@ -1131,7 +1155,8 @@
"en": "a tarp",
"de": "eine Plane",
"cs": "plachta",
"nl": "een spandoek"
"nl": "een spandoek",
"fr": "une bâche"
},
"description": {
"en": "A piece of waterproof textile with a printed message, permanently anchored on a wall",
@ -1160,7 +1185,8 @@
"es": "un tótem",
"en": "a totem",
"de": "ein Totem",
"cs": "totem"
"cs": "totem",
"fr": "un totem"
},
"exampleImages": [
"./assets/themes/advertising/AdvertisingTotem_004.jpg",
@ -1177,7 +1203,9 @@
"es": "un lletrer",
"en": "a sign",
"de": "ein Schild",
"cs": "cedule"
"cs": "cedule",
"fr": "une enseigne",
"pt_BR": "uma placa"
},
"preciseInput": {
"preferredBackground": "map",
@ -1207,7 +1235,8 @@
"es": "una escultura",
"en": "a sculpture",
"de": "eine Skulptur",
"cs": "socha"
"cs": "socha",
"fr": "une sculpture"
},
"exampleImages": [
"./assets/themes/advertising/Aircraft_Sculpture.jpg",
@ -1224,7 +1253,8 @@
"es": "una pared pintada",
"en": "a wall painting",
"de": "eine Wandmalerei",
"cs": "nástěnná malba"
"cs": "nástěnná malba",
"fr": "une peinture murale"
},
"preciseInput": {
"preferredBackground": "map",

View file

@ -581,7 +581,7 @@
"render": {
"en": "More information on <a href='{website}' target='_blank'>this website</a>",
"nl": "Meer informatie op <a href='{website}' target='_blank'>deze website</a>",
"fr": "Plus d'info <a href='{website}' target='_blank'>sûr ce site web</a>",
"fr": "Plus d'infos <a href='{website}' target='_blank'>sur ce site web</a>",
"de": "Weitere Informationen auf <a href='{website}' target='_blank'>dieser Webseite</a>",
"id": "Info lanjut tersedia di <a href='{website}' target='_blank'>laman web</a> ini",
"it": "Ulteriori informazioni su <a href='{website}' target='_blank'>questo sito web</a>",
@ -632,7 +632,8 @@
"pt": "A obra de arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"es": "Esta obra de arte representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"nb_NO": "Dette kunstverket viser {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"ca": "Aquesta obra d'art representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
"ca": "Aquesta obra d'art representa {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}",
"fr": "Cette œuvre dépeint {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
},
"labels": [
"artwork-question"
@ -646,7 +647,8 @@
"fr": "Cette oeuvre d'art sert-elle de banc ?",
"nl": "Is dit kunstwerk ook een zitbank?",
"nb_NO": "Tjener dette kunstverket funksjonen som benk?",
"ca": "Aquesta obra d'art serveix com a un banc?"
"ca": "Aquesta obra d'art serveix com a un banc?",
"cs": "Slouží toto umělecké dílo jako lavička?"
},
"mappings": [
{
@ -656,7 +658,8 @@
"de": "Dieses Kunstwerk dient auch als Sitzbank",
"fr": "Cette oeuvre d'art sert aussi de banc",
"nl": "Dit kunstwerk doet ook dienst als zitbank",
"ca": "Aquesta obra d'art també serveix com a banc"
"ca": "Aquesta obra d'art també serveix com a banc",
"cs": "Toto umělecké dílo slouží také jako lavička"
}
},
{
@ -667,7 +670,8 @@
"fr": "Cette oeuvre d'art ne sert pas de banc",
"nl": "Dit kunstwerk doet geen dienst als zitbank",
"nb_NO": "Dette kunstverket tjener ikke funksjonen som benk",
"ca": "Aquesta obra d'art no serveix com a banc"
"ca": "Aquesta obra d'art no serveix com a banc",
"cs": "Toto umělecké dílo neslouží jako lavička"
}
},
{
@ -678,7 +682,8 @@
"fr": "Cette oeuvre d'art ne sert pas de banc",
"nl": "Dit kunstwerk doet geen dienst als zitbank",
"nb_NO": "Dette kunstverket tjener ikke den hensikten å være en benk",
"ca": "Aquesta obra d'art no serveix com a un banc"
"ca": "Aquesta obra d'art no serveix com a un banc",
"cs": "Toto umělecké dílo neslouží jako lavička"
},
"hideInAnswer": true
}
@ -726,4 +731,4 @@
"filter": [
"has_image"
]
}
}

View file

@ -6,7 +6,8 @@
"fr": "DABs",
"nl": "Geldautomaten",
"ca": "Caixers Automàtics",
"nb_NO": "Minibanker"
"nb_NO": "Minibanker",
"cs": "Bankomaty"
},
"description": {
"en": "ATMs to withdraw money",
@ -24,7 +25,8 @@
"fr": "DAB",
"nl": "Geldautomaat",
"nb_NO": "Minibank",
"ca": "Caixer Automàtic"
"ca": "Caixer Automàtic",
"cs": "Bankomat"
},
"mappings": [
{
@ -35,7 +37,8 @@
"fr": "DAB {brand}",
"nl": "{brand} Geldautomaat",
"nb_NO": "{brand}-minibank",
"ca": "Caixer automàtic {brand}"
"ca": "Caixer automàtic {brand}",
"cs": "Bankomat {brand}"
}
}
]
@ -55,7 +58,8 @@
"fr": "un DAB",
"nl": "een geldautomaat",
"ca": "un caixer automàtic",
"nb_NO": "en minibank"
"nb_NO": "en minibank",
"cs": "bankomat"
}
}
],
@ -69,7 +73,8 @@
"fr": "Le nom de ce DAB est {name}",
"nl": "De naam van deze geldautomaat is {name}",
"ca": "El nom d'aquest caixer és {name}",
"nb_NO": "Navnet på denne minibanken er {name}"
"nb_NO": "Navnet på denne minibanken er {name}",
"cs": "Název tohoto bankomatu je {name}"
},
"condition": "name~*"
},
@ -81,7 +86,8 @@
"fr": "De quelle marque est ce DAB ?",
"nl": "Van welk merk is deze geldautomaat?",
"ca": "De quina marca és aquest caixer?",
"nb_NO": "Hvilet merke har denne minibanken?"
"nb_NO": "Hvilet merke har denne minibanken?",
"cs": "Jaká je značka bankomatu?"
},
"freeform": {
"key": "brand",
@ -92,7 +98,8 @@
"fr": "Nom de marque",
"nl": "Merknaam",
"nb_NO": "Merkenavn",
"ca": "Nom de la marca"
"ca": "Nom de la marca",
"cs": "Obchodní značka"
}
},
"render": {
@ -101,7 +108,8 @@
"fr": "La marque de ce DAB est {brand}",
"nl": "Het merk van deze geldautomaat is {brand}",
"nb_NO": "Merkenavnet for denne minibanken er {brand}",
"ca": "La marca d'aquest caixer és {brand}"
"ca": "La marca d'aquest caixer és {brand}",
"cs": "Značka tohoto bankomatu je {brand}"
}
},
{
@ -113,7 +121,8 @@
"fr": "Quelle société exploite ce DAB ?",
"nl": "Welk bedrijf beheert deze geldautomaat?",
"nb_NO": "Hvilket selskap driver denne minibanken?",
"ca": "Quina companyia opera aquest caixer?"
"ca": "Quina companyia opera aquest caixer?",
"cs": "Která společnost provozuje tento bankomat?"
},
"freeform": {
"key": "operator",
@ -123,7 +132,8 @@
"de": "Betreiber",
"fr": "Opérateur",
"nl": "Beheerder",
"ca": "Operador"
"ca": "Operador",
"cs": "Operátor"
}
},
"render": {
@ -132,7 +142,8 @@
"fr": "Ce DAB est exploité par {operator}",
"nl": "Deze geldautomaat wordt beheerd door {operator}",
"nb_NO": "Minibanken drives av {operator}",
"ca": "{operator} opera aquest caixer"
"ca": "{operator} opera aquest caixer",
"cs": "Bankomat provozuje {operator}"
}
},
"opening_hours",
@ -143,7 +154,8 @@
"de": "Kann man an diesem Geldautomaten Bargeld abheben?",
"nl": "Kan je geld ophalen bij deze geldautomaat?",
"nb_NO": "Kan man gjøre uttak fra denne minibanken?",
"ca": "Pots retirar diners des d'aquest caixer?"
"ca": "Pots retirar diners des d'aquest caixer?",
"cs": "Lze z tohoto bankomatu vybírat hotovost?"
},
"mappings": [
{
@ -153,7 +165,8 @@
"de": "Sie können an diesem Geldautomaten Bargeld abheben",
"nl": "Je kan geld ophalen bij deze geldautomaat",
"ca": "Pots retirar diners a aquest caixer",
"nb_NO": "Du kan gjøre uttak i denne minibanken"
"nb_NO": "Du kan gjøre uttak i denne minibanken",
"cs": "Z tohoto bankomatu můžete vybírat hotovost"
},
"hideInAnswer": true
},
@ -163,7 +176,8 @@
"en": "You can withdraw cash from this ATM",
"de": "An diesem Geldautomaten können Sie Bargeld abheben",
"nl": "Je kan geld ophalen bij deze geldautomaat",
"ca": "Pots retirar diners des d'aquest caixer"
"ca": "Pots retirar diners des d'aquest caixer",
"cs": "Z tohoto bankomatu můžete vybírat hotovost"
}
},
{
@ -172,7 +186,8 @@
"en": "You cannot withdraw cash from this ATM",
"de": "Sie können an diesem Geldautomaten kein Bargeld abheben",
"nl": "Je kan geen geld ophalen bij deze geldautomaat",
"ca": "No pots retirar diners des d'aquest caixer"
"ca": "No pots retirar diners des d'aquest caixer",
"cs": "Z tohoto bankomatu nelze vybírat hotovost"
}
}
]
@ -183,7 +198,9 @@
"en": "Can you deposit cash into this ATM?",
"de": "Kann man an diesem Geldautomaten Bargeld einzahlen?",
"nl": "Kan je geld storten bij deze geldautomaat?",
"ca": "Pots dipositar diners a aquest caixer?"
"ca": "Pots dipositar diners a aquest caixer?",
"cs": "Můžete do tohoto bankomatu vložit hotovost?",
"fr": "Pouvez-vous déposer de l'argent liquide dans ce DAB ?"
},
"mappings": [
{
@ -193,7 +210,9 @@
"de": "Sie können wahrscheinlich kein Bargeld in diesen Geldautomaten einzahlen",
"nl": "Je kan waarschijnlijk geen geld deponeren in deze geldautomaat",
"ca": "Probablement no pots ingressar diners a aquest caixer",
"nb_NO": "Du kan antagelig ikke gjøre innskudd i denne minibanken"
"nb_NO": "Du kan antagelig ikke gjøre innskudd i denne minibanken",
"cs": "Do tohoto bankomatu pravděpodobně nelze vložit hotovost",
"fr": "Vous ne pouvez probablement pas déposer d'argent liquide dans ce DAB"
},
"hideInAnswer": true
},
@ -204,7 +223,9 @@
"de": "Sie können Bargeld in diesen Geldautomaten einzahlen",
"nl": "Je kan geld deponeren in deze geldautomaat",
"nb_NO": "Du kan ikke gjøre innskudd i denne minibanken",
"ca": "Pots dipositar diners a aquest caixer"
"ca": "Pots dipositar diners a aquest caixer",
"cs": "Do tohoto bankomatu můžete vkládat hotovost",
"fr": "Vous pouvez déposer de l'argent liquide dans ce DAB"
}
},
{
@ -214,7 +235,9 @@
"de": "Sie können an diesem Geldautomaten kein Bargeld einzahlen",
"nl": "Je kan geen geld deponeren in deze geldautomaat",
"nb_NO": "Du kan ikke gjøre innskudd i denne minibanken",
"ca": "No pots dipositar diners a aquest caixer"
"ca": "No pots dipositar diners a aquest caixer",
"cs": "Do tohoto bankomatu nelze vkládat hotovost",
"fr": "Vous ne pouvez pas déposer d'agent liquide dans ce DAB"
}
}
]
@ -225,7 +248,8 @@
"en": "Does this ATM have speech output for visually impaired users?",
"de": "Verfügt dieser Geldautomat über eine Sprachausgabe für sehbehinderte Benutzer?",
"nl": "Heeft deze automaat spraak voor slechtziende en blinde gebruikers?",
"ca": "Aquest caixer té un lector de pantalla per a usuaris amb discapacitat visual?"
"ca": "Aquest caixer té un lector de pantalla per a usuaris amb discapacitat visual?",
"cs": "Má tento bankomat hlasový výstup pro zrakově postižené uživatele?"
},
"mappings": [
{
@ -234,7 +258,8 @@
"en": "This ATM has speech output, usually available through a headphone jack",
"de": "Dieser Geldautomat verfügt über eine Sprachausgabe, die normalerweise über eine Kopfhörerbuchse verfügbar ist",
"nl": "Deze automaat heeft spraak, waarschijnlijk beschikbaar via een hoofdtelefoon-aansluiting",
"ca": "Aquest caixer té lector de pantalla, normalment disponible a través d'un connector d'auriculars \"jack\""
"ca": "Aquest caixer té lector de pantalla, normalment disponible a través d'un connector d'auriculars \"jack\"",
"cs": "Tento bankomat má řečový výstup, který je obvykle dostupný přes konektor pro sluchátka"
}
},
{
@ -243,7 +268,8 @@
"en": "This ATM does not have speech output",
"de": "Dieser Geldautomat hat keine Sprachausgabe",
"nl": "Deze automaat heeft geen spraak",
"ca": "Aquest caixer no té lector de pantalla"
"ca": "Aquest caixer no té lector de pantalla",
"cs": "Tento bankomat nemá hlasový výstup"
}
}
]
@ -259,19 +285,22 @@
"en": "In which languages does this ATM have speech output?",
"de": "In welchen Sprachen hat dieser Geldautomat eine Sprachausgabe?",
"nl": "In welke taal is de srpaak van deze geldautomaat?",
"ca": "En quins idiomes té sortida de veu aquest caixer?"
"ca": "En quins idiomes té sortida de veu aquest caixer?",
"cs": "V jakých jazycích má tento bankomat řečový výstup?"
},
"render_list_item": {
"en": "This ATM has speech output in {language():font-bold}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}",
"nl": "Deze geldautomaat heeft spraak in {language():font-bold}",
"ca": "Aquest caixer té sortida de veu en {language():font-bold}"
"ca": "Aquest caixer té sortida de veu en {language():font-bold}",
"cs": "Tento bankomat má řečový výstup v {language():font-bold}"
},
"render_single_language": {
"en": "This ATM has speech output in {language():font-bold}",
"de": "Dieser Geldautomat hat eine Sprachausgabe in {language():font-bold}",
"nl": "Deze automaat heeft spraak in {language():font-bold}",
"ca": "Aquest caixer té sortida de veu en {language():font-bold}"
"ca": "Aquest caixer té sortida de veu en {language():font-bold}",
"cs": "Tento bankomat má řečový výstup v {language():font-bold}"
}
}
}
@ -308,7 +337,8 @@
"en": "With speech output",
"de": "Mit Sprachausgabe",
"nl": "Heeft spraak",
"ca": "Amb sortida de veu"
"ca": "Amb sortida de veu",
"cs": "S hlasovým výstupem"
},
"osmTags": "speech_output=yes"
}

View file

@ -4,14 +4,16 @@
"en": "A financial institution to deposit money",
"de": "Ein Finanzinstitut, um Geld einzuzahlen",
"nl": "Een financiële instelling waar je geld kunt",
"ca": "Una institució financera per a dipositar diners"
"ca": "Una institució financera per a dipositar diners",
"cs": "Finanční instituce pro ukládání peněz"
},
"name": {
"en": "Banks",
"de": "Banken",
"ca": "Bancs",
"nb_NO": "Banker",
"nl": "Banken"
"nl": "Banken",
"cs": "Banky"
},
"title": {
"render": "Bank",
@ -42,7 +44,8 @@
"de": "Hat diese Bank einen Geldautomaten?",
"nb_NO": "Har denne banken en minibank?",
"nl": "Heeft deze bank een bankautomaat?",
"ca": "Aquest banc té un caixer automàtic?"
"ca": "Aquest banc té un caixer automàtic?",
"cs": "Má tato banka bankomat?"
},
"mappings": [
{
@ -52,7 +55,8 @@
"de": "Diese Bank hat einen Geldautomaten",
"nb_NO": "Denne banken har en minibank",
"nl": "Deze bank heeft een bankautomaat",
"ca": "Aquest banc té un caixer automàtic"
"ca": "Aquest banc té un caixer automàtic",
"cs": "Tato banka má bankomat"
}
},
{
@ -62,7 +66,8 @@
"de": "Diese Bank hat <b>keinen</b> Geldautomaten",
"nb_NO": "Denne banken har <b>ikke</b> en minibank",
"nl": "Deze bank heeft <b>geen</b> bankautomaaat",
"ca": "Aquest banc <b>no</b> té un caixer automàtic"
"ca": "Aquest banc <b>no</b> té un caixer automàtic",
"cs": "Tato banka <b>nemá bankomat</b>"
}
},
{
@ -71,7 +76,8 @@
"en": "This bank does have an ATM, but it is mapped as a different icon",
"de": "Diese Bank hat zwar einen Geldautomaten, aber dieser ist mit einem anderen Symbol dargestellt",
"nl": "Deze bank heeft een bankautomaat, maar deze staat apart op de kaart aangeduid",
"ca": "Aquest banc té un caixer, però està mapejat com a un element diferent"
"ca": "Aquest banc té un caixer, però està mapejat com a un element diferent",
"cs": "Tato banka má bankomat, ale je namapován jako jiná ikona"
}
}
]
@ -88,7 +94,8 @@
"de": "Mit Geldautomat",
"nb_NO": "Med en minibank",
"nl": "Met een bankautomaat",
"ca": "Amb un caixer automàtic"
"ca": "Amb un caixer automàtic",
"cs": "S bankomatem"
},
"osmTags": "atm=yes"
}

View file

@ -407,7 +407,8 @@
"fr": "Poire, lespace en hauteur est plus faible quau sol",
"es": "Barrera de seguridad, el espacio es menor en la parte superior que en la inferior",
"da": "Squeeze gate, mellemrummet er mindre i toppen end i bunden",
"ca": "Barrera de seguretat, l'espai és menor a la part superior que a l'inferior"
"ca": "Barrera de seguretat, l'espai és menor a la part superior que a l'inferior",
"cs": "Zúžená brána, mezera nahoře je menší než dole"
},
"icon": {
"path": "./assets/themes/cycle_infra/Cycle_barrier_squeeze.png",

View file

@ -75,7 +75,8 @@
"en": "This bench is two-sided and shares the backrest",
"nl": "Dit is een dubbele bank waarbij de rugleuning gedeeld wordt",
"de": "Diese Bank ist zweiseitig und teilt sich die Rückenlehne",
"ca": "Aquest banc té dues cares i comparteix el respatller"
"ca": "Aquest banc té dues cares i comparteix el respatller",
"cs": "Tato lavička je oboustranná a má společné opěradlo."
},
"icon": {
"path": "./assets/layers/bench/two_sided.svg",
@ -216,7 +217,8 @@
"de": "Diese Bank hat keine getrennten Sitze",
"fr": "Ce banc n'a pas de sièges séparés",
"es": "Este banco no tiene asientos separados",
"ca": "Aquest banc no té els seients separats"
"ca": "Aquest banc no té els seients separats",
"cs": "Tato lavička nemá oddělená sedadla"
}
}
]
@ -757,7 +759,8 @@
"nl": "Vandaag nagekeken!",
"de": "Heute geprüft!",
"fr": "Vérifié sur le terrain aujourd'hui !",
"ca": "Inspeccionat avui!"
"ca": "Inspeccionat avui!",
"cs": "Zjištěno dnes!"
}
}
],
@ -776,14 +779,16 @@
"nl": "Deze bank heeft een inscriptie: <br/><p><i>{inscription}</i></p>",
"de": "Diese Bank hat folgende Inschrift:<br/><p><i>{inscription}</i></p>",
"fr": "Ce banc a l'inscription suivante :<br/><p><i>{inscription}</i></p>",
"ca": "Aquest banc té la següent inscripció:<br/><p><i>{inscription}</i></p>"
"ca": "Aquest banc té la següent inscripció:<br/><p><i>{inscription}</i></p>",
"cs": "Tato lavice má následující nápis:<br/><p><i>{inscription}</i></p>"
},
"question": {
"en": "Does this bench have an inscription?",
"nl": "Heeft deze bank een inscriptie?",
"de": "Hat diese Bank eine Inschrift? ",
"fr": "Est-ce que ce banc possède une inscription ?",
"ca": "Aquest banc té una inscripció?"
"ca": "Aquest banc té una inscripció?",
"cs": "Má tato lavička nápis?"
},
"freeform": {
"key": "inscription",
@ -800,7 +805,8 @@
"nl": "Deze bank heeft geen inscriptie",
"de": "Diese Bank hat keine Inschrift",
"fr": "Ce banc n'a pas d'inscription",
"ca": "Aquest banc no té cap inscripció"
"ca": "Aquest banc no té cap inscripció",
"cs": "Tato lavička nemá nápis"
},
"addExtraTags": [
"inscription="
@ -814,7 +820,8 @@
"de": "Diese Bank hat <span class='subtle'>(wahrscheinlich)</span> keine Inschrift",
"fr": "Ce banc n'a<span class='subtle'>(probablement)</span> pas d'inscription",
"es": "Este banco <span class='subtle'>(probablemente)</span> no tiene inscripción",
"ca": "Aquest banc <span class='subtle'>(probablement)</span> no té cap inscripció"
"ca": "Aquest banc <span class='subtle'>(probablement)</span> no té cap inscripció",
"cs": "Tato lavička <span class='subtle'>(pravděpodobně)</span> nemá nápis"
},
"hideInAnswer": true
}
@ -824,7 +831,8 @@
"nl": "Bijvoorbeeld op een aangebracht plakkaat, ingesneden in de rugleuning, ...",
"de": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ... ",
"fr": "Par exemple, sur une plaque accrochée, sur le dossier, ...",
"ca": "P. ex. en una placa, al respatller, ..."
"ca": "P. ex. en una placa, al respatller, ...",
"cs": "Např. na připevněné desce, v opěradle, ..."
}
},
{
@ -833,7 +841,8 @@
"en": "Does this bench have an artistic element?",
"nl": "Heeft deze bank een geïntegreerd kunstwerk?",
"de": "Hat diese Bank ein künstlerisches Element? ",
"ca": "Aquest banc té algun element artístic?"
"ca": "Aquest banc té algun element artístic?",
"cs": "Má tato lavička umělecké prvky?"
},
"mappings": [
{
@ -843,7 +852,8 @@
"nl": "Deze bank heeft een geïntegreerd kunstwerk",
"de": "Diese Bank hat ein integriertes Kunstwerk",
"fr": "Une oeuvre d'art est intégrée à ce banc",
"ca": "Aquest banc té integrada una obra d'art"
"ca": "Aquest banc té integrada una obra d'art",
"cs": "Tato lavička má integrované umělecké dílo"
}
},
{
@ -854,7 +864,8 @@
"de": "Diese Bank hat kein integriertes Kunstwerk",
"fr": "Ce banc n'a pas d'oeuvre d'art intégrée",
"es": "Este banco no tiene una obra de arte integrada",
"ca": "Aquest banc no té una obra d'art integrada"
"ca": "Aquest banc no té una obra d'art integrada",
"cs": "Tato lavička nemá integrované umělecké dílo"
}
}
],
@ -862,7 +873,8 @@
"en": "E.g. it has an integrated painting, statue or other non-trivial, creative work",
"nl": "Bijvoorbeeld een standbeeld, schildering of ander, niet-triviaal kunstwerk",
"de": "Z.B. hat es ein integriertes Gemälde, eine Statue oder eine andere nicht triviale, kreative Arbeit",
"ca": "P.e. té una pintura integrada, estatua o altres treballs no trivials i creatius"
"ca": "P.e. té una pintura integrada, estatua o altres treballs no trivials i creatius",
"cs": "Např. má integrovaný obraz, sochu nebo jiné netriviální tvůrčí dílo"
}
},
{
@ -883,7 +895,8 @@
"nl": "Is deze bank een gedenkteken voor iemand of iets?",
"de": "Dient diese Bank als Denkmal für jemanden oder etwas?",
"fr": "Ce banc sert-il de mémorial pour quelqu'un ou quelque chose ?",
"ca": "Aquest banc actua com a memorial per a algú o algo?"
"ca": "Aquest banc actua com a memorial per a algú o algo?",
"cs": "Slouží tato lavička jako památník někoho nebo něčeho?"
},
"mappings": [
{
@ -893,7 +906,8 @@
"nl": "Deze bank is een gedenkteken aan iemand of iets",
"de": "Diese Bank ist ein Denkmal für jemanden oder etwas",
"fr": "Ce banc est un mémorial pour quelqu'un ou quelque chose",
"ca": "Aquest banc és un memorial per a algú o alguna cosa"
"ca": "Aquest banc és un memorial per a algú o alguna cosa",
"cs": "Tato lavička je pomníkem pro někoho nebo něco"
},
"addExtraTags": [
"memorial=bench"
@ -911,7 +925,8 @@
"nl": "Deze bank is <b>geen</b> gedenkteken aan iemand of iets",
"de": "Diese Bank ist <b>kein</b> Denkmal für jemanden oder etwas",
"fr": "Ce banc n'est <b>pas</b> un mémorial pour quelqu'un ou quelque chose",
"ca": "Aquest banc <b>no</b> és un memorial per a algú o alguna cosa"
"ca": "Aquest banc <b>no</b> és un memorial per a algú o alguna cosa",
"cs": "Tato lavička <b>není</b> pro někoho nebo něco památníkem"
},
"addExtraTags": [
"memorial="
@ -1005,7 +1020,8 @@
"nl": "is een gedenkteken",
"de": "ist ein Denkmal",
"fr": "est un mémorial",
"ca": "és un memorial"
"ca": "és un memorial",
"cs": "je památník"
}
}
]
@ -1019,7 +1035,8 @@
"nl": "Met en zonder rugleuning",
"de": "Mit und ohne Rückenlehne",
"fr": "Avec et sans dossier",
"ca": "Amb i sense respatller"
"ca": "Amb i sense respatller",
"cs": "S opěradlem a bez opěradla"
}
},
{
@ -1029,7 +1046,8 @@
"nl": "Heeft een rugleuning",
"de": "Mit Rückenlehne",
"fr": "A un dossier",
"ca": "Té un respatller"
"ca": "Té un respatller",
"cs": "Má opěradlo"
}
},
{
@ -1039,7 +1057,8 @@
"nl": "Heeft geen rugleuning",
"de": "Ohne Rückenlehne",
"fr": "N'a pas de dossier",
"ca": "No té respatller"
"ca": "No té respatller",
"cs": "Nemá opěradlo"
}
}
]

View file

@ -104,7 +104,8 @@
"pt": "Banco em abrigo",
"es": "Banco en marquesina",
"da": "Bænk i læskur",
"cs": "Lavička v přístřešku"
"cs": "Lavička v přístřešku",
"ca": "Banc en marquesina"
}
}
]
@ -230,7 +231,8 @@
"de": "Diese Bushaltestelle hat keine Bank (es gab nie eine oder sie wurde entfernt)",
"fr": "Cette station de bus n'a pas de banc (il n'y en a jamais eu ou il a été retiré)",
"nl": "Deze bushalte heeft geen zitbank (er is er nooit een geweest of deze is verwijderd)",
"ca": "Aquesta para de bus no té un banc (mai n'ha tingut un o ha estat eliminat)"
"ca": "Aquesta para de bus no té un banc (mai n'ha tingut un o ha estat eliminat)",
"cs": "Na této autobusové zastávce není lavička (nikdy zde nebyla nebo byla odstraněna)"
}
}
],
@ -242,7 +244,8 @@
"de": "Diese Bushaltestelle wird nicht mehr genutzt",
"fr": "Cette station de bus n'est plus utilisée",
"nl": "Deze bushalte wordt niet meer gebruikt",
"ca": "Aquesta parada de bus no s'utilitza més"
"ca": "Aquesta parada de bus no s'utilitza més",
"cs": "Tato autobusová zastávka se již nepoužívá"
}
}
],

View file

@ -457,7 +457,8 @@
"de": "Wie viele type_plural können hier gemietet werden?",
"fr": "Combien de type_plural peuvent être loués ici ?",
"cs": "Kolik typů kol si zde můžete pronajmout?",
"es": "¿Cuántas type_plural pueden alquilarse aquí?"
"es": "¿Cuántas type_plural pueden alquilarse aquí?",
"ca": "Quantes type_plural poden llogar-se aquí?"
},
"render": {
"en": "{capacity:bicycle_type} type_plural can be rented here",
@ -465,7 +466,8 @@
"de": "{capacity:bicycle_type} type_plural können hier gemietet werden",
"fr": "{capacity:bicycle_type} type_plural peuvent être loués ici",
"cs": "{capacity:bicycle_type} typů si můžete pronajmout zde",
"es": "{capacity:bicycle_type} type_plural pueden alquilarse aquí"
"es": "{capacity:bicycle_type} type_plural pueden alquilarse aquí",
"ca": "{capacity:bicycle_type} type_plural es poden llogar aquí"
},
"freeform": {
"key": "capacity:bicycle_type",

View file

@ -74,7 +74,8 @@
"pt_BR": "Café de bicicleta <i>{name}</i>",
"pt": "Café de bicicleta <i>{name}</i>",
"da": "Cykelcafé <i>{name}</i>",
"cs": "Cyklokavárna <i>{name}</i>"
"cs": "Cyklokavárna <i>{name}</i>",
"ca": "Cafè ciclista <i>{name}</i>"
}
}
]
@ -207,7 +208,8 @@
"pt_BR": "Este café de bicicleta oferece ferramentas de reparo faça você mesmo",
"pt": "Este café de bicicleta oferece ferramentas de reparo faça você mesmo",
"da": "Denne cykelcafé tilbyder værktøj til gør-det-selv-reparation",
"cs": "Tato cyklokavárna nabízí nářadí pro kutilské opravy"
"cs": "Tato cyklokavárna nabízí nářadí pro kutilské opravy",
"ca": "Aquest cafè ciclista ofereix ferramentes per a la reparació DIY"
}
},
{
@ -225,7 +227,8 @@
"pt_BR": "Este café de bicicleta não oferece ferramentas de reparo faça você mesmo",
"pt": "Este café de bicicleta não oferece ferramentas de reparo faça você mesmo",
"da": "Denne cykelcafé tilbyder ikke værktøj til gør-det-selv-reparation",
"cs": "Tato cyklokavárna nenabízí nářadí pro kutilské opravy"
"cs": "Tato cyklokavárna nenabízí nářadí pro kutilské opravy",
"ca": "Aquest cafè ciclista no ofereix ferramentes per a la reparació DIY"
}
}
]

View file

@ -152,7 +152,7 @@
"fr": "Utilisation gratuite",
"da": "Gratis at bruge",
"cs": "Bezplatné používání",
"ca": "Debades"
"ca": "Gratuït"
},
"hideInAnswer": true
}
@ -216,7 +216,8 @@
"nl": "Dit fietsschoonmaakpunt is betalend",
"es": "Este servicio de limpieza es de pago",
"ca": "Aquest servei de neteja és de pagament",
"de": "Dieser Reinigungsservice ist kostenpflichtig"
"de": "Dieser Reinigungsservice ist kostenpflichtig",
"cs": "Tato úklidová služba je placená"
}
}
],

View file

@ -34,7 +34,8 @@
"ru": "Велостанция (накачка шин и ремонт)",
"es": "Estación de bicis (bomba y reparación)",
"da": "Cykelstation (pumpe og reparation)",
"ca": "Estació de bicicletes (bomba i reparació)"
"ca": "Estació de bicicletes (bomba i reparació)",
"cs": "Cyklistická stanice (pumpa a opravna)"
},
"mappings": [
{
@ -887,7 +888,8 @@
"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.",
"da": "En anordning til at fylde dine dæk op på et fast sted i det offentlige rum.",
"cs": "Zařízení pro huštění pneumatik na pevném místě na veřejném místě."
"cs": "Zařízení pro huštění pneumatik na pevném místě na veřejném místě.",
"ca": "Un dispositiu per a unflar les teues rodes en una posició fixa a l'espai públic."
},
"exampleImages": [
"./assets/layers/bike_repair_station/pump_example_round.jpg",

View file

@ -12,7 +12,8 @@
"pt": "Reparo/loja de bicicletas",
"ca": "Botiga/reparació de bicicletes",
"es": "Taller/tienda de bicis",
"da": "Cykelreparation/butik"
"da": "Cykelreparation/butik",
"cs": "Opravna/obchod s jízdními koly"
},
"minzoom": 13,
"allowMove": true,
@ -138,7 +139,8 @@
"pt_BR": "Reparo de bicicletas <i>{name}</i>",
"pt": "Reparo de bicicletas <i>{name}</i>",
"es": "Reparación de bicis <i>{name}</i>",
"da": "Cykelreparation <i>{name}</i>"
"da": "Cykelreparation <i>{name}</i>",
"ca": "Reparació de bicis <i>{name}</i>"
}
},
{
@ -158,7 +160,8 @@
"pt_BR": "Loja de bicicletas <i>{name}</i>",
"pt": "Loja de bicicletas <i>{name}</i>",
"es": "Tienda de bicis <i>{name}</i>",
"da": "Cykelforretning <i>{name}</i>"
"da": "Cykelforretning <i>{name}</i>",
"ca": "Botiga de bicis <i>{name}</i>"
}
},
{
@ -173,7 +176,8 @@
"pt_BR": "Loja/reparo de bicicletas <i>{name}</i>",
"pt": "Loja/reparo de bicicletas <i>{name}</i>",
"da": "Cykelværksted<i>{name}</i>",
"es": "Taller/tienda de bicis <i>{name}</i>"
"es": "Taller/tienda de bicis <i>{name}</i>",
"ca": "Taller/botiga de bicis <i>{name}</i>"
}
}
]
@ -213,7 +217,8 @@
"pt": "Uma loja que vende especificamente bicicletas ou itens relacionados",
"es": "Una tiene que vende específicamente bicis u objetos relacionados",
"da": "En butik, der specifikt sælger cykler eller relaterede varer",
"ca": "Una botiga que ven específicament bicicletes o articles relacionats"
"ca": "Una botiga que ven específicament bicicletes o articles relacionats",
"cs": "Obchod zaměřený na prodej jízdních kol nebo souvisejících předmětů"
},
"tagRenderings": [
"images",
@ -478,7 +483,8 @@
"pt": "Esta loja aluga bicicletas",
"es": "Esta tienda alquila bicis",
"da": "Denne butik udlejer cykler",
"ca": "Aquesta botiga lloga bicis"
"ca": "Aquesta botiga lloga bicis",
"cs": "Tento obchod pronajímá jízdní kola"
}
},
{
@ -584,7 +590,8 @@
"ru": "Предлагается ли в этом магазине велосипедный насос для всеобщего пользования?",
"es": "¿Esta tienda ofrece una bomba para que la utilice cualquiera?",
"da": "Tilbyder denne butik en cykelpumpe til brug for alle?",
"ca": "Aquesta botiga ofereix una manxa perquè la utilitzi qualsevol?"
"ca": "Aquesta botiga ofereix una manxa perquè la utilitzi qualsevol?",
"cs": "Nabízí tento obchod pumpu na kolo k použití pro kohokoli?"
},
"mappings": [
{
@ -599,7 +606,8 @@
"ru": "В этом магазине есть велосипедный насос для всеобщего пользования",
"es": "Esta tienda ofrece una bomba para cualquiera",
"da": "Denne butik tilbyder en cykelpumpe til alle",
"ca": "Aquesta botiga ofereix una manxa per a tothom"
"ca": "Aquesta botiga ofereix una manxa per a tothom",
"cs": "Tento obchod nabízí pumpu na kolo pro každého"
}
},
{
@ -614,7 +622,8 @@
"ru": "В этом магазине нет велосипедного насоса для всеобщего пользования",
"es": "Esta tienda no ofrece una bomba para cualquiera",
"da": "Denne butik tilbyder ikke en cykelpumpe til nogen",
"ca": "Aquesta botiga no ofereix una manxa per a tothom"
"ca": "Aquesta botiga no ofereix una manxa per a tothom",
"cs": "Tento obchod nenabízí pumpičku na kolo pro každého"
}
},
{
@ -627,7 +636,8 @@
"de": "Es gibt eine Luftpumpe, sie ist als separater Punkt eingetragen",
"es": "Hay una bomba para bicicletas, se muestra como un punto separado",
"da": "Der er cykelpumpe, den er vist som et separat punkt",
"ca": "Hi ha una manxa, es mostra com a un punt separat"
"ca": "Hi ha una manxa, es mostra com a un punt separat",
"cs": "K dispozici je pumpa na jízdní kola, je zobrazena jako samostatný bod"
}
}
]
@ -702,7 +712,8 @@
"de": "Bietet das Geschäft Fahrradreinigungen an?",
"es": "¿Aquí se lavan bicicletas?",
"da": "Vaskes cykler her?",
"ca": "Aquí es renten bicicletes?"
"ca": "Aquí es renten bicicletes?",
"cs": "Myjí se zde jízdní kola?"
},
"mappings": [
{
@ -716,7 +727,8 @@
"ru": "В этом магазине оказываются услуги мойки/чистки велосипедов",
"es": "Esta tienda limpia bicicletas",
"da": "Denne butik rengør cykler",
"ca": "Aquesta botiga renta bicicletes"
"ca": "Aquesta botiga renta bicicletes",
"cs": "Tento obchod čistí jízdní kola"
}
},
{
@ -729,7 +741,8 @@
"de": "Im Geschäft können Fahrräder selbst gereinigt werden",
"es": "Esta tienda tiene una instalación donde uno puede limpiar bicicletas por si mismo",
"da": "Denne butik har et anlæg, hvor man selv kan rengøre cykler",
"ca": "Aquesta botiga té una instal·lació on un pot rentar les bicis per un mateix"
"ca": "Aquesta botiga té una instal·lació on un pot rentar les bicis per un mateix",
"cs": "Tento obchod má zařízení, kde si můžete sami vyčistit jízdní kola"
}
},
{
@ -743,7 +756,8 @@
"ru": "В этом магазине нет услуг мойки/чистки велосипедов",
"es": "Esta tienda no ofrece limpieza de bicicletas",
"da": "Denne butik tilbyder ikke rengøring af cykler",
"ca": "Aquesta botiga no ofereix rentat de bicis"
"ca": "Aquesta botiga no ofereix rentat de bicis",
"cs": "Tento obchod nenabízí čištění jízdních kol"
}
}
]
@ -763,7 +777,8 @@
"ru": "Обслуживание велосипедов/магазин",
"es": "un taller/tienda de bicis",
"da": "en cykelværksted/butik",
"ca": "una botiga/reparació de bicicletes"
"ca": "una botiga/reparació de bicicletes",
"cs": "opravna/obchod s jízdními koly"
},
"tags": [
"shop=bicycle"

View file

@ -34,7 +34,8 @@
"de": "Mit Fahrrad zusammenhängendes Objekt",
"it": "Oggetto relativo alle bici",
"es": "Objeto relacionado con bicis",
"da": "Cykelrelateret objekt"
"da": "Cykelrelateret objekt",
"ca": "Objecte relacionat amb bicis"
},
"mappings": [
{
@ -94,6 +95,7 @@
"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",
"fr": "Une couche sur le thème des vélos mais qui ne correspondent à aucune autre couche",
"da": "Et lag med objekter med cykeltema, men som ikke matcher noget andet lag"
"da": "Et lag med objekter med cykeltema, men som ikke matcher noget andet lag",
"ca": "Una capa amb els objectes relacionats amb bicis però que no coinxideixen amb cap altra capa"
}
}

View file

@ -54,7 +54,7 @@
"da": "Gratis at bruge",
"es": "De uso gratuito",
"fr": "En libre service",
"ca": "Debades"
"ca": "Gratuït"
}
}
],
@ -131,7 +131,8 @@
"de": "Ein fest installiertes Teleskop oder Fernglas, für die öffentliche Nutzung. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"fr": "Une longue-vue ou une paire de jumelles montée sur un poteau, disponible au public pour scruter les environs. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"da": "Et teleskop eller en kikkert monteret på en stang, som offentligheden kan se sig omkring med. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"es": "Un telescopio o unos prismáticos montados en un poste, disponible para que el público mire alrededor. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />"
"es": "Un telescopio o unos prismáticos montados en un poste, disponible para que el público mire alrededor. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"ca": "Un telescopi o un parell de prismàtics muntats en un pal, a disposició del públic per mirar al seu voltant. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />"
},
"preciseInput": {
"preferredBackground": "photo"

View file

@ -6,7 +6,8 @@
"de": "Orte zur Vogelbeobachtung",
"es": "Lugares para ver pájaros",
"da": "Steder til fugleobservation",
"fr": "Lieu pour observer des oiseaux"
"fr": "Lieu pour observer des oiseaux",
"ca": "Llocs per a vore ocells"
},
"minzoom": 14,
"source": {
@ -77,7 +78,8 @@
"nl": "Een vogelkijkhut",
"da": "Et fugleskjul",
"de": "Ein Vogelbeobachtungsturm",
"fr": "Un observatoire ornithologique"
"fr": "Un observatoire ornithologique",
"ca": "Un observatori d'ocells"
},
"tagRenderings": [
"images",
@ -120,7 +122,8 @@
"nl": "Vogelkijkhut",
"da": "Fugleskjul",
"de": "Vogelbeobachtungsturm",
"fr": "Observatoire ornithologique"
"fr": "Observatoire ornithologique",
"ca": "Observatori d'ocells"
}
},
{
@ -286,7 +289,8 @@
"nl": "een vogelkijkhut",
"da": "et fugleskjul",
"de": "ein Gebäude zur Vogelbeobachtung",
"fr": "un observatoire ornithologique"
"fr": "un observatoire ornithologique",
"ca": "un observatori d'ocells"
},
"description": {
"en": "A covered shelter where one can watch birds comfortably",
@ -294,7 +298,8 @@
"de": "Ein überdachter Unterstand, in dem man bequem Vögel beobachten kann",
"es": "Un refugio cubierto donde se pueden ver pájaros confortablemente",
"da": "Et overdækket ly, hvor man kan se fugle i ro og mag",
"fr": "Un abris couvert pour observer les oiseaux confortablement"
"fr": "Un abris couvert pour observer les oiseaux confortablement",
"ca": "Un refugi cobert on es poden veure ocells confortablement"
}
},
{
@ -316,7 +321,8 @@
"es": "Una pantalla o pared con aperturas para ver pájaros",
"da": "En skærm eller væg med åbninger til at se på fugle",
"de": "Ein Schirm oder eine Wand mit Öffnungen zum Beobachten von Vögeln",
"fr": "Un écran ou un mur avec des ouvertures pour observer les oiseaux"
"fr": "Un écran ou un mur avec des ouvertures pour observer les oiseaux",
"ca": "Una pantalla o paret amb obertures per a observar ocells"
}
}
],
@ -353,7 +359,8 @@
"nl": "Enkel overdekte kijkhutten",
"de": "Nur überdachte Vogelbeobachtungsstellen",
"da": "Kun overdækkede fugleskjul",
"fr": "Seulement les observatoires ornithologiques couverts"
"fr": "Seulement les observatoires ornithologiques couverts",
"ca": "Només observatoris d'ocells coberts"
},
"osmTags": {
"and": [

View file

@ -289,7 +289,8 @@
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)",
"da": "<b>Schuko vægstik</b> uden jordstift (CEE7/4 type F)",
"de": "<b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)",
"es": "<b>Enchufe de pared Schuko</b> sin pin de tierra (CEE7/4 tipo F)"
"es": "<b>Enchufe de pared Schuko</b> sin pin de tierra (CEE7/4 tipo F)",
"ca": "<b>Endoll de paret Schuko</b> sense pin a terra (CEE7/4 tipus F)"
},
"icon": {
"path": "./assets/layers/charging_station/CEE7_4F.svg",
@ -320,7 +321,8 @@
"nl": "<b>Schuko stekker</b> zonder aardingspin (CEE7/4 type F)",
"da": "<b>Schuko vægstik</b> uden jordstift (CEE7/4 type F)",
"de": "<b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)",
"es": "<b>Enchufe de pared Schuko</b> sin pin de tierra (CEE7/4 tipo F)"
"es": "<b>Enchufe de pared Schuko</b> sin pin de tierra (CEE7/4 tipo F)",
"ca": "<b>Endoll de paret Schuko</b> sense pin a terra (CEE7/4 tipus F)"
},
"hideInAnswer": true,
"icon": {
@ -860,7 +862,8 @@
"nl": "<b>Type 2 met kabel</b> (J1772)",
"da": "<b>Type 2 med kabel</b> (mennekes)",
"de": "<b>Typ 2 mit Kabel</b> (mennekes)",
"es": "<b>Tipo 2 con cable</b> (mennekes)"
"es": "<b>Tipo 2 con cable</b> (mennekes)",
"ca": "<b>Tipus 2 amb cable</b> (mennekes)"
},
"hideInAnswer": true,
"icon": {
@ -922,7 +925,8 @@
"nl": "<b>Tesla Supercharger CCS</b> (een type2 CCS met Tesla-logo)",
"da": "<b>Tesla Supercharger CCS</b> (en mærkevare type2_css)",
"de": "<b>Tesla Supercharger CCS</b> (ein Markenzeichen von type2_css)",
"es": "<b>CCS Supercargador Tesla</b> (un tipo2_css con marca)"
"es": "<b>CCS Supercargador Tesla</b> (un tipo2_css con marca)",
"ca": "<b>CSS Supercarregador Tesla</b> (un tipus2_css de la marca)"
},
"hideInAnswer": true,
"icon": {
@ -938,7 +942,8 @@
"nl": "<b>Tesla Supercharger (destination)</b>",
"da": "<b> Tesla Supercharger (destination)</b>",
"de": "<b>Tesla Supercharger (Destination)</b>",
"es": "<b>Supercargador Tesla (destino</b>"
"es": "<b>Supercargador Tesla (destino)</b>",
"ca": "<b>Supercarregador Tesla (destí)</b>"
},
"icon": {
"path": "./assets/layers/charging_station/Tesla-hpwc-model-s.svg",
@ -989,7 +994,8 @@
"nl": "<b>Tesla Supercharger (destination)</b>",
"da": "<b> Tesla Supercharger (destination)</b>",
"de": "<b>Tesla Supercharger (Destination)</b>",
"es": "<b>Supercargador Tesla (destino)</b>"
"es": "<b>Supercargador Tesla (destino)</b>",
"ca": "<b>Supercarregador Tesla (destí)</b>"
},
"hideInAnswer": true,
"icon": {
@ -1391,12 +1397,14 @@
"question": {
"en": "How much plugs of type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> are available here?",
"nl": "Hoeveel stekkers van type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> heeft dit oplaadpunt?",
"de": "Wie viele Stecker des Typs <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> sind hier vorhanden?"
"de": "Wie viele Stecker des Typs <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> sind hier vorhanden?",
"ca": "Quants endolls del tipus <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> hi ha disponibles aquí?"
},
"render": {
"en": "There are <b class='text-xl'>{socket:type2}</b> plugs of type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> available here",
"nl": "Hier zijn <b class='text-xl'>{socket:type2}</b> stekkers van het type <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>",
"de": "Hier sind <b class='text-xl'>{socket:type2}</b> Stecker des Typs <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> vorhanden"
"de": "Hier sind <b class='text-xl'>{socket:type2}</b> Stecker des Typs <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> vorhanden",
"ca": "Hi ha <b class='text-xl'>{socket:type2}</b> endolls del tipus <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> disponibles aquí"
},
"freeform": {
"key": "socket:type2",
@ -3636,14 +3644,16 @@
"nl": "Welke stroom 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>?",
"da": "Hvilken strømstyrke har stikkene med <div style='display: inline-block'><b><b> USB</b> til opladning af telefoner og småt elektronikudstyr</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> ?",
"de": "Welche Stromstärke 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>?",
"es": "¿Qué corriente ofrecen los conectores con <div style='display:i nline-block'><b><b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños</b> <img style='width:1rem;display:inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?"
"es": "¿Qué corriente ofrecen los conectores con <div style='display:i nline-block'><b><b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños</b> <img style='width:1rem;display:inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>?",
"ca": "Quina corrent ofereixen els connectors amb <div style='display: inline-block'><b><b>USB</b>per a carrega telèfons i dispositius electrònics petits</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 at most {socket:USB-A:current}A",
"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> levert een stroom van maximaal {socket:USB-A:current}A",
"da": "<div style='display: inline-block'><b><b>USB</b> til opladning af telefoner og småt elektronikudstyr</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div> udsender højst {socket:USB-A:current}A",
"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 maximal {socket:USB-A:current} A",
"es": "<div style='display: inline-block'><b><b>USB</b> para carga teléfonos y dispositivos electrónicos pequeños</b> <img style='width:1rem; display: inline-block' src='./assets/layers/changing_station/usb_port.svg'></div> salida de hasta {socket:USB-A:current}A"
"es": "<div style='display: inline-block'><b><b>USB</b> para carga teléfonos y dispositivos electrónicos pequeños</b> <img style='width:1rem; display: inline-block' src='./assets/layers/changing_station/usb_port.svg'></div> salida de hasta {socket:USB-A:current}A",
"ca": "<div style='display: inline-block'><b><b>USB</b>per a carregar telèfons i petits dispositius electrònics</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/>\ncom a màxim a {socket:USB-A:current}A"
},
"freeform": {
"key": "socket:USB-A:current",
@ -3657,7 +3667,8 @@
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden levert een stroom van maximaal 1 A",
"da": "<b>USB</b> til opladning af telefoner og mindre elektronik yder højst 1 A",
"de": "<b>USB</b> zum Laden von Handys und kleinen Elektrogeräten liefert maximal 1 A",
"es": "<b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños hasta 1 A"
"es": "<b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños hasta 1 A",
"ca": "<b>USB</b> per a carregar telèfons i dispositius petits fins a 1 A"
},
"icon": {
"path": "./assets/layers/charging_station/usb_port.svg",
@ -3671,7 +3682,8 @@
"nl": "<b>USB</b> om GSMs en kleine electronica op te laden levert een stroom van maximaal 2 A",
"da": "<b>USB</b> til opladning af telefoner og små elektroniske apparater yder højst 2 A",
"de": "<b>USB</b> zum Laden von Handys und kleinen Elektrogeräten liefert maximal 2 A",
"es": "<b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños hasta 1 A"
"es": "<b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños hasta 1 A",
"ca": "<b>USB</b> per a carregar telèfons i dispositius petits fins a 2 A"
},
"icon": {
"path": "./assets/layers/charging_station/usb_port.svg",
@ -4052,7 +4064,8 @@
"da": "Hvilken form for godkendelse er tilgængelig ved ladestationen?",
"de": "Welche Art der Authentifizierung ist an der Ladestation möglich?",
"es": "¿Qué tipo de autenticación está disponible en esta estación de carga?",
"fr": "Quelle sorte d'authentification est disponible à cette station de charge ?"
"fr": "Quelle sorte d'authentification est disponible à cette station de charge ?",
"ca": "Quin tipus d'autenticació hi ha disponible a l'estació de càrrega?"
},
"multiAnswer": true,
"mappings": [
@ -4065,7 +4078,8 @@
"da": "Godkendelse med et medlemskort",
"de": "Authentifizierung per Mitgliedskarte",
"es": "Autenticación mediante tarjeta de membresía",
"fr": "Authentification par carte de membre"
"fr": "Authentification par carte de membre",
"ca": "Autenticació mitjançant una targeta de soci"
}
},
{
@ -4077,7 +4091,8 @@
"da": "Godkendelse med en app",
"de": "Authentifizierung per App",
"es": "Autenticación mediante aplicación",
"fr": "Authentification par une app"
"fr": "Authentification par une app",
"ca": "Autenticació mitjançant una aplicació"
}
},
{
@ -4089,7 +4104,8 @@
"da": "Godkendelse via telefonopkald er tilgængelig",
"de": "Authentifizierung per Anruf ist möglich",
"es": "Autenticación mediante llamada telefónica disponible",
"fr": "Authentification par appel téléphonique est disponible"
"fr": "Authentification par appel téléphonique est disponible",
"ca": "L'autenticació per trucada telefònica està disponible"
}
},
{
@ -4101,7 +4117,8 @@
"da": "Godkendelse via SMS er tilgængelig",
"de": "Authentifizierung per SMS ist möglich",
"es": "Autenticación mediante SMS disponible",
"fr": "Authentification par SMS est disponible"
"fr": "Authentification par SMS est disponible",
"ca": "L'autenticació per SMS està disponible"
}
},
{
@ -4113,7 +4130,8 @@
"da": "Godkendelse via NFC er tilgængelig",
"de": "Authentifizierung per NFC ist möglich",
"es": "Autenticación mediante NFC disponible",
"fr": "Authentification par NFC est disponible"
"fr": "Authentification par NFC est disponible",
"ca": "L'autenticació via NFC està disponible"
}
},
{
@ -4148,7 +4166,8 @@
"da": "Opladning her er (også) muligt uden godkendelse",
"de": "Das Laden ist hier (auch) ohne Authentifizierung möglich",
"es": "La carga aquí (también) es posible sin autenticación",
"fr": "Charger ici est (aussi) possible sans authentification"
"fr": "Charger ici est (aussi) possible sans authentification",
"ca": "Carregar aquí (també) és possible sense autenticació"
}
}
],
@ -4165,14 +4184,16 @@
"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>",
"da": "Godkend dig ved at ringe eller sende en sms til <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>"
"de": "Authentifizierung durch Anruf oder SMS an <a href='tel:{authentication:phone_call:number}'>{authentication:phone_call:number}</a>",
"ca": "Autentiqueu-vos trucant o enviant SMS a <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?",
"da": "Hvad er telefonnummeret til godkendelsesopkald eller SMS?",
"de": "Wie lautet die Telefonnummer für den Authentifizierungsanruf oder die SMS?",
"es": "¿Cual es el número de teléfono para la llamada de autenticación o SMS?"
"es": "¿Cual es el número de teléfono para la llamada de autenticación o SMS?",
"ca": "Quin és el número de telèfon per a la trucada d'autenticació o SMS?"
},
"freeform": {
"key": "authentication:phone_call:number",
@ -4203,7 +4224,8 @@
"nl": "De maximale parkeertijd hier is <b>{canonical(maxstay)}</b>",
"da": "Man kan højst blive <b>{canonical(maxstay)}</b>",
"de": "Die maximale Parkdauer beträgt <b>{canonical(maxstay)}</b>",
"es": "Se puede estar como máximo <b>{canonical(maxstay)}</b>"
"es": "Se puede estar como máximo <b>{canonical(maxstay)}</b>",
"ca": "Un pot quedar-se com a màxim <b>{canonical(maxstay)}</b>"
},
"mappings": [
{
@ -4405,7 +4427,8 @@
"question": {
"en": "What is the website where one can find more information about this charging station?",
"nl": "Wat is de website waar men meer info kan vinden over dit oplaadpunt?",
"de": "Auf welcher Webseite kann man weitere Informationen über diese Ladestation finden?"
"de": "Auf welcher Webseite kann man weitere Informationen über diese Ladestation finden?",
"ca": "Quina és la pàgina web on es pot trobar més informació sobre aquest punt de recàrrega?"
},
"render": {
"en": "More info on <a href='{website}'>{website}</a>",
@ -4445,7 +4468,8 @@
"nl": "Is dit oplaadpunt operationeel?",
"da": "Er denne ladestander i brug?",
"de": "Ist die Station in Betrieb?",
"es": "¿Está en uso este punto de carga?"
"es": "¿Está en uso este punto de carga?",
"ca": "Està en ús aquest punt de recàrrega?"
},
"mappings": [
{
@ -4520,7 +4544,8 @@
"nl": "Hier wordt op dit moment een oplaadpunt gebouwd",
"da": "Her er opført en ladestation",
"de": "Die Station ist aktuell im Bau",
"es": "Aquí está construida una estación de carga"
"es": "Aquí se está construyendo una estación de carga",
"ca": "Aquí està construint-se una estació de càrrega"
}
},
{
@ -4538,7 +4563,8 @@
"nl": "Dit oplaadpunt is niet meer in gebruik maar is wel nog aanwezig",
"da": "Denne ladestation er blevet permanent deaktiveret og er ikke længere i brug, men er stadig synlig",
"de": "Die Station ist dauerhaft geschlossen und nicht mehr in Nutzung, aber noch sichtbar",
"es": "Esta estación de carga se ha deshabilitado de forma permanente y ya no está en uso pero todavía es visible"
"es": "Esta estación de carga se ha deshabilitado de forma permanente y ya no está en uso pero todavía es visible",
"ca": "Aquesta estació de recàrrega s'ha desactivat permanentment i ja no s'utilitza, però encara és visible"
}
}
]
@ -4677,7 +4703,8 @@
"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)",
"da": "en ladestation til elektriske cykler med et normalt europæisk vægstik <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (beregnet til opladning af elektriske cykler)",
"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)",
"es": "una estación de carga para bicicletas eléctricas con un enchufe de pared europeo normal <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (pensado para cargar bicicletas eléctricas)"
"es": "una estación de carga para bicicletas eléctricas con un enchufe de pared europeo normal <img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (pensado para cargar bicicletas eléctricas)",
"ca": "una estació de càrrega per a bicicletes elèctriques amb un endoll de paret europeu normal<img src='./assets/layers/charging_station/typee.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (destinat a carregar bicicletes elèctriques)"
},
"preciseInput": {
"preferredBackground": "map"
@ -4694,7 +4721,8 @@
"nl": "een oplaadstation voor elektrische auto's",
"da": "en ladestation til biler",
"de": "Eine Ladestation für Elektrofahrzeuge",
"es": "una estación de carga para coches"
"es": "una estación de carga para coches",
"ca": "una estació de càrrega per a cotxes"
},
"preciseInput": {
"preferredBackground": "map"
@ -4820,7 +4848,8 @@
"nl": "Heeft een <div style='display: inline-block'><b><b>Type 1 met kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
"da": "Har et <div style='display: inline-block'><b><b> Type 1 med kabel</b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> stik",
"de": "Verfügt über einen <div style='display: inline-block'><b><b>Typ 1 </b> (J1772)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div> Stecker mit Kabel",
"es": "Tiene un conector de <div style='display: inline-block'><b><b>Tipo 1 con cable</b> (J1772)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>"
"es": "Tiene un conector de <div style='display: inline-block'><b><b>Tipo 1 con cable</b> (J1772)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>",
"ca": "Té un connector de <div style='display: inline-block'>Tipus 1 amb cable</b> (J1772)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>"
},
"osmTags": "socket:type1_cable~*"
},
@ -4853,7 +4882,8 @@
"nl": "Heeft een <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
"da": "Har et <div style='display: inline-block'><b><b> Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> stik",
"de": "Verfügt über einen <div style='display: inline-block'><b><b>Tesla Supercharger</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> Stecker",
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>",
"ca": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
},
"osmTags": "socket:tesla_supercharger~*"
},
@ -4863,7 +4893,8 @@
"nl": "Heeft een <div style='display: inline-block'><b><b>Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>",
"da": "Har en <div style='display: inline-block'><b><b> Type 2</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> connector",
"de": "Hat einen <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div> Anschluss",
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>"
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>",
"ca": "Té un connector <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>"
},
"osmTags": "socket:type2~*"
},
@ -4873,7 +4904,7 @@
"nl": "Heeft een <div style='display: inline-block'><b><b>Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>",
"da": "Har en <div style='display: inline-block'><b><b> Type 2 CCS</b> (mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> connector",
"de": "Hat einen <div style='display: inline-block'><b><b>Typ 2 CCS</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss",
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2 CCS</b> (mennekes</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
"es": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2 CCS</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
},
"osmTags": "socket:type2_combo~*"
},

View file

@ -47,7 +47,8 @@
"ja": "ルートの長さは平均で<b>{canonical(climbing:length)}</b>です",
"fr": "Les voies font <b>{canonical(climbing:length)}</b> de long en moyenne",
"it": "Le vie sono lunghe mediamente <b>{canonical(climbing:length)}</b>",
"es": "Las rutas miden <b>{canonical(climbing:length)}</b> de media"
"es": "Las rutas miden <b>{canonical(climbing:length)}</b> de media",
"ca": "Les rutes mesuren <b>{canonical(climbing:length)}</b> de mitja"
},
"question": {
"de": "Wie lang sind die Routen (durchschnittlich) in Metern?",
@ -56,7 +57,8 @@
"ja": "ルートの(平均)長さはメートル単位でいくつですか?",
"fr": "Quelle est la longueur moyenne des voies en mètres ?",
"it": "Quale è la lunghezza (media) delle vie in metri?",
"es": "¿Cual es la longitud (media) de las rutas en metros?"
"es": "¿Cual es la longitud (media) de las rutas en metros?",
"ca": "Quina és la longitud (mitjana) de les rutes en metres?"
},
"freeform": {
"key": "climbing:length",
@ -129,7 +131,8 @@
"ja": "ここでボルダリングはできますか?",
"nb_NO": "Er buldring mulig her?",
"fr": "Lescalade de bloc est-elle possible ici ?",
"it": "È possibile praticare bouldering qua?"
"it": "È possibile praticare bouldering qua?",
"ca": "És possible fer escalda en bloc aquí?"
},
"mappings": [
{
@ -141,7 +144,8 @@
"ja": "ボルダリングはここで可能です",
"nb_NO": "Buldring er mulig her",
"fr": "Lescalade de bloc est possible",
"it": "Larrampicata su massi è possibile qua"
"it": "Larrampicata su massi è possibile qua",
"ca": "Aquí és possible l'escalada en bloc"
}
},
{
@ -153,7 +157,8 @@
"ja": "ここではボルダリングはできません",
"nb_NO": "Buldring er ikke mulig her",
"fr": "Lescalade de bloc nest pas possible",
"it": "Larrampicata su massi non è possibile qua"
"it": "Larrampicata su massi non è possibile qua",
"ca": "Aquí no és possible l'escalada en bloc"
}
},
{
@ -164,7 +169,8 @@
"nl": "Bolderen kan hier, maar er zijn niet zoveel routes",
"ja": "ボルダリングは可能ですが、少しのルートしかありません",
"fr": "Lescalade de bloc est possible sur des voies précises",
"it": "Larrampicata su massi è possibile anche se su poche vie"
"it": "Larrampicata su massi è possibile anche se su poche vie",
"ca": "L'escalada en bloc és possible, tot i que només hi ha unes poques rutes"
}
},
{
@ -175,7 +181,8 @@
"nl": "Er zijn hier {climbing:boulder} bolderroutes",
"ja": "{climbing:boulder} ボルダールートがある",
"fr": "Il y a {climbing:boulder} voies descalade de bloc",
"it": "Sono presenti {climbing:boulder} vie di arrampicata su massi"
"it": "Sono presenti {climbing:boulder} vie di arrampicata su massi",
"ca": "Hi han {climbing:boulder} rutes d'escalada en bloc"
},
"hideInAnswer": true
}
@ -355,14 +362,16 @@
"es": "¿Se requiere una tasa para escalar aquí?",
"de": "Ist das Klettern hier gebührenpflichtig?",
"nl": "Moet men betalen om hier te klimmen?",
"fr": "Est-ce que la grimpe sur ce site est payante ?"
"fr": "Est-ce que la grimpe sur ce site est payante ?",
"ca": "Es requereix una tarifa per a pujar aquí?"
},
"render": {
"en": "A fee of {charge} should be paid for climbing here",
"de": "Zum Klettern wird eine Gebühr von {charge} erhoben",
"es": "Se debe de pagar una tasa de {charge} para escalar aquí",
"nl": "Men moet {charge} betalen om hier te klimmen",
"fr": "Une taxe de {charge} doit être payée pour grimper ici"
"fr": "Une taxe de {charge} doit être payée pour grimper ici",
"ca": "S'ha de pagar una tarifa de {charge} per a escalar aquí"
},
"freeform": {
"key": "charge",
@ -382,7 +391,8 @@
"de": "Das Klettern ist hier kostenlos",
"es": "La escalada es gratis",
"nl": "Hier klimmen is gratis",
"fr": "Grimper ici est gratuit"
"fr": "Grimper ici est gratuit",
"ca": "L'escalada en bloc aquí és gratuïta"
}
},
{
@ -397,7 +407,8 @@
"es": "Hay que pagar una tasa para escalar aquí",
"de": "Zum Klettern ist eine Gebühr zu zahlen",
"nl": "Men moet betalen om hier te klimmen",
"fr": "Il faut payer une taxe pour grimper ici"
"fr": "Il faut payer une taxe pour grimper ici",
"ca": "Cal pagar una quota per a escalar aquí"
},
"hideInAnswer": "charge~*"
}

View file

@ -32,7 +32,8 @@
"en": "In what way is the clock mounted?",
"nl": "Hoe is de klok bevestigd?",
"de": "Wie ist die Uhr montiert?",
"ca": "De quina forma està muntat aquest rellotge?"
"ca": "De quina forma està muntat aquest rellotge?",
"fr": "De quelle manière est fixée cette horloge ?"
},
"mappings": [
{
@ -41,7 +42,8 @@
"en": "This clock is mounted on a pole",
"nl": "Deze klok is bevestigd aan een paal",
"de": "Diese Uhr ist auf einem Mast montiert",
"ca": "Aquest rellotge està muntat en un pal"
"ca": "Aquest rellotge està muntat en un pal",
"fr": "Cette horloge est montée sur un poteau"
}
},
{
@ -50,7 +52,8 @@
"en": "This clock is mounted on a wall",
"nl": "Deze klok is bevestigd aan een muur",
"de": "Diese Uhr ist an einer Wand montiert",
"ca": "Aquest rellotge està muntat en una paret"
"ca": "Aquest rellotge està muntat en una paret",
"fr": "Cette horloge est fixée sur un mur"
}
},
{
@ -59,7 +62,8 @@
"en": "This clock is part of a billboard",
"nl": "Deze klok is onderdeel van een reclamebord",
"de": "Diese Uhr ist Teil einer Werbetafel",
"ca": "Aquest rellotge està muntat en una tanca publicitària"
"ca": "Aquest rellotge està muntat en una tanca publicitària",
"fr": "Cette horloge fait partie d'un panneau publicitaire"
}
},
{
@ -68,7 +72,8 @@
"en": "This clock is on the ground",
"nl": "Deze klok staat op de grond",
"de": "Diese Uhr befindet sich auf dem Boden",
"ca": "Aquest rellotge està al sòl"
"ca": "Aquest rellotge està al sòl",
"fr": "Cette horloge est posée au sol"
}
}
]
@ -79,7 +84,8 @@
"en": "How does this clock display the time?",
"nl": "Hoe toont deze klok de tijd?",
"de": "Wie zeigt diese Uhr die Zeit an?",
"ca": "Com mostra aquest rellotge l'hora?"
"ca": "Com mostra aquest rellotge l'hora?",
"fr": "Comment cette horloge indique-t-elle l'heure ?"
},
"mappings": [
{
@ -88,7 +94,8 @@
"en": "This clock displays the time with hands",
"nl": "Deze klok toont de tijd met wijzers",
"de": "Diese Uhr zeigt die Zeit mit Zeigern an",
"ca": "Aquest rellotge mostra l'hora amb mans"
"ca": "Aquest rellotge mostra l'hora amb mans",
"fr": "Cette horloge indique l'heure avec des aiguilles"
}
},
{
@ -97,7 +104,8 @@
"en": "This clock displays the time with digits",
"nl": "Deze klok toont de tijd met cijfers",
"de": "Diese Uhr zeigt die Zeit mit Ziffern an",
"ca": "Aquest rellotge mostra l'hora amb dígits"
"ca": "Aquest rellotge mostra l'hora amb dígits",
"fr": "Cette horloges indique l'heure avec des chiffres numériques"
}
},
{
@ -106,7 +114,8 @@
"en": "This clock displays the time with a sundial",
"nl": "Deze klok toont de tijd met een zonnewijzer",
"de": "Diese Uhr zeigt die Zeit mit einer Sonnenuhr an",
"ca": "Aquest rellotge mostra l'hora amb un rellotge de sol"
"ca": "Aquest rellotge mostra l'hora amb un rellotge de sol",
"fr": "Cette horloge indique l'heure grâce au soleil"
}
},
{
@ -115,7 +124,8 @@
"en": "This clock displays the time in a non-standard way, e.g using binary, water or something else",
"nl": "Deze klok toont de tijd op een niet-standaard manier, bijvoorbeeld met binaire cijfers, water of iets anders",
"de": "Diese Uhr zeigt die Zeit auf eine nicht standardisierte Weise an, z. B. mit Binärzeichen, Wasser oder etwas anderem",
"ca": "Aquest rellotge mostra l'hora d'una manera no estàndard, p.e. utilitzant binari, aigua o quelcom més"
"ca": "Aquest rellotge mostra l'hora d'una manera no estàndard, p.e. utilitzant binari, aigua o quelcom més",
"fr": "Cette horloge indique l'heure d'une manière inhabituelle, par ex. en binaire, avec de l'eau, ou autre"
}
}
]
@ -164,7 +174,8 @@
"en": "Does this clock also display the date?",
"nl": "Toont deze klok ook de datum?",
"de": "Zeigt diese Uhr auch das Datum an?",
"ca": "Aquest rellotge també mostra la data?"
"ca": "Aquest rellotge també mostra la data?",
"fr": "Cette horloge indique-t-elle également la date ?"
},
"mappings": [
{
@ -173,7 +184,8 @@
"en": "This clock also displays the date",
"nl": "Deze klok toont ook de datum",
"de": "Diese Uhr zeigt auch das Datum an",
"ca": "Aquest rellotge també mostra la data"
"ca": "Aquest rellotge també mostra la data",
"fr": "Cette horloge indique également la date"
}
},
{
@ -182,7 +194,8 @@
"en": "This clock does not display the date",
"nl": "Deze klok toont de datum niet",
"de": "Diese Uhr zeigt kein Datum an",
"ca": "Aquest rellotge no mostra la data"
"ca": "Aquest rellotge no mostra la data",
"fr": "Cette horloge n'indique pas la date"
}
},
{
@ -230,7 +243,8 @@
"en": "This clock does probably not display the temperature",
"nl": "Deze klok toont de temperatuur waarschijnlijk niet",
"de": "Diese Uhr zeigt wahrscheinlich nicht die Temperatur an",
"ca": "Aquest rellotge probablement no mostra la temperatura"
"ca": "Aquest rellotge probablement no mostra la temperatura",
"fr": "Cette horloge n'indique probablement pas la date"
},
"hideInAnswer": true
}
@ -281,7 +295,8 @@
"en": "Does this clock also display the humidity?",
"nl": "Toont deze klok ook de luchtvochtigheid?",
"de": "Zeigt diese Uhr auch die Luftfeuchtigkeit an?",
"ca": "Aquest rellotge també mostra la humitat?"
"ca": "Aquest rellotge també mostra la humitat?",
"fr": "Cette horloge indique-t-elle également l'humidité ?"
},
"mappings": [
{
@ -290,7 +305,8 @@
"en": "This clock also displays the humidity",
"nl": "Deze klok toont ook de luchtvochtigheid",
"de": "Diese Uhr zeigt auch die Luftfeuchtigkeit an",
"ca": "Aquest rellotge també mostra la humitat"
"ca": "Aquest rellotge també mostra la humitat",
"fr": "Cette horloge indique également l'humidité"
}
},
{
@ -299,7 +315,8 @@
"en": "This clock does not display the humidity",
"nl": "Deze klok toont de luchtvochtigheid niet",
"de": "Diese Uhr zeigt nicht die Luftfeuchtigkeit an",
"ca": "Aquest rellotge no mostra la humitat"
"ca": "Aquest rellotge no mostra la humitat",
"fr": "Cette horloge n'indique pas l'humidité"
}
},
{
@ -308,7 +325,8 @@
"en": "This clock does probably not display the humidity",
"nl": "Deze klok toont de luchtvochtigheid waarschijnlijk niet",
"de": "Diese Uhr zeigt wahrscheinlich nicht die Luftfeuchtigkeit an",
"ca": "Aquest rellotge probablement no mostra la humitat"
"ca": "Aquest rellotge probablement no mostra la humitat",
"fr": "Cette horloge n'indique probablement pas l'humidité"
},
"hideInAnswer": true
}
@ -320,7 +338,8 @@
"en": "How many faces does this clock have?",
"nl": "Hoeveel klokken heeft deze klok?",
"de": "Wie viele Zifferblätter hat diese Uhr?",
"ca": "Quantes cares té aquest rellotge?"
"ca": "Quantes cares té aquest rellotge?",
"fr": "Combien de faces a cette horloge ?"
},
"freeform": {
"key": "faces",
@ -337,7 +356,8 @@
"en": "This clock has {faces} faces",
"nl": "Deze klok heeft {faces} klokken",
"de": "Diese Uhr hat {faces} Zifferblätter",
"ca": "Aquest rellotge té {faces} cares"
"ca": "Aquest rellotge té {faces} cares",
"fr": "Cette horloge a {faces} faces"
},
"mappings": [
{
@ -346,7 +366,8 @@
"en": "This clock has one face",
"nl": "Deze klok heeft één klok",
"de": "Diese Uhr hat ein Zifferblatt",
"ca": "Aquest rellotge té una cara"
"ca": "Aquest rellotge té una cara",
"fr": "Cette horloge a une face"
}
},
{
@ -355,7 +376,8 @@
"en": "This clock has two faces",
"nl": "Deze klok heeft twee klokken",
"de": "Diese Uhr hat zwei Zifferblätter",
"ca": "Aquest rellotge té dues cares"
"ca": "Aquest rellotge té dues cares",
"fr": "Cette horloge a deux faces"
}
},
{
@ -364,7 +386,8 @@
"en": "This clock has four faces",
"nl": "Deze klok heeft vier klokken",
"de": "Diese Uhr hat vier Zifferblätter",
"ca": "Aquest rellotge té quatre cares"
"ca": "Aquest rellotge té quatre cares",
"fr": "Cette horloge a quatre faces"
}
}
]
@ -409,7 +432,8 @@
"en": "A publicly visible clock mounted on a wall",
"nl": "Een publiekelijk zichtbare klok aan een muur",
"de": "Eine öffentlich sichtbare Uhr an einer Wand",
"ca": "Un rellotge visible públicament muntat en una paret"
"ca": "Un rellotge visible públicament muntat en una paret",
"fr": "Une horloge publique fixée sur un mur"
},
"preciseInput": {
"preferredBackground": [

View file

@ -224,7 +224,8 @@
"nl": "Er is een fietspad aangrenzend aan de weg (gescheiden met verf)",
"de": "Es gibt eine Spur neben der Straße (getrennt durch eine Straßenmarkierung)",
"es": "Hay un carril a lado de la carretera (separado con pintura)",
"fr": "Il y a une piste cyclable separée de la route"
"fr": "Il y a une piste cyclable separée de la route",
"ca": "Hi ha un carril al costat de la carretera (separat amb pintura)"
}
},
{

View file

@ -155,7 +155,7 @@
"if": "access=yes",
"then": {
"en": "Publicly accessible",
"ca": "Accés lliure",
"ca": "Accessible al públic",
"es": "Acceso libre",
"fr": "Librement accessible",
"nl": "Publiek toegankelijk",
@ -170,7 +170,7 @@
"if": "access=public",
"then": {
"en": "Publicly accessible",
"ca": "Publicament accessible",
"ca": "Accessible al públic",
"es": "Publicament accesible",
"fr": "Librement accessible",
"nl": "Publiek toegankelijk",
@ -460,7 +460,8 @@
"it": "Qual è il numero identificativo ufficiale di questo dispositivo? (se visibile sul dispositivo)",
"de": "Wie lautet die offizielle Identifikationsnummer des Geräts? (falls am Gerät sichtbar)",
"sl": "Kakšna je uradna identifikacijska številka te naprave? (če je vidna na napravi)",
"es": "¿Cual es el número de identificación oficial de este dispositivo? (si está visible en el dispositivo)"
"es": "¿Cual es el número de identificación oficial de este dispositivo? (si está visible en el dispositivo)",
"ca": "Quin és el número d'identificació oficial del dispositiu? (si està visible al dispositiu)"
},
"freeform": {
"type": "text",
@ -510,7 +511,8 @@
"it": "Qual è il numero di telefono per le domande riguardanti questo defibrillatore?",
"de": "Wie lautet die Telefonnummer für Fragen zu diesem Defibrillator?",
"sl": "Kakšna je telefonska številka za vprašanja o tem defibrilatorju?",
"es": "¿Cual es el número de teléfono para preguntas sobre este desfibrilador?"
"es": "¿Cual es el número de teléfono para preguntas sobre este desfibrilador?",
"ca": "Quin és el número de telèfon on preguntar sobre aquest desfibril·lador?"
},
"freeform": {
"key": "phone",
@ -622,7 +624,8 @@
"it": "Cè qualcosa di sbagliato riguardante come è stato mappato, che non si è potuto correggere qua? (lascia una nota agli esperti di OpenStreetMap)",
"de": "Gibt es einen Fehler in der Kartierung, den Sie hier nicht beheben konnten? (hinterlasse eine Notiz für OpenStreetMap-Experten)",
"sl": "Ali je kaj narobe s tem vnosom na zemljevid, in tega niste mogli sami popraviti tu? (pustite opombo OpenStreetMap strokovnjakom)",
"es": "¿Hay algo mal con como esta mapeado, que no pudiste arreglar aquí? (deja una nota para los expertos de OpenStreetMap)"
"es": "¿Hay algo mal con como esta mapeado, que no pudiste arreglar aquí? (deja una nota para los expertos de OpenStreetMap)",
"ca": "Hi ha alguna cosa malament en la manera de com està mapejat això, que no heu pogut solucionar aquí? (deixeu una nota als experts d'OpenStreetMap)"
},
"freeform": {
"key": "fixme",

View file

@ -94,7 +94,8 @@
"da": "Denne hundskov er indhegnet",
"de": "Dieser Hundepark ist komplett umzäunt",
"es": "Este parque para perros está cerrado todo alrededor",
"nl": "Deze hondenweide is volledig omheind"
"nl": "Deze hondenweide is volledig omheind",
"ca": "Aquest parc per a gossos està tancat per tot arreu"
}
},
{

View file

@ -60,7 +60,8 @@
"it": "una acqua potabile",
"ru": "питьевая вода",
"id": "air minum",
"hu": "ivóvíz"
"hu": "ivóvíz",
"ca": "una font d'aigua potable"
},
"tags": [
"amenity=drinking_water"
@ -77,7 +78,8 @@
"fr": "Ce point d'eau potable est-il toujours opérationnel ?",
"de": "Ist diese Trinkwasserstelle noch in Betrieb?",
"hu": "Működik-e még ez az ivóvíznyerő hely?",
"es": "¿Todavía esta operativo este punto de agua potable?"
"es": "¿Todavía esta operativo este punto de agua potable?",
"ca": "Aquest punt d'aigua potable continua operatiu?"
},
"render": {
"en": "The operational status is <i>{operational_status}</i>",
@ -86,7 +88,8 @@
"fr": "L'état opérationnel est <i>{operational_status}</i>",
"de": "Der Betriebsstatus ist <i>{operational_status}</i>",
"hu": "Működési állapota: <i>{operational_status}</i>",
"es": "El estado operacional es <i>{operational_status}</i>"
"es": "El estado operacional es <i>{operational_status}</i>",
"ca": "L'estat operatiu és <i>{operational_status}</i>"
},
"freeform": {
"key": "operational_status"
@ -114,7 +117,8 @@
"fr": "Cette fontaine est cassée",
"de": "Diese Trinkwasserstelle ist kaputt",
"hu": "Ez az ivóvízkút elromlott",
"es": "Esta agua potable está rota"
"es": "Esta agua potable está rota",
"ca": "Aquesta font d'aigua potable està trencada"
}
},
{
@ -126,7 +130,8 @@
"fr": "Cette fontaine est fermée",
"de": "Diese Trinkwasserstelle wurde geschlossen",
"hu": "Ez az ivóvízkút el van zárva",
"es": "Esta agua potable está cerrada"
"es": "Esta agua potable está cerrada",
"ca": "Aquesta font d'aigua potable està tancada"
}
}
],
@ -211,7 +216,8 @@
"en": "This is a decorative fountain of which the water is not drinkable by humans",
"nl": "Dit is een decoratieve fontein waarvan het water niet geschikt is om te drinken door mensen",
"de": "Dies ist ein Zierbrunnen, dessen Wasser für den Menschen nicht trinkbar ist",
"es": "Esta es una fuente decorativa con agua no potable"
"es": "Esta es una fuente decorativa con agua no potable",
"ca": "Es tracta d'una font decorativa amb aigua no potable"
}
},
{
@ -226,7 +232,8 @@
"en": "This is a water tap or water pump with non-drinkable water.<div class='subtle'>Examples are water taps with rain water to tap water for nearby plants</div>",
"nl": "Dit is een waterkraan of waterpomp met ondrinkbaar water.<div class='subtle'>Bijvoorbeeld een waterkraan met regenwater om planten water mee te geven</div",
"de": "Dies ist ein Wasserhahn oder eine Wasserpumpe mit nicht trinkbarem Wasser.<div class='subtle'>Beispiele sind Wasserhähne mit Regenwasser zum Zapfen von Wasser für nahe gelegene Pflanzen</div>",
"es": "Este es un grifo de agua o una bomba de agua con agua no potable.<div class='subtle'>Ejemplos son grifos con agua de lluvia o agua del grifo para plantas cercanas</div>"
"es": "Este es un grifo de agua o una bomba de agua con agua no potable.<div class='subtle'>Ejemplos son grifos con agua de lluvia o agua del grifo para plantas cercanas</div>",
"ca": "Es tracta d'una aixeta d'aigua o bomba d'aigua amb aigua no potable. <div class='subtle'> Per exemple les aixetes d'aigua amb aigua de pluja per aprofitar i regar les plantes properes</div>"
}
}
]
@ -264,6 +271,7 @@
"hu": "Ivóvizet adó kutakat megjelenítő réteg",
"de": "Eine Ebene mit Trinkwasserbrunnen",
"es": "Una capa que muestra fuentes de agua potable",
"fr": "Une couche montrant les fontaines d'eau potable"
"fr": "Une couche montrant les fontaines d'eau potable",
"ca": "Una capa que mostra fonts d'aigua potable"
}
}

View file

@ -209,7 +209,7 @@
"nl": "Dit station wordt beheerd door de overheid.",
"de": "Die Station wird von einer Behörde betrieben.",
"es": "Este parque de bomberos lo opera el gobierno.",
"ca": "Aquest parc l'opera el govern."
"ca": "Aquest parc el gestiona el govern."
}
},
{
@ -225,7 +225,7 @@
"it": "Questa stazione è gestita dalla comunità oppure unassociazione informale.",
"nl": "Dit station wordt beheerd door een informele of gemeenschapsorganisatie.",
"de": "Die Feuerwache wird von einer gemeinnützigen Organisation betrieben.",
"ca": "Aquesta estació l'opera una comunitat o organització informal."
"ca": "Aquesta estació la gestiona una comunitat o organització informal."
}
},
{
@ -241,7 +241,7 @@
"it": "Questa stazione è gestita da un gruppo di volontari ufficiale.",
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers.",
"de": "Die Feuerwache wird von einer Freiwilligenorganisation betrieben.",
"ca": "Aquest operació l'opera un grup formal de voluntaris."
"ca": "Aquesta estació la gestiona un grup formal de voluntaris."
}
},
{
@ -257,7 +257,7 @@
"it": "Questa stazione è gestita da privati.",
"nl": "Dit station wordt door private organisatie beheerd.",
"de": "Die Feuerwache wird von einer privaten Organisation betrieben.",
"ca": "Aquesta estació l'opera una entitat privada."
"ca": "Aquesta estació la gestiona una entitat privada."
}
}
]

View file

@ -57,7 +57,8 @@
"render": {
"en": "This fitness centre is called {name}",
"de": "Das Fitnessstudio heißt {name}",
"nl": "Dit fitness-centrum heet {name}"
"nl": "Dit fitness-centrum heet {name}",
"ca": "Aquest gimnàs / centre de fitness s'anomena {name}"
}
},
"images",

View file

@ -484,7 +484,8 @@
"nl": "Eten kan hier afgehaald worden",
"de": "Hier werden Gerichte auch zum Mitnehmen angeboten",
"es": "Aquí es posible pedir para llevar",
"fr": "La vente à emporter est possible ici"
"fr": "La vente à emporter est possible ici",
"ca": "Aquí és possible demanar per emportar"
}
},
{
@ -494,7 +495,8 @@
"nl": "Hier is geen afhaalmogelijkheid",
"de": "Hier werden Gerichte nicht zum Mitnehmen angeboten",
"es": "Aquí no es posible pedir para llevar",
"fr": "La vente à emporter n'est pas possible ici"
"fr": "La vente à emporter n'est pas possible ici",
"ca": "Aquí no és possible demanar per emportar"
}
}
],
@ -516,7 +518,8 @@
"en": "This business does home delivery (eventually via a third party)",
"de": "Dieses Unternehmen liefert nach Hause (eventuell über eine dritte Partei)",
"fr": "Ce restaurant effectue la livraison à domicile (éventuellement via un tiers)",
"nl": "Deze zaak levert aan huis (eventueel via een derde partij)"
"nl": "Deze zaak levert aan huis (eventueel via een derde partij)",
"ca": "Aquest negoci fa lliuraments a domicili (eventualment a través d'un tercer)"
}
},
{
@ -525,7 +528,8 @@
"en": "This business does not deliver at home",
"de": "Dieses Unternehmen liefert nicht nach Hause",
"fr": "Ce restaurant ne livre pas à domicile",
"nl": "Deze zaak doet geen thuisleveringen"
"nl": "Deze zaak doet geen thuisleveringen",
"ca": "Aquest negoci no fa lliurament a casa"
}
}
]
@ -536,7 +540,8 @@
"en": "Does this restaurant have a vegetarian option?",
"de": "Werden hier vegetarische Gerichte angeboten?",
"es": "¿Este restaurante tiene una opción vegetariana?",
"fr": "Ce restaurant propose-t-il une option végétarienne ?"
"fr": "Ce restaurant propose-t-il une option végétarienne ?",
"ca": "Aquest restaurant té opció vegetariana?"
},
"mappings": [
{
@ -546,7 +551,8 @@
"nl": "Geen vegetarische opties beschikbaar",
"de": "Hier werden keine vegetarischen Gerichte angeboten",
"es": "Sin opciones vegetarianas",
"fr": "Aucune option végétarienne n'est disponible"
"fr": "Aucune option végétarienne n'est disponible",
"ca": "No hi ha opcions vegetarianes disponibles"
}
},
{
@ -556,7 +562,8 @@
"nl": "Beperkte vegetarische opties zijn beschikbaar",
"de": "Hier werden nur wenige vegetarische Gerichte angeboten",
"es": "Algunas opciones vegetarianas",
"fr": "Certaines options végétariennes sont disponibles"
"fr": "Certaines options végétariennes sont disponibles",
"ca": "Algunes opcions vegetarianes"
}
},
{
@ -566,7 +573,8 @@
"nl": "Vegetarische opties zijn beschikbaar",
"de": "Hier werden vegetarische Gerichte angeboten",
"es": "Opciones vegetarianas disponibles",
"fr": "Des options végétariennes sont disponibles"
"fr": "Des options végétariennes sont disponibles",
"ca": "Hi ha opcions vegetarianes disponibles"
}
},
{
@ -576,7 +584,8 @@
"nl": "Enkel vegetarische opties zijn beschikbaar",
"de": "Hier werden ausschließlich vegetarische Gerichte angeboten",
"es": "Todos los platos son vegetarianos",
"fr": "Tous les plats sont végétariens"
"fr": "Tous les plats sont végétariens",
"ca": "Tots els plats són vegetarians"
}
}
],
@ -589,7 +598,8 @@
"nl": "Heeft deze eetgelegenheid een veganistische optie?",
"de": "Werden hier vegane Gerichte angeboten?",
"es": "¿Este negocio sirve comida vegana?",
"fr": "Cet établissement sert-il des repas végétaliens ?"
"fr": "Cet établissement sert-il des repas végétaliens ?",
"ca": "Aquest negoci serveix menjars vegans?"
},
"mappings": [
{
@ -599,7 +609,8 @@
"nl": "Geen veganistische opties beschikbaar",
"de": "Hier werden keine veganen Gerichte angeboten",
"es": "Sin opciones veganas disponibles",
"fr": "Aucune option végétalienne disponible"
"fr": "Aucune option végétalienne disponible",
"ca": "No hi ha opcions veganes disponibles"
}
},
{
@ -609,7 +620,8 @@
"nl": "Beperkte veganistische opties zijn beschikbaar",
"de": "Hier werden nur wenige vegane Gerichte angeboten",
"es": "Alguna opciones veganas disponibles",
"fr": "Certaines options végétaliennes sont disponibles"
"fr": "Certaines options végétaliennes sont disponibles",
"ca": "Hi ha algunes opcions veganes disponibles"
}
},
{
@ -619,7 +631,8 @@
"nl": "Veganistische opties zijn beschikbaar",
"de": "Hier werden vegane Gerichte angeboten",
"es": "Opciones veganas disponibles",
"fr": "Des options végétaliennes sont disponibles"
"fr": "Des options végétaliennes sont disponibles",
"ca": "Hi ha opcions veganes disponibles"
}
},
{
@ -629,7 +642,8 @@
"nl": "Enkel veganistische opties zijn beschikbaar",
"de": "Hier werden ausschließlich vegane Gerichte angeboten",
"es": "Todos los platos son veganos",
"fr": "Tous les plats sont végétaliens"
"fr": "Tous les plats sont végétaliens",
"ca": "Tots els plats són vegans"
}
}
],
@ -641,7 +655,8 @@
"en": "Does this restaurant offer a halal menu?",
"nl": "Heeft dit restaurant halal opties?",
"de": "Werden hier halal Gerichte angeboten?",
"fr": "Ce restaurant propose-t-il un menu halal ?"
"fr": "Ce restaurant propose-t-il un menu halal ?",
"ca": "Aquest restaurant ofereix un menú halal?"
},
"mappings": [
{
@ -650,7 +665,8 @@
"en": "There are no halal options available",
"nl": "Er zijn geen halal opties aanwezig",
"de": "Hier werden keine halal Gerichte angeboten",
"fr": "Il n'y a pas d'options halal disponibles"
"fr": "Il n'y a pas d'options halal disponibles",
"ca": "No hi ha opcions halal disponibles"
}
},
{
@ -659,7 +675,8 @@
"en": "There is a small halal menu",
"nl": "Er zijn een beperkt aantal halal opties",
"de": "Hier werden nur wenige halal Gerichte angeboten",
"fr": "Il y a un petit menu halal"
"fr": "Il y a un petit menu halal",
"ca": "Hi ha un petit menú halal"
}
},
{
@ -668,7 +685,8 @@
"nl": "Halal menu verkrijgbaar",
"en": "There is a halal menu",
"de": "Hier werden halal Gerichte angeboten",
"fr": "Il y a un menu halal"
"fr": "Il y a un menu halal",
"ca": "Hi ha un menú halal"
}
},
{
@ -677,7 +695,8 @@
"nl": "Enkel halal opties zijn beschikbaar",
"en": "Only halal options are available",
"de": "Hier werden ausschließlich halal Gerichte angeboten",
"fr": "Seules les options halal sont disponibles"
"fr": "Seules les options halal sont disponibles",
"ca": "Només hi ha opcions halal disponibles"
}
}
],
@ -690,7 +709,8 @@
"en": "Does this restaurant offer organic food?",
"de": "Bietet dieses Restaurant biologische Speisen an?",
"nl": "Biedt dit restaurant biologisch eten?",
"fr": "Ce restaurant propose-t-il de la nourriture bio ?"
"fr": "Ce restaurant propose-t-il de la nourriture bio ?",
"ca": "Aquest restaurant ofereix menjar ecològic?"
},
"mappings": [
{
@ -699,7 +719,8 @@
"en": "There are no organic options available",
"de": "Es sind keine biologischen Produkte verfügbar",
"nl": "Er zijn geen biologische opties beschikbaar",
"fr": "Il n'y a pas d'option bio disponible"
"fr": "Il n'y a pas d'option bio disponible",
"ca": "No hi ha opcions ecològiques disponibles"
}
},
{
@ -708,7 +729,8 @@
"en": "There is an organic menu",
"de": "Es gibt ein biologisches Menü",
"nl": "Er is een biologisch menu",
"fr": "Il y a un menu bio"
"fr": "Il y a un menu bio",
"ca": "Hi ha un menú ecològic"
}
},
{
@ -717,7 +739,8 @@
"en": "Only organic options are available",
"de": "Nur biologische Produkte sind erhältlich",
"nl": "Er zijn alleen biologische opties beschikbaar",
"fr": "Bio uniquement"
"fr": "Bio uniquement",
"ca": "Només hi ha opcions ecològiques disponibles"
}
}
],

View file

@ -41,7 +41,8 @@
"render": {
"en": "This Governmental Office is called {name}",
"de": "Der Name der Behörde lautet {name}",
"nl": "Deze overheidsdienst heet {name}"
"nl": "Deze overheidsdienst heet {name}",
"ca": "Aquesta Oficina Governamental s'anomena {name}"
},
"freeform": {
"key": "name"

View file

@ -353,4 +353,4 @@
],
"allowMove": true,
"deletion": true
}
}

View file

@ -7,7 +7,7 @@
"fr": "Panneaux d'informations",
"de": "Informationstafeln",
"ru": "Информационные щиты",
"ca": "Panells d'informació",
"ca": "Taulers informatius",
"es": "Paneles informativos"
},
"minzoom": 12,
@ -26,7 +26,7 @@
"fr": "Panneau d'informations",
"de": "Informationstafel",
"ru": "Информационный щит",
"ca": "Panell d'informació",
"ca": "Tauler informatiu",
"es": "Panel informativo"
}
},
@ -46,7 +46,8 @@
"fr": "une panneau d'informations",
"de": "eine Informationstafel",
"ru": "информационный щит",
"es": "un panel informativo"
"es": "un panel informativo",
"ca": "un tauler informatiu"
}
}
],

View file

@ -60,7 +60,8 @@
"question": {
"en": "Is this nature reserve accessible to the public?",
"nl": "Is dit gebied toegankelijk?",
"de": "Ist das Gebiet öffentlich zugänglich?"
"de": "Ist das Gebiet öffentlich zugänglich?",
"ca": "Aquesta reserva natural és accessible al públic?"
},
"freeform": {
"key": "access:description"
@ -76,7 +77,8 @@
"then": {
"en": "Publicly accessible",
"nl": "Vrij toegankelijk",
"de": "Das Gebiet ist öffentlich zugänglich"
"de": "Das Gebiet ist öffentlich zugänglich",
"ca": "Accessible al públic"
}
},
{
@ -90,7 +92,8 @@
"en": "Not accessible",
"nl": "Niet toegankelijk",
"de": "Das Gebiet ist nicht zugänglich",
"es": "No accesible"
"es": "No accesible",
"ca": "No accessible"
}
},
{
@ -104,7 +107,8 @@
"en": "Not accessible as this is a private area",
"nl": "Niet toegankelijk, want privégebied",
"de": "Das Gebiet ist privat und nicht zugänglich",
"es": "No accesible, ya que es una área privada"
"es": "No accesible, ya que es una área privada",
"ca": "No accessible perquè es tracta d'una zona privada"
}
},
{
@ -118,7 +122,8 @@
"en": "Accessible despite being a privately owned area",
"nl": "Toegankelijk, ondanks dat het privegebied is",
"de": "Das Gebiet ist privat aber zugänglich",
"es": "Accesible a pesar de ser una área privada"
"es": "Accesible a pesar de ser una área privada",
"ca": "Accessible tot i ser una propietat privada"
}
},
{
@ -132,7 +137,8 @@
"en": "Only accessible with a guide or during organised activities",
"nl": "Enkel toegankelijk met een gids of tijdens een activiteit",
"de": "Das Gebiet ist nur während Führungen oder organisierten Aktivitäten zugänglich",
"es": "Solo accesible con un guía o durante actividades organizadas"
"es": "Solo accesible con un guía o durante actividades organizadas",
"ca": "Només accessible amb guia o durant les activitats organitzades"
}
},
{
@ -146,7 +152,8 @@
"en": "Accessible with fee",
"nl": "Toegankelijk mits betaling",
"de": "Das Gebiet ist nur gegen Bezahlung zugänglich",
"es": "Accesible con una tasa"
"es": "Accesible con una tasa",
"ca": "Accessible amb una taxa"
}
}
],
@ -163,7 +170,8 @@
"en": "Who operates this area?",
"nl": "Wie beheert dit gebied?",
"de": "Wer betreibt das Gebiet?",
"es": "¿Quién opera esta área?"
"es": "¿Quién opera esta área?",
"ca": "Qui gestiona aquesta àrea?"
},
"freeform": {
"key": "operator"
@ -179,7 +187,8 @@
"en": "Operated by Natuurpunt",
"nl": "Dit gebied wordt beheerd door Natuurpunt",
"de": "Das Gebiet wird betrieben von Natuurpunt",
"es": "Operado por NatuurPunt"
"es": "Operado por NatuurPunt",
"ca": "Gestionat per NatuurPunt"
},
"icon": "./assets/layers/nature_reserve/Natuurpunt.jpg"
},
@ -207,7 +216,8 @@
"then": {
"en": "Operated by <i>Agentschap Natuur en Bos</i>",
"nl": "Dit gebied wordt beheerd door het <i>Agentschap Natuur en Bos</i>",
"de": "Das Gebiet wird betrieben von <i>Agentschap Natuur en Bos</i>"
"de": "Das Gebiet wird betrieben von <i>Agentschap Natuur en Bos</i>",
"ca": "Gestionat per <i>Agentschap Natuur en Bos</i>"
},
"icon": "./assets/layers/nature_reserve/ANB.jpg"
}
@ -316,7 +326,8 @@
"en": "Whom is the curator of this nature reserve?",
"it": "Chi è il curatore di questa riserva naturale?",
"fr": "Qui est en charge de la conservation de la réserve ?",
"de": "Wer verwaltet dieses Gebiet?"
"de": "Wer verwaltet dieses Gebiet?",
"ca": "Qui és el conservador d'aquesta reserva natural?"
},
"render": {
"nl": "{curator} is de beheerder van dit gebied",
@ -345,7 +356,8 @@
"en": "What email adress can one send to with questions and problems with this nature reserve?",
"it": "Qual è lindirizzo email a cui scrivere per fare domande o segnalare problemi su questa riserva naturale?",
"fr": "À quelle adresse courriel peut-on envoyer des questions et des problèmes concernant cette réserve naturelle ? ",
"de": "An welche Email-Adresse kann man sich bei Fragen und Problemen zu diesem Gebiet wenden?"
"de": "An welche Email-Adresse kann man sich bei Fragen und Problemen zu diesem Gebiet wenden?",
"ca": "A quina adreça de correu electrònic es pot enviar amb preguntes i problemes amb aquest parc natural?"
},
"render": {
"nl": "<a href='mailto:{email}' target='_blank'>{email}</a>",
@ -377,7 +389,8 @@
"en": "What phone number can one call to with questions and problems with this nature reserve?",
"it": "Quale numero di telefono comporre per fare domande o segnalare problemi riguardanti questa riserva naturale?br/>",
"fr": "Quel numéro de téléphone peut-on appeler pour poser des questions et résoudre des problèmes concernant cette réserve naturelle ? ",
"de": "Welche Telefonnummer kann man bei Fragen und Problemen zu diesem Gebiet anrufen?"
"de": "Welche Telefonnummer kann man bei Fragen und Problemen zu diesem Gebiet anrufen?",
"ca": "A quin número de telèfon es pot trucar amb preguntes i problemes amb aquest parc natural?"
},
"render": {
"*": "<a href='tel:{phone}' target='_blank'>{phone}</a>"
@ -413,7 +426,8 @@
"en": "Is there some extra info?",
"nl": "Is er extra info die je kwijt wil?",
"de": "Gibt es zusätzliche Informationen?",
"es": "¿Hay alguna información adicional?"
"es": "¿Hay alguna información adicional?",
"ca": "Hi ha alguna informació addicional?"
},
"render": {
"en": "Extra info: <i>{description:0}</i>",
@ -450,12 +464,14 @@
"title": {
"en": "a nature reserve",
"nl": "een natuurreservaat",
"de": "ein Schutzgebiet"
"de": "ein Schutzgebiet",
"ca": "una reserva natural"
},
"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",
"de": "Ein fehlendes Naturschutzgebiet hinzufügen"
"de": "Ein fehlendes Naturschutzgebiet hinzufügen",
"ca": "Afegeix una reserva natural que falta"
}
}
],
@ -487,7 +503,8 @@
"question": {
"en": "Dogs are allowed to roam freely",
"nl": "Honden mogen vrij rondlopen",
"de": "Hunde dürfen frei herumlaufen"
"de": "Hunde dürfen frei herumlaufen",
"ca": "Els gossos poden anar lliurement"
},
"osmTags": "dog=yes"
},
@ -495,7 +512,8 @@
"question": {
"en": "Dogs are allowed if they are leashed",
"nl": "Honden welkom aan de leiband",
"de": "Hunde nur erlaubt, wenn sie angeleint sind"
"de": "Hunde nur erlaubt, wenn sie angeleint sind",
"ca": "S'admeten gossos si van lligats"
},
"osmTags": {
"or": [

View file

@ -109,7 +109,7 @@
"nl": "Deze toren is publiek toegankelijk",
"de": "Der Turm ist öffentlich zugänglich",
"es": "Esta torre es accesible públicamente",
"ca": "Aquesta torre és d'accés públic"
"ca": "Aquesta torre és accessible al públic"
}
},
{

View file

@ -191,7 +191,8 @@
"en": "There are {capacity:disabled} disabled parking spots",
"nl": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten",
"de": "Es gibt {capacity:disabled} barrierefreie Stellplätze",
"fr": "Il y a {capacity:disabled} places de stationnement pour personnes à mobilité réduite"
"fr": "Il y a {capacity:disabled} places de stationnement pour personnes à mobilité réduite",
"ca": "Hi ha {capacity:disabled} places d'aparcament per a discapacitats"
}
},
{

View file

@ -111,7 +111,8 @@
"ru": "стол для пикника",
"de": "einen Picknick-Tisch",
"fr": "une table de pique-nique",
"es": "una mesa de pícnic"
"es": "una mesa de pícnic",
"ca": "una taula de pícnic"
}
}
],

View file

@ -91,7 +91,8 @@
"ru": "Поверхность - <b>трава</b>",
"de": "Der Bodenbelag ist aus <b>Gras</b>",
"fr": "La surface est en <b>gazon</b>",
"es": "La superficie es <b>hierba</b>"
"es": "La superficie es <b>hierba</b>",
"ca": "La superfície és <b>herba</b>"
}
},
{
@ -103,7 +104,8 @@
"ru": "Поверхность - <b>песок</b>",
"de": "Der Bodenbelag ist aus <b>Sand</b>",
"fr": "La surface est en <b>sable</b>",
"es": "La superficie es <b>arena</b>"
"es": "La superficie es <b>arena</b>",
"ca": "La superfície és <b>sorra</b>"
}
},
{
@ -114,7 +116,8 @@
"it": "La superficie consiste di <b>trucioli di legno</b>",
"de": "Der Bodenbelag ist aus <b>Holzschnitzeln</b>",
"ru": "Покрытие из <b>щепы</b>",
"fr": "La surface est en <b>copeaux de bois</b>"
"fr": "La surface est en <b>copeaux de bois</b>",
"ca": "La superfície consisteix en <b>estelles</b>"
}
},
{
@ -126,7 +129,8 @@
"ru": "Поверхность - <b>брусчатка</b>",
"de": "Der Bodenbelag ist aus <b>Pflastersteinen</b>",
"fr": "La surface est en <b>pavés</b>",
"es": "La superficie es <b>adoquines</b>"
"es": "La superficie es <b>adoquines</b>",
"ca": "La superfície són <b>llambordes</b>"
}
},
{
@ -138,7 +142,8 @@
"ru": "Поверхность - <b>асфальт</b>",
"de": "Der Bodenbelag ist aus <b>Asphalt</b>",
"fr": "La surface est en <b>bitume</b>",
"es": "La superficie es <b>asfalto</b>"
"es": "La superficie es <b>asfalto</b>",
"ca": "La superfície és <b>asfalt</b>"
}
},
{
@ -150,7 +155,8 @@
"ru": "Поверхность - <b>бетон</b>",
"de": "Der Bodenbelag ist aus <b>Beton</b>",
"fr": "La surface est en <b>béton</b>",
"es": "La superficie es <b>hormigón</b>"
"es": "La superficie es <b>hormigón</b>",
"ca": "La superfície és <b>formigó</b>"
}
},
{
@ -275,7 +281,8 @@
"en": "What is the maximum age allowed to access this playground?",
"it": "Qual è letà massima per accedere a questo parco giochi?",
"fr": "Quel est lâge maximum autorisé pour utiliser laire de jeu ?",
"de": "Bis zu welchem Alter dürfen Kinder auf dem Spielplatz spielen?"
"de": "Bis zu welchem Alter dürfen Kinder auf dem Spielplatz spielen?",
"ca": "Quina és l'edat màxima permesa per accedir al parc infantil?"
},
"freeform": {
"key": "max_age",
@ -289,7 +296,8 @@
"en": "Who operates this playground?",
"it": "Chi è il responsabile di questo parco giochi?",
"de": "Wer betreibt den Spielplatz?",
"fr": "Qui est en charge de lexploitation de laire de jeu ?"
"fr": "Qui est en charge de lexploitation de laire de jeu ?",
"ca": "Qui gestiona aquest parc infantil?"
},
"render": {
"nl": "Beheer door {operator}",
@ -297,7 +305,8 @@
"it": "Gestito da {operator}",
"fr": "Exploité par {operator}",
"de": "Betrieben von {operator}",
"es": "Operado por {operator}"
"es": "Operado por {operator}",
"ca": "Gestionat per {operator}"
},
"freeform": {
"key": "operator"
@ -311,7 +320,8 @@
"en": "Is this playground accessible to the general public?",
"it": "Questo parco giochi è pubblicamente accessibile?",
"de": "Ist der Spielplatz öffentlich zugänglich?",
"fr": "Laire de jeu est-elle accessible au public ?"
"fr": "Laire de jeu est-elle accessible au public ?",
"ca": "Aquest parc infantil és accessible al públic en general?"
},
"mappings": [
{
@ -334,7 +344,8 @@
"then": {
"en": "This is a <b>paid</b> playground",
"nl": "Er moet <b>betaald</b> worden om deze speeltuin te mogen gebruiken",
"de": "Der Spielplatz ist <b>gebührenpflichtig</b>"
"de": "Der Spielplatz ist <b>gebührenpflichtig</b>",
"ca": "Aquest és un parc infantil <b>de pagament</b>"
},
"addExtraTags": [
"access=customers"
@ -348,7 +359,8 @@
"it": "Accessibile solamente ai clienti dellattività che lo gestisce",
"de": "Der Spielplatz ist nur für Kunden zugänglich",
"fr": "Réservée aux clients",
"es": "Solo accesible para clientes del negocio que lo opera"
"es": "Solo accesible para clientes del negocio que lo opera",
"ca": "Només accessible per als clients del negoci que l'opera"
},
"addExtraTags": [
"fee=no"
@ -375,7 +387,8 @@
"ru": "Недоступно",
"fr": "Non accessible",
"de": "Der Spielplatz ist nicht öffentlich zugänglich",
"es": "No accesible"
"es": "No accesible",
"ca": "No accessible"
}
},
{
@ -383,7 +396,8 @@
"then": {
"en": "This is a schoolyard - an outdoor area where the pupils can play during their breaks; but it is not accessible to the general public",
"nl": "Dit is een schoolplein - een zone waar de leerlingen kunnen spelen tijdens de pauze. Dit schoolplein is niet toegankelijk voor het publiek",
"de": "Dies ist ein Schulhof - ein Außenbereich, auf dem die Schüler in den Pausen spielen können; er ist jedoch für die Öffentlichkeit nicht zugänglich"
"de": "Dies ist ein Schulhof - ein Außenbereich, auf dem die Schüler in den Pausen spielen können; er ist jedoch für die Öffentlichkeit nicht zugänglich",
"ca": "Es tracta d'un pati de l'escola, una zona exterior on els alumnes poden jugar durant els descansos; però no és accessible al públic en general"
}
}
]
@ -395,7 +409,8 @@
"en": "What is the email address of the playground maintainer?",
"it": "Qual è lindirizzo email del gestore di questo parco giochi?",
"fr": "Quelle est l'adresse électronique du responsable de l'aire de jeux ?",
"de": "Wie lautet die E-Mail Adresse des Spielplatzbetreuers?"
"de": "Wie lautet die E-Mail Adresse des Spielplatzbetreuers?",
"ca": "Quina és l'adreça de correu electrònic del mantenidor del parc infantil?"
},
"render": {
"nl": "De bevoegde dienst kan bereikt worden via <a href='mailto:{email}'>{email}</a>",
@ -420,7 +435,8 @@
"en": "What is the phone number of the playground maintainer?",
"fr": "Quel est le numéro de téléphone du responsable du terrain de jeux ?",
"it": "Qual è il numero di telefono del gestore del campetto?",
"de": "Wie lautet die Telefonnummer vom Betreiber des Spielplatzes?"
"de": "Wie lautet die Telefonnummer vom Betreiber des Spielplatzes?",
"ca": "Quin és el telèfon del mantenidor del parc infantil?"
},
"render": {
"nl": "De bevoegde dienst kan getelefoneerd worden via <a href='tel:{phone}'>{phone}</a>",
@ -447,7 +463,8 @@
"fr": "Ce terrain de jeux est-il accessible aux personnes en fauteuil roulant ?",
"de": "Ist der Spielplatz für Rollstuhlfahrer zugänglich?",
"it": "Il campetto è accessibile a persone in sedia a rotelle?",
"ru": "Доступна ли детская площадка пользователям кресел-колясок?"
"ru": "Доступна ли детская площадка пользователям кресел-колясок?",
"ca": "Aquest parc infantil és accessible per a persones en cadira de rodes?"
},
"mappings": [
{
@ -459,7 +476,8 @@
"de": "Vollständig zugänglich für Rollstuhlfahrer",
"it": "Completamente accessibile in sedia a rotelle",
"ru": "Полностью доступна пользователям кресел-колясок",
"es": "Completamente accesible para usuarios de silla de ruedas"
"es": "Completamente accesible para usuarios de silla de ruedas",
"ca": "Totalment accessible per a persones en cadira de rodes"
}
},
{
@ -471,7 +489,8 @@
"de": "Eingeschränkte Zugänglichkeit für Rollstuhlfahrer",
"it": "Accesso limitato in sedia a rotelle",
"ru": "Частично доступна пользователям кресел-колясок",
"es": "Acceso limitado para usuarios de silla de ruedas"
"es": "Acceso limitado para usuarios de silla de ruedas",
"ca": "Accessibilitat limitada per a persones en cadira de rodes"
}
},
{
@ -483,7 +502,8 @@
"de": "Nicht zugänglich für Rollstuhlfahrer",
"it": "Non accessibile in sedia a rotelle",
"ru": "Недоступна пользователям кресел-колясок",
"es": "No accesible a usuarios de sillas de ruedas"
"es": "No accesible a usuarios de sillas de ruedas",
"ca": "No accessible per a persones en cadira de rodes"
}
}
]
@ -562,7 +582,8 @@
"then": {
"en": "This is a schoolyard - an (outdoor) area where pupils of a school can play during recess and which is not publicly accessible",
"nl": "Dit is een schoolplein - een ruimte waar de leerlingen van een school kunnen spelen tijdens de pauze maar die niet publiek toegankelijk is",
"de": "Dies ist ein Schulhof - ein (Außen-)Bereich, auf dem die Schüler einer Schule in den Pausen spielen können und der nicht öffentlich zugänglich ist"
"de": "Dies ist ein Schulhof - ein (Außen-)Bereich, auf dem die Schüler einer Schule in den Pausen spielen können und der nicht öffentlich zugänglich ist",
"ca": "Es tracta d'un pati d'escola: una zona (a l'aire lliure) on els alumnes d'una escola poden jugar durant l'esbarjo i que no és accessible al públic"
}
}
],

View file

@ -185,7 +185,8 @@
"if": "post_office:brand=DHL Paketshop",
"then": {
"en": "This location is a DHL Paketshop",
"de": "Dieser Standort ist ein DHL Paketshop"
"de": "Dieser Standort ist ein DHL Paketshop",
"ca": "Aquesta ubicació és una botiga DHL Paketshop"
},
"hideInAnswer": "_country!=de"
},
@ -193,7 +194,8 @@
"if": "post_office:brand=Hermes PaketShop",
"then": {
"en": "This location is a Hermes PaketShop",
"de": "Dieser Standort ist ein Hermes PaketShop"
"de": "Dieser Standort ist ein Hermes PaketShop",
"ca": "Aquesta ubicació és una botiga Hermes PaketShop"
},
"hideInAnswer": "_country!=de"
},
@ -202,7 +204,8 @@
"then": {
"en": "This location is a PostNL-point",
"de": "Dieser Standort ist ein PostNL-Punkt",
"nl": "Deze locatie is een PostNL-punt"
"nl": "Deze locatie is een PostNL-punt",
"ca": "Aquesta ubicació és un punt PostNL"
},
"hideInAnswer": {
"and": [
@ -306,7 +309,8 @@
},
"question": {
"en": "Can you pick up missed parcels here?",
"de": "Können Sie hier verpasste Pakete abholen?"
"de": "Können Sie hier verpasste Pakete abholen?",
"ca": "Es poden recollir els paquets perduts aquí?"
},
"freeform": {
"key": "post_office:parcel_pickup",
@ -317,14 +321,16 @@
"if": "post_office:parcel_pickup=yes",
"then": {
"en": "You can pick up missed parcels here",
"de": "Hier können Sie verpasste Pakete abholen"
"de": "Hier können Sie verpasste Pakete abholen",
"ca": "Podeu recollir els paquets perduts aquí"
}
},
{
"if": "post_office:parcel_pickup=no",
"then": {
"en": "You can't pick up missed parcels here",
"de": "Sie können hier keine verpassten Pakete abholen"
"de": "Sie können hier keine verpassten Pakete abholen",
"ca": "No podeu recollir paquets perduts aquí"
}
}
]

View file

@ -264,7 +264,8 @@
"it": "È ad accesso libero",
"ru": "Свободный доступ",
"hu": "Nyilvánosan használható",
"es": "Accesible públicamente"
"es": "Accesible públicamente",
"ca": "Accessible al públic"
},
"if": "access=yes"
},

View file

@ -945,7 +945,8 @@
"then": {
"en": "Printer cartridges can be recycled here",
"nl": "Inktpatronen kunnen hier gerecycleerd worden",
"de": "Druckerpatronen können hier recycelt werden"
"de": "Druckerpatronen können hier recycelt werden",
"ca": "Els cartutxos d'impressora es poden reciclar aquí"
},
"icon": {
"path": "./assets/layers/recycling/printer_cartridges.svg",

View file

@ -18,4 +18,4 @@
"color": "black"
}
]
}
}

View file

@ -178,7 +178,8 @@
"it": "Qual è la superficie di questo campo sportivo?",
"ru": "Какое покрытие на этой спортивной площадке?",
"de": "Welchen Belag hat der Sportplatz?",
"es": "¿Cual es la superficie de esta pista de deportes?"
"es": "¿Cual es la superficie de esta pista de deportes?",
"ca": "Quina és la superfície d'aquest camp esportiu?"
},
"render": {
"nl": "De ondergrond is <b>{surface}</b>",
@ -271,7 +272,7 @@
"ru": "Есть ли свободный доступ к этой спортивной площадке?",
"de": "Ist der Sportplatz öffentlich zugänglich?",
"es": "¿Esta pista de deportes es accesible públicamente?",
"ca": "Aquesta pista d'esports és accessible públicament?"
"ca": "Aquesta pista d'esports és accessible al públic?"
},
"mappings": [
{
@ -613,7 +614,7 @@
"en": "Publicly accessible",
"nl": "Publiek toegankelijk",
"de": "Öffentlich zugänglich",
"ca": "Accés lliure"
"ca": "Accessible al públic"
},
"osmTags": {
"or": [

View file

@ -197,7 +197,8 @@
"en": "What kind of lighting does this lamp use?",
"nl": "Wat voor verlichting gebruikt deze lantaarn?",
"de": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?",
"es": "¿Qué tipo de iluminación utiliza esta lámpara?"
"es": "¿Qué tipo de iluminación utiliza esta lámpara?",
"ca": "Quin tipus d'il·luminació utilitza aquest fanal?"
},
"mappings": [
{
@ -383,7 +384,8 @@
"question": {
"en": "How many fixtures does this light have?",
"nl": "Hoeveel lampen heeft deze lantaarn?",
"de": "Wie viele Leuchten hat diese Straßenlaterne?"
"de": "Wie viele Leuchten hat diese Straßenlaterne?",
"ca": "Quants accessoris té aquest fanal?"
},
"condition": "support=pole",
"freeform": {

View file

@ -40,7 +40,8 @@
"ru": "общественный туалет ",
"it": "una servizi igienici aperti al pubblico",
"es": "un baño público",
"da": "et offentligt toilet"
"da": "et offentligt toilet",
"ca": "un lavabo públic"
},
"tags": [
"amenity=toilets"
@ -54,7 +55,8 @@
"nl": "een rolstoeltoegankelijke, publiek toilet",
"it": "una servizi igienici accessibili per persone in sedia a rotelle",
"ru": "tуалет с доступом для пользователей кресел-колясок",
"da": "et toilet med kørestolsvenligt toilet"
"da": "et toilet med kørestolsvenligt toilet",
"ca": "un lavabo amb lavabo accessible per a cadires de rodes"
},
"tags": [
"amenity=toilets",
@ -222,7 +224,8 @@
"it": "Quanto costa l'accesso a questi servizi igienici?",
"ru": "Сколько стоит посещение туалета?",
"es": "¿Cuánto hay que pagar para estos baños?",
"da": "Hvor meget skal man betale for disse toiletter?"
"da": "Hvor meget skal man betale for disse toiletter?",
"ca": "Quant s'ha de pagar per aquests lavabos?"
},
"render": {
"en": "The fee is {charge}",
@ -232,7 +235,8 @@
"it": "La tariffa è {charge}",
"ru": "Стоимость {charge}",
"es": "La tasa es {charge}",
"da": "Gebyret er {charge}"
"da": "Gebyret er {charge}",
"ca": "La taxa és {charge}"
},
"condition": "fee=yes",
"freeform": {
@ -412,7 +416,8 @@
"fr": "Ces toilettes disposent-elles d'une table à langer ?",
"nl": "Is er een luiertafel beschikbaar?",
"it": "È disponibile un fasciatoio (per cambiare i pannolini)?",
"da": "Findes der puslebord (til bleskift)?"
"da": "Findes der puslebord (til bleskift)?",
"ca": "Hi ha un canviador per a nadons (per a canviar bolquers) disponible?"
},
"mappings": [
{
@ -423,7 +428,8 @@
"nl": "Er is een luiertafel",
"it": "È disponibile un fasciatoio",
"es": "Hay un cambiador",
"da": "Et puslebord er tilgængeligt"
"da": "Et puslebord er tilgængeligt",
"ca": "Hi ha un canviador per a nadons"
},
"if": "changing_table=yes"
},

View file

@ -34,7 +34,8 @@
"en": "Are these toilets publicly accessible?",
"de": "Ist die Toilette öffentlich zugänglich?",
"nl": "Zijn deze toiletten publiek toegankelijk?",
"fr": "Ces toilettes sont-elles librement accessibles ?"
"fr": "Ces toilettes sont-elles librement accessibles ?",
"ca": "Aquests serveis són d'accés públic?"
},
"render": {
"en": "Access is {toilets:access}",
@ -71,7 +72,8 @@
"en": "Only access to customers of the amenity",
"de": "Nur Zugang für Kunden der Einrichtung",
"nl": "Enkel toegankelijk voor klanten van de voorziening",
"fr": "Accessibles uniquement au clients du lieu"
"fr": "Accessibles uniquement au clients du lieu",
"ca": "Només accessible a clients de l'instal·lació"
}
},
{
@ -121,7 +123,8 @@
"fr": "Ces toilettes sont-elles payantes ?",
"nl": "Zijn deze toiletten gratis te gebruiken?",
"it": "Questi servizi igienici sono gratuiti?",
"da": "Er det gratis at benytte disse toiletter?"
"da": "Er det gratis at benytte disse toiletter?",
"ca": "Aquest serveis són gratuïts?"
},
"mappings": [
{
@ -133,7 +136,8 @@
"ru": "Это платные туалеты",
"it": "Questi servizi igienici sono a pagamento",
"es": "Estos son baños de pago",
"da": "Det er betalingstoiletter"
"da": "Det er betalingstoiletter",
"ca": "Aquests serveis són de pagament"
},
"if": "toilets:fee=yes"
},
@ -145,7 +149,8 @@
"fr": "Toilettes gratuites",
"nl": "Gratis te gebruiken",
"it": "Gratis",
"da": "Gratis at bruge"
"da": "Gratis at bruge",
"ca": "Gratuït"
}
}
]
@ -195,7 +200,8 @@
"fr": "Y a-t-il des toilettes réservées aux personnes en fauteuil roulant ?",
"nl": "Is er een rolstoeltoegankelijke toilet voorzien?",
"it": "C'è un WC riservato alle persone in sedia a rotelle",
"da": "Er der et særligt toilet til kørestolsbrugere?"
"da": "Er der et særligt toilet til kørestolsbrugere?",
"ca": "Hi ha un lavabo específic per a usuaris amb cadira de rodes?"
},
"mappings": [
{
@ -206,7 +212,8 @@
"nl": "Er is een toilet voor rolstoelgebruikers",
"it": "C'è un WC riservato alle persone in sedia a rotelle",
"es": "Hay un baño dedicado para usuarios con sillas de ruedas",
"da": "Der er et særligt toilet til kørestolsbrugere"
"da": "Der er et særligt toilet til kørestolsbrugere",
"ca": "Hi ha un lavabo dedicat per a usuaris amb cadira de rodes"
},
"if": "toilets:wheelchair=yes"
},
@ -220,7 +227,8 @@
"it": "Non accessibile in sedia a rotelle",
"ru": "Недоступно пользователям кресел-колясок",
"es": "Sin acceso para sillas de ruedas",
"da": "Ingen kørestolsadgang"
"da": "Ingen kørestolsadgang",
"ca": "Sense accés per a cadires de rodes"
}
},
{
@ -229,7 +237,8 @@
"en": "There is only a dedicated toilet for wheelchair users",
"nl": "Er is alleen een toilet voor rolstoelgebruikers",
"de": "Es gibt nur eine barrierefreie Toilette für Rollstuhlfahrer",
"da": "Der er kun et særligt toilet til kørestolsbrugere"
"da": "Der er kun et særligt toilet til kørestolsbrugere",
"ca": "Sols hi ha un lavabo per a usuaris amb cadira de rodes"
}
}
]

View file

@ -86,7 +86,8 @@
"de": "Die Buslinie startet von {from}",
"nl": "Deze buslijn begint bij {from}",
"da": "Denne buslinje starter kl. {from}",
"fr": "Cette ligne de bus commence à {from}"
"fr": "Cette ligne de bus commence à {from}",
"ca": "Aquesta línia d'autobús comença a {from}"
},
"question": {
"en": "What is the starting point for this bus line?",
@ -128,7 +129,8 @@
"de": "Der Endpunkt der Buslinie ist {to}",
"nl": "Deze buslijn eindigt bij {to}",
"da": "Denne buslinje slutter ved {to}",
"fr": "Cette ligne de bus termine à {to}"
"fr": "Cette ligne de bus termine à {to}",
"ca": "Aquesta línia d'autobús acaba a {to}"
},
"question": {
"en": "What is the ending point for this bus line?",

View file

@ -4,7 +4,8 @@
"en": "Transit Stops",
"de": "Haltestellen",
"da": "Transitstationer",
"fr": "Arrêts de transport en commun"
"fr": "Arrêts de transport en commun",
"ca": "Parades de transport públic"
},
"description": {
"en": "Layer showing different types of transit stops.",
@ -322,7 +323,8 @@
"en": "This stop has a board showing realtime departure information",
"de": "Die Haltestelle hat einen Fahrplan, der Abfahrtszeiten in Echtzeit anzeigt",
"da": "Dette stop har en tavle med oplysninger om afgang i realtid",
"fr": "Cet arrêt a un panneau indiquant les départs en temps réel"
"fr": "Cet arrêt a un panneau indiquant les départs en temps réel",
"ca": "Aquesta parada té un tauló amb els horaris en temps real"
}
},
{
@ -366,7 +368,8 @@
"en": "<h3>{_contained_routes_count} routes stop at this stop</h3> <ul>{_contained_routes}</ul>",
"de": "<h3>{_contained_routes_count} Linien halten an der Haltestelle</h3> <ul>{_contained_routes}</ul>",
"da": "<h3>{_contained_routes_count} ruter stopper ved dette stoppested</h3> <ul>{_contained_routes}</ul>",
"nl": "<h3>{_contained_routes_count} lijnen stoppen bij deze halte</h3> <ul>{_contained_routes}</ul>"
"nl": "<h3>{_contained_routes_count} lijnen stoppen bij deze halte</h3> <ul>{_contained_routes}</ul>",
"ca": "<h3>{_contained_routes_count} rutes paren a aquesta parada</h3> <ul>{_contained_routes}</ul>"
},
"condition": "_contained_routes~*",
"id": "contained_routes"
@ -386,7 +389,8 @@
"question": {
"en": "With a shelter",
"de": "Mit Unterstand",
"fr": "Avec un abri"
"fr": "Avec un abri",
"ca": "Amb refugi"
}
}
]
@ -422,7 +426,8 @@
"question": {
"en": "With a bin",
"de": "Mit Mülleimer",
"fr": "Avec un poubelle"
"fr": "Avec un poubelle",
"ca": "Amb paperera"
}
}
]

View file

@ -121,7 +121,7 @@
"question": {
"en": "What is the circumference of the tree trunk?",
"de": "Wie groß ist der Umfang des Baumstammes?",
"fr": "Quelle est la circonférence du tronc ? ",
"fr": "Quelle est la circonférence du tronc ?",
"nl": "Wat is de omtrek van de boomstam? ",
"es": "¿Cuál es la circunferencia del tronco del árbol?"
},
@ -140,7 +140,7 @@
"questionHint": {
"en": "This is measured at a height of 1.30m",
"de": "Dies wird in einer Höhe von 1,30 m gemessen",
"fr": "La mesure est effectuée à 1.30m de hauteur",
"fr": "La mesure est effectuée à 1,30 m de hauteur",
"nl": "Dit wordt 1.30m boven de grond gemeten",
"es": "Se mide a una altura de 1,30 m",
"ca": "Es mesura a una alçada d'1,30 m"

View file

@ -531,7 +531,7 @@
"hu": "Kutya bevihető és szabadon szaladgálhat",
"it": "I cani sono ammessi e possono andare in giro liberamente",
"nb_NO": "Hunder tillates og kan gå fritt",
"ca": "S'accepten gossos lliures",
"ca": "S'accepten gossos i poden estar solts",
"sv": "Hundar tillåts och får springa fritt omkring",
"zh_Hant": "允許犬隻而且可以自由跑動",
"ru": "Собак свободно впускают",
@ -1406,6 +1406,40 @@
"*": "{all_tags()}"
}
},
"just_created": {
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300"
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
"multilevels": {
"builtin": "level",
"override": {
@ -2049,7 +2083,7 @@
"ca": "Aquest objecte està il·luminat externament, p.e. amb un focus o altres llums",
"cs": "Tento objekt je osvětlen zvenčí, např. pomocí reflektoru nebo jiných světel",
"de": "Das Objekt wird von außen beleuchtet, z. B. durch Scheinwerfer oder andere Lichter",
"es": "Este objeto recibe iluminación, por ejemplo por un foco u otras luces",
"es": "Este objeto está iluminado desde el exterior, por ejemplo, por un foco u otras luces",
"fr": "Cet objet est éclairé par l'extérieur, par ex. par un projecteur ou d'autres lumières",
"pl": "Ten obiekt jest oświetlony zewnętrznie, np. przez reflektor lub inne światła"
},
@ -2069,11 +2103,11 @@
"ca": "Aquest objecte no emet llum i no està il·luminat externament",
"cs": "Tento objekt nevyzařuje světlo a není osvětlen zvenčí",
"de": "Das Objekt wird weder von außen beleuchtet, noch leuchtet es selbst",
"es": "Este objeto ni emite luz ni es iluminado",
"es": "Este objeto no emite luz y no está iluminado por fuentes externas",
"fr": "Cet objet n'émet pas de lumière et n'est pas éclairé par l'extérieur",
"pl": "Obiekt ten nie emituje światła i nie jest oświetlany z zewnątrz"
}
}
]
}
}
}

View file

@ -723,4 +723,4 @@
}
]
}
}
}

View file

@ -88,7 +88,6 @@
},
"general": {
"about": "Edita facilment i afegeix punts a OpenStreetMap d'una petició determinada",
"aboutMapcomplete": "<h3>Sobre</h3><p>Utilitza MapComplete per afegir informació a OpenStreetMap sobre un <b>únic tema.</b> Respon preguntes i en minuts les teves contribucions estaran disponibles a tot arreu. En molts temes pots afegir fotografies o fins i tot afegeix \"reviews\". El <b>mantenidor del tema</b> defineix els elements, preguntes i idiomes per a fer-ho possible.</p><h3>Troba més info</h3><p>MapComplete sempre <b>ofereix el següent pas</b> per aprendre'n més sobre OpenStreetMap.<ul><li>Quan està incrustat en un lloc web, l'iframe enllaça a un MapComplete a pantalla completa.</li><li>Aquesta versió ofereix informació sobre OpenStreetMap.</li><li>La visualització funciona sense iniciar sessió, però l'edició requereix un compte OSM.</li><li>Si no heu iniciat sessió, se us demanarà que ho feu</li><li>Un cop hagis respost una sola pregunta, pots afegir noves funcions al mapa</li><li>Després d'una estona, es mostraran les etiquetes actuals , i després els enllaços a la wiki.</li></ul></p><br/><p>Has trobat alguna <b>incidència</b>? Tens alguna <b> petició </b>? Vols <b>ajudar a traduir</b>? Vés a <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>per accedir al codi font</a> o al <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'>registre d'incidències.</a> </p><p> Vols veure <b>els teus progressos </b>? Segueix el recompte d'edicions a <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"add": {
"addNew": "Afegir {category} aquí",
"backToSelect": "Selecciona una categoria diferent",
@ -176,7 +175,6 @@
"error": "Algo ha anat mal",
"example": "Exemple",
"examples": "Exemples",
"feelFreeToSkip": "Podeu afegir més informació a sota, però sentiu-vos lliures de <b>botar preguntes</b> que no conegueu la resposta.",
"fewChangesBefore": "Contesta unes quantes preguntes sobre elements existents abans d'afegir-ne un de nou.",
"getStartedLogin": "Entra a OpenStreetMap per començar",
"getStartedNewAccount": " o <a href=\"https://www.openstreetmap.org/user/new\" target=\"_blank\">crea un nou compte</a>",
@ -214,7 +212,6 @@
"streetcomplete": "Una altra aplicació similar és <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}: El seu nom és $$$",
"newlyCreated": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"next": "Següent",
"noMatchingMapping": "No hi ha cap entrada que coincideixi amb la teva cerca…",
"noNameCategory": "{category} sense nom",

View file

@ -88,10 +88,8 @@
},
"general": {
"about": "Snadné úpravy a přidávání OpenStreetMap pro určité téma",
"aboutMapcomplete": "<h3>O službě</h3><p>Pomocí MapComplete můžete přidávat informace z OpenStreetMap na <b>samostatné téma</b>. Odpovězte na otázky a během několika minut jsou vaše příspěvky dostupné všude. Ve většině témat můžete přidávat obrázky nebo dokonce zanechat hodnocení. <b>Správce tématu</b> pro něj definuje prvky, otázky a jazyky.</p><h3>Další informace</h3><p>MapComplete vždy <b>nabízí další krok</b> k získání dalších informací o OpenStreetMap.<ul><li>Při vložení do webové stránky odkazuje iframe na MapComplete na celou obrazovku.</li><li>Verze na celou obrazovku nabízí informace o OpenStreetMap.</li><li>Prohlížení funguje bez přihlášení, ale editace vyžaduje účet OSM.</li><li>Pokud nejste přihlášeni, jste k tomu vyzváni</li><li>Po zodpovězení jedné otázky můžete do mapy přidávat nové funkce</li><li>Po chvíli se zobrazí aktuální značky OSM, později odkaz na wiki</li></ul></p><br/><p>Všimli jste si <b>problému</b>? Máte <b>požadavek na funkci</b>? Chcete <b>pomoci s překladem</b>? Přejděte na <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>zdrojový kód</a> nebo <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'>sledovač problémů.</a> </p><p> Chcete se podívat na <b>svůj pokrok</b>? Sledujte počet úprav na <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"add": {
"addNew": "Přidat {category}",
"addNewMapLabel": "Klikněte zde pro přidání nové položky",
"backToSelect": "Vyberte jinou kategorii",
"confirmButton": "Přidat kategorii {category}<br/><div class='alert'>Váš příspěvek je viditelný pro všechny</div>",
"confirmIntro": "<h3>Přidat {title}?</h3>Funkce, kterou zde vytvoříte, bude <b>viditelná pro všechny</b>. Prosíme, přidávejte věci na mapu pouze tehdy, pokud skutečně existují. Tato data využívá mnoho aplikací.",

View file

@ -41,7 +41,6 @@
},
"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}",
"confirmButton": "Tilføj en {category}<br><div class=\"alert\">Din tilføjelse er synlig for alle</div>",

View file

@ -88,7 +88,6 @@
},
"general": {
"about": "OpenStreetMap für ein bestimmtes Thema einfach bearbeiten und hinzufügen",
"aboutMapcomplete": "<h3>Über</h3><p>Verwenden Sie MapComplete, um <b>themenbezogene Informationen</b> zu OpenStreetMap hinzuzufügen. Beantworten Sie Fragen, und in wenigen Minuten sind Ihre Beiträge überall verfügbar. Zu den meisten Themen können Sie Bilder hinzufügen oder eine Bewertung hinterlassen. Der <b>Theme-Maintainer</b> definiert dafür Elemente, Fragen und Sprachen.</p><h3>Mehr erfahren</h3><p>MapComplete bietet immer <b>den nächsten Schritt</b>, um mehr über OpenStreetMap zu erfahren.</p><ul><li>In einer Website eingebettet, verlinkt der iframe zu einer Vollbildversion von MapComplete</li><li>Die Vollbildversion bietet Informationen über OpenStreetMap</li><li>Das Betrachten funktioniert ohne Anmeldung, das Bearbeiten erfordert ein OSM-Konto.</li><li>Wenn Sie nicht angemeldet sind, werden Sie dazu aufgefordert</li><li>Sobald Sie eine Frage beantwortet haben, können Sie der Karte neue Objekte hinzufügen</li><li>Nach einer Weile werden aktuelle OSM-Tags angezeigt, die später mit dem Wiki verlinkt werden</li></ul><p></p><br/><p>Haben Sie ein <b>Problem</b> bemerkt? Haben Sie einen <b>Funktionswunsch</b>? Möchten Sie bei der <b>Übersetzung</b> helfen? Hier geht es zum <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>Quellcode</a> und <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'>Issue Tracker</a> </p><p>Möchten Sie Ihre <b>Bearbeitungen</b> sehen? Verfolgen Sie Ihre Änderungen auf <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"add": {
"addNew": "{category} hinzufügen",
"backToSelect": "Wählen Sie eine andere Kategorie",
@ -176,7 +175,6 @@
"error": "Etwas ist schief gelaufen",
"example": "Beispiel",
"examples": "Beispiele",
"feelFreeToSkip": "Sie können unten weitere Informationen hinzufügen oder aktualisieren, aber natürlich können Sie auch <b>Fragen überspringen</b>, auf die Sie keine Antwort wissen.",
"fewChangesBefore": "Bitte beantworten Sie einige Fragen zu bestehenden Objekten, bevor Sie ein neues Objekt hinzufügen.",
"getStartedLogin": "Bei OpenStreetMap anmelden, um loszulegen",
"getStartedNewAccount": " oder <a href=\"https://www.openstreetmap.org/user/new\" target=\"_blank\">ein neues Konto anlegen</a>",
@ -214,7 +212,6 @@
"streetcomplete": "Eine andere, ähnliche App ist <a class=\"underline hover:text-blue-800\" href=\"https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete\" target=\"_blank\">StreetComplete</a>."
},
"nameInlineQuestion": "Der Name dieser {category} ist $$$",
"newlyCreated": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"next": "Weiter",
"noMatchingMapping": "Keine Einträge passen zu Ihrer Suche…",
"noNameCategory": "{category} ohne Namen",

View file

@ -88,8 +88,9 @@
},
"general": {
"about": "Easily edit and add OpenStreetMap for a certain theme",
"aboutMapcomplete": "<p>Use MapComplete to add OpenStreetMap info on a <b>single theme.</b> Answer questions, and within minutes your contributions are available everywhere. In most themes you can add pictures or even leave a review. The <b>theme maintainer</b> defines elements, questions and languages for it.</p><h3>Find out more</h3><p>MapComplete always <b>offers the next step</b> to learn more about OpenStreetMap.<ul><li>When embedded in a website, the iframe links to a full-screen MapComplete.</li><li>The fullscreen version offers info about OpenStreetMap.</li><li>Viewing works without login, but editing requires an OSM account.</li><li>If you are not logged in, you are asked to do so</li><li>Once you answered a single question, you can add new features to the map</li><li>After a while, actual OSM-tags are shown, later linking to the wiki</li></ul></p><br/><p>Did you notice <b>an issue</b>? Do you have a <b>feature request</b>? Want to <b>help translate</b>? Head over to <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>the source code</a> or <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'>issue tracker.</a> </p><p> Want to see <b>your progress</b>? Follow the edit count on <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"aboutMapcompleteTitle": "About MapComplete",
"aboutMapComplete": {
"intro": "Use MapComplete to add OpenStreetMap info on a <b>single theme.</b> Answer questions, and within minutes your contributions are available everywhere. In most themes you can add pictures or even leave a review. The <b>theme maintainer</b> defines elements, questions and languages for it."
},
"add": {
"addNew": "Add {category}",
"backToSelect": "Select a different category",
@ -181,7 +182,6 @@
"error": "Something went wrong",
"example": "Example",
"examples": "Examples",
"feelFreeToSkip": "You can add or update more information below, but feel free <b>to skip questions</b> you don't know the answer to.",
"fewChangesBefore": "Please, answer a few questions of existing features before adding a new feature.",
"getStartedLogin": "Log in with OpenStreetMap to get started",
"getStartedNewAccount": " or <a href='https://www.openstreetmap.org/user/new' target='_blank'>create a new account</a>",
@ -223,7 +223,6 @@
"streetcomplete": "Another, similar application is <a href='https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete' class='underline hover:text-blue-800' class='underline hover:text-blue-800' target='_blank'>StreetComplete</a>."
},
"nameInlineQuestion": "The name of this {category} is $$$",
"newlyCreated": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"next": "Next",
"noMatchingMapping": "No entries match your search…",
"noNameCategory": "{category} without a name",

View file

@ -41,7 +41,6 @@
},
"general": {
"about": "Edita fácilmente y añade puntos en OpenStreetMap de un tema concreto",
"aboutMapcomplete": "<h3>Aceca de MapComplete</h3><p>Lo utilizamos para añadir información de OpenStreetMap en un <b>único tema. Responde preguntas, y en minutos tus contribuciones estarán disponibles en todos lados. El <b>mantenedor del tema</b> define elementos, preguntas e idiomas para él.</b></p><h3><b>Descubre más</b></h3><p><b>MapComplete siempre <b>ofrece el siguiente paso</b> para aprender más sobre OpenStreetMap.</b></p><ul><li><b>Cuando se embebe en un sitio web, el iframe enlaza a un MapComplete a pantalla completa</b></li><li><b>La versión a pantalla completa ofrece información sobre OpenStreetMpa</b></li><li><b>Se puede ver el trabajo sin iniciar sesión, pero la edición requiere una cuenta de OSM.</b></li><li><b>Si no has iniciado sesión, se te pedirá que lo hagas</b></li><li><b>Una vez que hayas respondido a una simple pregunta, podrás añadir nuevos puntos al mapa</b></li><li><b>Después de un poco, las etiquetas de OSM se mostrarán, después de enlazar a la wiki</b></li></ul><p></p><b><br><p>¿Te fijaste en <b>un problema</b>? Tienes una <b>petición de característica</b>?¿Quieres ayudar a traducir? Ve <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\"> al código fuente</a> o <a href=\"https://github/pietervdvn/MapComplete/issues\" target=\"_blank\">issue tracker.</a> </p><p>¿Quieres ver <b>tu progreso</b>? Sigue a la cuenta de ediciones en <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p></b>",
"add": {
"addNew": "Añadir {category}",
"confirmButton": "Añadir una {category} .<br><div class=\"alert\">Tu contribución es visible para todos</div>",

View file

@ -59,7 +59,6 @@
},
"general": {
"about": "Éditer facilement et ajouter OpenStreetMap pour un certain thème",
"aboutMapcomplete": "<h3>À propos de MapComplete</h3><p>Avec MapComplete vous pouvez enrichir OpenStreetMap d'informations sur un <b>thème unique.</b> Répondez à quelques questions, et en quelques minutes vos contributions seront disponibles dans le monde entier ! Le <b>concepteur du thème</b> définis les éléments, questions et langues pour le thème.</p><h3>En savoir plus</h3><p>MapComplete <b>propose toujours l'étape suivante</b> pour en apprendre plus sur OpenStreetMap.</p><ul><li>Lorsqu'il est intégré dans un site Web, l'<i>iframe</i> pointe vers MapComplete en plein écran</li><li>La version plein écran donne des informations sur OpenStreetMap</li><li>Il est possible de regarder sans se connecter, mais l'édition demande une connexion à OSM.</li><li>Si vous n'êtes pas connecté, il vous est demandé de le faire</li><li>Une fois que vous avez répondu à une seule question, vous pouvez ajouter de nouveaux points à la carte</li><li>Au bout d'un moment, les vrais tags OSM sont montrés, qui pointent ensuite vers le wiki</li></ul><p></p><br><p>Vous avez remarqué <b>un problème</b> ? Vous souhaitez <b>demander une fonctionnalité</b> ? Vous voulez <b>aider à traduire</b> ? Allez voir <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">le code source</a> ou le <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\"><i>gestionnaire de tickets</i></a>.</p><p> Vous voulez visualiser <b>votre progression</b> ? Suivez le compteur d'édition sur <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>",
"add": {
"addNew": "Ajouter {category}",
"backToSelect": "Sélectionner une catégorie différente",
@ -147,7 +146,6 @@
"error": "Quelque chose ne s'est pas passé correctement",
"example": "Exemple",
"examples": "Exemples",
"feelFreeToSkip": "Vous pouvez ajouter ou mettre à jour d'autres informations ci-dessous, mais n'hésitez pas à <b>passer les questions</b> auxquels vous ne savez pas répondre.",
"fewChangesBefore": "Merci de répondre à quelques questions à propos de points déjà existants avant d'ajouter de nouveaux points.",
"getStartedLogin": "Connectez-vous avec OpenStreetMap pour commencer",
"getStartedNewAccount": " ou <a href=\"https://www.openstreetmap.org/user/new\" target=\"_blank\">créez un compte</a>",
@ -178,7 +176,6 @@
"streetcomplete": "Une autre application similaire est <a href='https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete' class='underline hover:text-blue-800' target='_blank'>StreetComplete</a>."
},
"nameInlineQuestion": "Le nom de cet/cette {category} est $$$",
"newlyCreated": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"next": "Suivant",
"noMatchingMapping": "Aucun résultat ne correspond à votre recherche…",
"noNameCategory": "{category} sans nom",

View file

@ -39,7 +39,6 @@
},
"general": {
"about": "Egy adott téma esetében az OpenStreetMap egyszerű szerkesztése és hozzáadása",
"aboutMapcomplete": "<h3>Névjegy</h3><p>A MapComplete-et használhatod, hogy egy <b>egy adott téma szerint</b> OpenStreetMap-adatokat adj hozzá az adatbázishoz. Válaszolj a kérdésekre, és a szerkesztéseid perceken belül mindenhol elérhetővé válnak. A legtöbb témánál hozzáadhatsz képeket vagy akár véleményt is írhatsz. A témához tartozó elemeket, kérdéseket és nyelveket a <b>téma karbantartója</b> határozza meg .</p><h3>További információk</h3><p>A MapComplete mindig <b>felkínálja a következő lépést</b> ahhoz, hogy tanulhass az OpenStreetMapről.</p><ul><li>Weboldalba ágyazva az iframe egy teljes képernyős MapComplete-hez vezet</li><li>A teljes képernyős változat az OpenStreetMapről mutat adatokat</li><li>A megtekintés bejelentkezés nélkül is működik, de a szerkesztéshez OSM-fiók szükséges</li><li>Ha nem vagy bejelentkezve, kérjük, tedd meg</li><li>Miután válaszoltál egy kérdésre, új elemeket helyezhetsz a térképre</li><li>Egy idő után megjelennek a tényleges OSM-címkék, amelyek később a wikire hivatkoznak</li></ul><p></p><br><p>Észrevettél <b>egy problémát</b>? Új <b>funkciót szeretnél kérni</b>? Szeretnél <b>segíteni a fordításban</b>? Látogass el a <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">forráskódhoz</a> vagy a <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">problémakövetőhöz (issue tracker)</a>. </p><p> Szeretnéd látni <b>a fejlődést</b>? Kövesd a szerkesztések számát az <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a> módosításkészlet-elemzőn.</p>",
"add": {
"addNew": "Új {category} hozzáadása",
"confirmButton": "{category} hozzáadása.<br><div class=\"alert\">A hozzáadott objektum mindenki számára látható lesz</div>",

View file

@ -41,7 +41,6 @@
},
"general": {
"about": "Modifica e aggiungi con semplicità OpenStreetMap per un certo tema",
"aboutMapcomplete": "<h3>Informazioni</h3><p>Con MapComplete puoi arricchire OpenStreetMap con informazioni su un <b>singolo argomento</b>. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! Lutente <b>gestore del tema</b> definisce gli elementi, le domande e le lingue per quel tema.</p><h3>Scopri altro</h3><p>MapComplete <b>propone sempre un passo in più</b> per imparare qualcosa di nuovo su OpenStreetMap.</p><ul><li>Quando viene incorporato in un sito web, il collegamento delliframe punta a MapComplete a tutto schermo</li><li>La versione a tutto schermo fornisce informazioni su OpenStreetMap</li><li>La visualizzazione non necessita di alcun accesso ma per modificare occorre aver effettuato laccesso su OSM.</li><li>Se non hai effettuato laccesso, ti verrà richiesto di farlo</li><li>Dopo aver risposto ad una sola domanda potrai aggiungere dei nuovi punti alla mappa</li><li>Dopo qualche momento verranno mostrate le etichette effettive, in seguito i collegamenti alla wiki</li></ul><p></p><br><p>Hai trovato un <b>errore</b>? Vuoi richiedere <b>nuove funzionalità</b>? Vuoi aiutare con la <b>traduzione</b>? Dai unocchiata al <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">codice sorgente</a> oppure al <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">tracker degli errori.</a></p><p>Vuoi vedere i <b>tuoi progressi</b>?Segui il contatore delle modifiche su <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>",
"add": {
"addNew": "Aggiungi {category} qua",
"confirmButton": "Aggiungi una {category} qua.<br><div class=\"alert\">La tua aggiunta è visibile a chiunque</div>",

View file

@ -16,7 +16,6 @@
},
"general": {
"about": "特定のテーマに沿って、OpenStreetMapを簡単に編集し、情報を追加できます",
"aboutMapcomplete": "<h3>MapCompleteについて</h3><p>MapCompleteを使えば、<b>1つのテーマに関する情報でOpenStreetMapを充実させることができます。</b>いくつかの質問に答えると、数分以内にあなたの投稿が世界中で公開されます!<b>テーマメンテナ</b>は、テーマの要素、質問、言語を定義します。</p><h3>詳細情報を見る</h3><p>MapCompleteは常にOpenStreetMapについてさらに学ぶため<b>次のステップ</b>を提供します。</p><ul><li>Webサイトに埋め込まれるとiframeはフルスクリーンのMapCompleteにリンクします</li><li>フルスクリーン版はOpenStreetMapに関する情報を提供します</li><li>ログインせずに表示することはできますが、編集にはOSMログインが必要です。</li><li>ログインしていない場合は、ログインするように求められます</li><li>1つの質問に回答すると、マップに新しいポイントを追加できます</li><li>しばらくすると、実際のOSMタグが表示され、後でWikiにリンクされます</li></ul><p></p><br><p><b>問題</b>に気づきましたか?<b>機能要求</b>はありますか?<b>翻訳の手伝いをしますか?</b><a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">ソースコード</a>または<a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">問題追跡ツール</a>に移動します。</p><p><b>進捗状況</b>を確認しますか? <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>の編集数に従います。</p>",
"add": {
"addNew": "ここに新しい {category} を追加します",
"confirmButton": "ここに{category}を追加します。<br><div class=\"alert\">追加内容はすべてのユーザーに表示されます。</div>",

View file

@ -35,16 +35,6 @@
"1": {
"title": "un mupi"
},
"10": {
"description": "S'utilitza per a cartells publicitaris, retols de neó, logotips i cartells en entrades institucionals",
"title": "un lletrer"
},
"11": {
"title": "una escupltura"
},
"12": {
"title": "una paret pintada"
},
"2": {
"title": "un mupi sobre la paret"
},
@ -71,6 +61,16 @@
},
"9": {
"title": "un tòtem"
},
"10": {
"description": "S'utilitza per a cartells publicitaris, retols de neó, logotips i cartells en entrades institucionals",
"title": "un lletrer"
},
"11": {
"title": "una escupltura"
},
"12": {
"title": "una paret pintada"
}
},
"tagRenderings": {
@ -165,9 +165,6 @@
"1": {
"then": "Açò és un tauló d'anunis"
},
"10": {
"then": "Açò és una paret pintada"
},
"2": {
"then": "Açò és una columna"
},
@ -191,6 +188,9 @@
},
"9": {
"then": "Açò és un tòtem"
},
"10": {
"then": "Açò és una paret pintada"
}
},
"question": "Quin tipus d'element publicitari és aquest?",
@ -205,9 +205,6 @@
"1": {
"then": "Tauló d'anuncis"
},
"10": {
"then": "Paret Pintada"
},
"2": {
"then": "Mupi"
},
@ -231,6 +228,9 @@
},
"9": {
"then": "Tòtem"
},
"10": {
"then": "Paret Pintada"
}
}
}
@ -309,15 +309,6 @@
"1": {
"then": "Mural"
},
"10": {
"then": "Azulejo (Rajoles decoratives espanyoles i portugueses)"
},
"11": {
"then": "Enrajolat"
},
"12": {
"then": "Tallat a la fusta"
},
"2": {
"then": "Pintura"
},
@ -341,6 +332,15 @@
},
"9": {
"then": "Relleu"
},
"10": {
"then": "Azulejo (Rajoles decoratives espanyoles i portugueses)"
},
"11": {
"then": "Enrajolat"
},
"12": {
"then": "Tallat a la fusta"
}
},
"question": "Quin tipus d'obra és aquesta peça?",
@ -1049,11 +1049,6 @@
}
},
"question": "Hi ha eines aquí per reparar la teva pròpia bicicleta?"
},
"opening_hours": {
"override": {
"question": "Quan obri aquest cafè ciclista?"
}
}
},
"title": {
@ -1352,11 +1347,6 @@
"question": "Quines vàlvules són compatibles?",
"render": "Aquesta bomba admet les vàlvules següents: {valves}"
},
"opening_hours_24_7": {
"override": {
"question": "Quan està obert aquest punt de reparació de bicicletes?"
}
},
"send_email_about_broken_pump": {
"render": {
"special": {
@ -1741,9 +1731,6 @@
"1": {
"question": "Té un connector <div style='display: inline-block'><b><b>Schuko</b> sense pin de terra (CEE7/4 tipus F)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div> connector"
},
"13": {
"question": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Tipus 2 amb un cable de marca tesla)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
},
"4": {
"question": "Té un connector de <div style='display: inline-block'>Tipus 1 amb cable</b> (J1772)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type1_J1772.svg'/></div>"
},
@ -1758,6 +1745,9 @@
},
"8": {
"question": "Té un connector <div style='display: inline-block'><b><b>Tipus 2</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_socket.svg'/></div>"
},
"13": {
"question": "Té un connector <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Tipus 2 amb un cable de marca tesla)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
}
}
}
@ -1807,6 +1797,30 @@
"1": {
"then": "<b>Endoll de paret Schuko</b> sense pin a terra (CEE7/4 tipus F)"
},
"2": {
"then": "<b>Endoll de paret Europeu</b> amb pin de terra (CEE7/4 tipus E)"
},
"3": {
"then": "<b>Endoll de paret Europeu</b> amb pin a terra (CEE7/4 tipus E)"
},
"4": {
"then": "<b>CHAdeMo</b>"
},
"5": {
"then": "<b>Chademo</b>"
},
"6": {
"then": "<b>Tipus 1 amb cable</b> (J1772)"
},
"7": {
"then": "<b>Tipus 1 amb cable</b> (J1772)"
},
"8": {
"then": "<b>Tipus 1 <i>sense</i> cable</b> (J1772)"
},
"9": {
"then": "<b>Tipus 1 <i>sense</i> cable</b> (J1772)"
},
"10": {
"then": "<b>CSS 1Tipus 1</b> (també conegut com Tipus 1 combo)"
},
@ -1837,9 +1851,6 @@
"19": {
"then": "<b>Tipus 2 amb cable</b> (mennekes)"
},
"2": {
"then": "<b>Endoll de paret Europeu</b> amb pin de terra (CEE7/4 tipus E)"
},
"20": {
"then": "<b>CSS Supercarregador Tesla</b> (tipus2_css de la marca)"
},
@ -1857,27 +1868,6 @@
},
"26": {
"then": "<b>USB</b> per a carregar mòbils i dispositius petits"
},
"3": {
"then": "<b>Endoll de paret Europeu</b> amb pin a terra (CEE7/4 tipus E)"
},
"4": {
"then": "<b>CHAdeMo</b>"
},
"5": {
"then": "<b>Chademo</b>"
},
"6": {
"then": "<b>Tipus 1 amb cable</b> (J1772)"
},
"7": {
"then": "<b>Tipus 1 amb cable</b> (J1772)"
},
"8": {
"then": "<b>Tipus 1 <i>sense</i> cable</b> (J1772)"
},
"9": {
"then": "<b>Tipus 1 <i>sense</i> cable</b> (J1772)"
}
},
"question": "Quins tipus de connexions de càrrega estan disponibles aquí?"
@ -2865,21 +2855,6 @@
"1": {
"then": "Això és una fregiduria"
},
"10": {
"then": "Aquí es serveixen plats xinesos"
},
"11": {
"then": "Aquí es serveixen plats grecs"
},
"12": {
"then": "Aquí es serveixen plats indis"
},
"13": {
"then": "Aquí es serveixen plats turcs"
},
"14": {
"then": "Aquí es serveixen plats tailandesos"
},
"2": {
"then": "Principalment serveix pasta"
},
@ -2900,6 +2875,21 @@
},
"9": {
"then": "Aquí es serveixen plats francesos"
},
"10": {
"then": "Aquí es serveixen plats xinesos"
},
"11": {
"then": "Aquí es serveixen plats grecs"
},
"12": {
"then": "Aquí es serveixen plats indis"
},
"13": {
"then": "Aquí es serveixen plats turcs"
},
"14": {
"then": "Aquí es serveixen plats tailandesos"
}
},
"question": "Quin menjar es serveix aquí?",
@ -3956,6 +3946,30 @@
"1": {
"question": "Reciclatge de piles"
},
"2": {
"question": "Reciclatge de cartrons de begudes"
},
"3": {
"question": "Reciclatge de llaunes"
},
"4": {
"question": "Reciclatge de roba"
},
"5": {
"question": "Reciclatge d'oli de cuina"
},
"6": {
"question": "Reciclatge d'oli de motor"
},
"7": {
"question": "Reciclatge de tubs fluorescents"
},
"8": {
"question": "Reciclatge de residus verds"
},
"9": {
"question": "Reciclatge d'ampolles de vidre"
},
"10": {
"question": "Reciclatge de vidre"
},
@ -3986,32 +4000,8 @@
"19": {
"question": "Reciclatge del rebuig"
},
"2": {
"question": "Reciclatge de cartrons de begudes"
},
"20": {
"question": "Reciclatge del rebuig"
},
"3": {
"question": "Reciclatge de llaunes"
},
"4": {
"question": "Reciclatge de roba"
},
"5": {
"question": "Reciclatge d'oli de cuina"
},
"6": {
"question": "Reciclatge d'oli de motor"
},
"7": {
"question": "Reciclatge de tubs fluorescents"
},
"8": {
"question": "Reciclatge de residus verds"
},
"9": {
"question": "Reciclatge d'ampolles de vidre"
}
}
},
@ -4074,6 +4064,30 @@
"1": {
"then": "Aquí es poden reciclar els cartons de begudes"
},
"2": {
"then": "Aquí es poden reciclar llaunes"
},
"3": {
"then": "Aquí es pot reciclar roba"
},
"4": {
"then": "Aquí es pot reciclar oli de cuina"
},
"5": {
"then": "Aquí es pot reciclar oli de motor"
},
"6": {
"then": "Aquí es poden reciclar tub fluroescents"
},
"7": {
"then": "Aquí es poden reciclar residus verds"
},
"8": {
"then": "Ací es poden reciclar residus orgànics"
},
"9": {
"then": "Aquí es poden reciclar ampolles de vidre"
},
"10": {
"then": "Aquí es pot reciclar vidre"
},
@ -4104,9 +4118,6 @@
"19": {
"then": "Aquí es poden reciclar sabates"
},
"2": {
"then": "Aquí es poden reciclar llaunes"
},
"20": {
"then": "Aquí es poden reciclar petits electrodomèstics"
},
@ -4118,27 +4129,6 @@
},
"23": {
"then": "Ací es pot reciclar el rebuig"
},
"3": {
"then": "Aquí es pot reciclar roba"
},
"4": {
"then": "Aquí es pot reciclar oli de cuina"
},
"5": {
"then": "Aquí es pot reciclar oli de motor"
},
"6": {
"then": "Aquí es poden reciclar tub fluroescents"
},
"7": {
"then": "Aquí es poden reciclar residus verds"
},
"8": {
"then": "Ací es poden reciclar residus orgànics"
},
"9": {
"then": "Aquí es poden reciclar ampolles de vidre"
}
},
"question": "Què es pot reciclar aquí?"
@ -4562,12 +4552,6 @@
"1": {
"then": "Aquest fanal utilitza LED"
},
"10": {
"then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)"
},
"11": {
"then": "Aquest fanal s'il·lumina amb gas"
},
"2": {
"then": "Aquest fanal utilitza il·luminació incandescent"
},
@ -4591,6 +4575,12 @@
},
"9": {
"then": "Aquest fanal utilitza làmpades de sodi de baixa pressió (taronja monocroma)"
},
"10": {
"then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)"
},
"11": {
"then": "Aquest fanal s'il·lumina amb gas"
}
},
"question": "Quin tipus d'il·luminació utilitza aquest fanal?"
@ -5299,4 +5289,4 @@
}
}
}
}
}

View file

@ -35,16 +35,6 @@
"1": {
"title": "volně stojící plakátovací skříň"
},
"10": {
"description": "Používá se pro reklamní nápisy, neonové nápisy, loga a vstupní nápisy institucí",
"title": "cedule"
},
"11": {
"title": "socha"
},
"12": {
"title": "nástěnná malba"
},
"2": {
"title": "plakátovací skříň připevněná na stěnu"
},
@ -71,6 +61,16 @@
},
"9": {
"title": "totem"
},
"10": {
"description": "Používá se pro reklamní nápisy, neonové nápisy, loga a vstupní nápisy institucí",
"title": "cedule"
},
"11": {
"title": "socha"
},
"12": {
"title": "nástěnná malba"
}
},
"tagRenderings": {
@ -165,9 +165,6 @@
"1": {
"then": "Toto je deska"
},
"10": {
"then": "Toto je nástěnná malba"
},
"2": {
"then": "Toto je sloup"
},
@ -191,6 +188,9 @@
},
"9": {
"then": "Toto je totem"
},
"10": {
"then": "Toto je nástěnná malba"
}
},
"question": "O jaký typ reklamního prvku se jedná?",
@ -205,9 +205,6 @@
"1": {
"then": "Deska"
},
"10": {
"then": "Nástěnná malba"
},
"2": {
"then": "Skříň na plakáty"
},
@ -231,6 +228,9 @@
},
"9": {
"then": "Totem"
},
"10": {
"then": "Nástěnná malba"
}
}
}
@ -309,15 +309,6 @@
"1": {
"then": "Nástěnná malba"
},
"10": {
"then": "Azulejo (španělské dekorativní dlaždice)"
},
"11": {
"then": "Obklady a dlažba"
},
"12": {
"then": "Dřevořezba"
},
"2": {
"then": "Malba"
},
@ -341,6 +332,15 @@
},
"9": {
"then": "Reliéf"
},
"10": {
"then": "Azulejo (španělské dekorativní dlaždice)"
},
"11": {
"then": "Obklady a dlažba"
},
"12": {
"then": "Dřevořezba"
}
},
"question": "Jaký je typ tohoto uměleckého díla?",
@ -1049,11 +1049,6 @@
}
},
"question": "Jsou zde nástroje na opravu vlastního kola?"
},
"opening_hours": {
"override": {
"question": "Kdy byla tato cyklistická kavárna otevřena?"
}
}
},
"title": {
@ -1502,4 +1497,4 @@
"walls_and_buildings": {
"description": "Speciální zabudovaná vrstva poskytující všechny stěny a budovy. Tato vrstva je užitečná v předvolbách pro objekty, které lze umístit ke stěnám (např. AED, poštovní schránky, vchody, adresy, bezpečnostní kamery, …). Tato vrstva je ve výchozím nastavení neviditelná a uživatel ji nemůže přepínat."
}
}
}

View file

@ -290,6 +290,9 @@
"presets": {
"0": {
"title": "an artwork"
},
"1": {
"title": "an artwork on a wall"
}
},
"tagRenderings": {

View file

@ -35,16 +35,6 @@
"1": {
"title": "un mupi"
},
"10": {
"description": "Se utiliza para carteles publicitarios, letreros de neón, logotipos y carteles en entradas institucionales",
"title": "un lletrer"
},
"11": {
"title": "una escultura"
},
"12": {
"title": "una pared pintada"
},
"2": {
"title": "un mupi sobre la pared"
},
@ -71,6 +61,16 @@
},
"9": {
"title": "un tótem"
},
"10": {
"description": "Se utiliza para carteles publicitarios, letreros de neón, logotipos y carteles en entradas institucionales",
"title": "un lletrer"
},
"11": {
"title": "una escultura"
},
"12": {
"title": "una pared pintada"
}
},
"tagRenderings": {
@ -165,9 +165,6 @@
"1": {
"then": "Esto es un tablón de anuncios"
},
"10": {
"then": "Esto es una pared pintada"
},
"2": {
"then": "Esto es una columna"
},
@ -191,6 +188,9 @@
},
"9": {
"then": "Esto es un tótem"
},
"10": {
"then": "Esto es una pared pintada"
}
},
"question": "¿Qué tipo de elemento publicitario es?",
@ -205,9 +205,6 @@
"1": {
"then": "Tablon de anuncios"
},
"10": {
"then": "Pared Pintada"
},
"2": {
"then": "Mupi"
},
@ -231,6 +228,9 @@
},
"9": {
"then": "Tótem"
},
"10": {
"then": "Pared Pintada"
}
}
}
@ -309,12 +309,6 @@
"1": {
"then": "Mural"
},
"10": {
"then": "Azulejo (Baldosas decorativas Españolas y Portuguesas)"
},
"11": {
"then": "Cerámica"
},
"2": {
"then": "Pintura"
},
@ -338,6 +332,12 @@
},
"9": {
"then": "Relieve"
},
"10": {
"then": "Azulejo (Baldosas decorativas Españolas y Portuguesas)"
},
"11": {
"then": "Cerámica"
}
},
"question": "¿Qué tipo de obra es esta pieza?",
@ -1424,27 +1424,6 @@
"0": {
"question": "Todos los conectores"
},
"10": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2 con cable</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
},
"11": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipo2_css de marca)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
},
"12": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
},
"13": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Tipo2 A con un cable de marca tesla)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
},
"14": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
},
"15": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Bosch Active Connect con 3 pines</b> y cable</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div>"
},
"16": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Bosch Active Connect con 5 pines</b> y cable</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div>"
},
"2": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>enchufe de pared Europeo</b> con un pin de tierra (CEE7/4 tipo E</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div>"
},
@ -1468,6 +1447,27 @@
},
"9": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2 CCS</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
},
"10": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tipo 2 con cable</b> (mennekes)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
},
"11": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (un tipo2_css de marca)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div>"
},
"12": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger (destination)</b></b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div>"
},
"13": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Tipo2 A con un cable de marca tesla)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div>"
},
"14": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>USB</b> para cargar teléfonos y dispositivos electrónicos pequeños</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
},
"15": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Bosch Active Connect con 3 pines</b> y cable</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div>"
},
"16": {
"question": "Tiene un conector <div style='display: inline-block'><b><b>Bosch Active Connect con 5 pines</b> y cable</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div>"
}
}
}
@ -1522,6 +1522,30 @@
"1": {
"then": "<b>Enchufe de pared Schuko</b> sin pin de tierra (CEE7/4 tipo F)"
},
"2": {
"then": "<b>Enchufe de pared Europeo</b> con pin de tierra (CEE7/4 tipo E)"
},
"3": {
"then": "<b>Enchufe de pared Europeo</b> con pin de tierra (CEE7/4 tipo E)"
},
"4": {
"then": "<b>Chademo</b>"
},
"5": {
"then": "<b>Chademo</b>"
},
"6": {
"then": "<b>Tipo 1 con cable</b> (J1772)"
},
"7": {
"then": "<b>Tipo 1 con cable</b> (J1772)"
},
"8": {
"then": "<b>Tipo 1 <i>sin</i> cable</b> (J1772)"
},
"9": {
"then": "<b>Tipo 1 <i>sin</i> cable</b> (J1772)"
},
"10": {
"then": "<b>CSS Tipo 1</b> (también conocido como Tipo 1 Combo)"
},
@ -1552,9 +1576,6 @@
"19": {
"then": "<b>Tipo 2 con cable</b> (mennekes)"
},
"2": {
"then": "<b>Enchufe de pared Europeo</b> con pin de tierra (CEE7/4 tipo E)"
},
"20": {
"then": "<b>CCS Supercargador Tesla</b> (un tipo2_css con marca)"
},
@ -1585,32 +1606,11 @@
"29": {
"then": "<b>Bosch Active Connect con 3 pines</b> y cable"
},
"3": {
"then": "<b>Enchufe de pared Europeo</b> con pin de tierra (CEE7/4 tipo E)"
},
"30": {
"then": "<b>Bosch Active Connect con 5 pines</b> y cable"
},
"31": {
"then": "<b>Bosch Active Connect con 5 pines</b> y cable"
},
"4": {
"then": "<b>Chademo</b>"
},
"5": {
"then": "<b>Chademo</b>"
},
"6": {
"then": "<b>Tipo 1 con cable</b> (J1772)"
},
"7": {
"then": "<b>Tipo 1 con cable</b> (J1772)"
},
"8": {
"then": "<b>Tipo 1 <i>sin</i> cable</b> (J1772)"
},
"9": {
"then": "<b>Tipo 1 <i>sin</i> cable</b> (J1772)"
}
},
"question": "¿Qué tipo de conexiones de carga están disponibles aquí?"
@ -2005,12 +2005,6 @@
"1": {
"then": "Este carril bici está pavimentado"
},
"10": {
"then": "Este carril bici está hecho de gravilla"
},
"12": {
"then": "Este carril bici está hecho de tierra natural"
},
"2": {
"then": "Este carril bici está hecho de asfalto"
},
@ -2025,6 +2019,12 @@
},
"9": {
"then": "Este carril bici está hecho de grava"
},
"10": {
"then": "Este carril bici está hecho de gravilla"
},
"12": {
"then": "Este carril bici está hecho de tierra natural"
}
},
"question": "¿De qué superficie está hecho este carril bici?",
@ -2070,9 +2070,6 @@
"1": {
"then": "Este carril bici está pavimentado"
},
"10": {
"then": "Este carril bici está hecho de gravilla"
},
"2": {
"then": "Este carril bici está hecho de asfalto"
},
@ -2084,6 +2081,9 @@
},
"9": {
"then": "Este carril bici está hecho de grava"
},
"10": {
"then": "Este carril bici está hecho de gravilla"
}
},
"question": "¿De qué esta hecha la superficie de esta calle?",
@ -2616,18 +2616,6 @@
"0": {
"then": "Esto es una pizzería"
},
"10": {
"then": "Aquí se sirven platos Chinos"
},
"11": {
"then": "Aquí se sirven platos Griegos"
},
"12": {
"then": "Aquí se sirven platos Indios"
},
"13": {
"then": "Aquí se sirven platos Turcos"
},
"2": {
"then": "Principalmente sirve pasta"
},
@ -2648,6 +2636,18 @@
},
"9": {
"then": "Aquí se sirven platos Franceses"
},
"10": {
"then": "Aquí se sirven platos Chinos"
},
"11": {
"then": "Aquí se sirven platos Griegos"
},
"12": {
"then": "Aquí se sirven platos Indios"
},
"13": {
"then": "Aquí se sirven platos Turcos"
}
},
"question": "¿Qué comida se sirve aquí?",
@ -3045,19 +3045,6 @@
}
}
},
"10": {
"options": {
"0": {
"question": "Todas las notas"
},
"1": {
"question": "Ocultar las nostras de importación"
},
"2": {
"question": "Solo mostrar las notas de importación"
}
}
},
"2": {
"options": {
"0": {
@ -3113,6 +3100,19 @@
"question": "Solo mostrar las notas abiertas"
}
}
},
"10": {
"options": {
"0": {
"question": "Todas las notas"
},
"1": {
"question": "Ocultar las nostras de importación"
},
"2": {
"question": "Solo mostrar las notas de importación"
}
}
}
},
"name": "Notas de OpenStreetMap",
@ -3415,6 +3415,21 @@
"1": {
"question": "Reciclaje de baterías"
},
"3": {
"question": "Reciclaje de latas"
},
"4": {
"question": "Reciclaje de ropa"
},
"5": {
"question": "Reciclaje de aceite de cocina"
},
"6": {
"question": "Reciclaje de aceite de motor"
},
"9": {
"question": "Reciclaje de botellas de cristal"
},
"10": {
"question": "Reciclaje de cristal"
},
@ -3438,21 +3453,6 @@
},
"18": {
"question": "Reciclaje de pequeños electrodomésticos"
},
"3": {
"question": "Reciclaje de latas"
},
"4": {
"question": "Reciclaje de ropa"
},
"5": {
"question": "Reciclaje de aceite de cocina"
},
"6": {
"question": "Reciclaje de aceite de motor"
},
"9": {
"question": "Reciclaje de botellas de cristal"
}
}
}
@ -3495,6 +3495,24 @@
"0": {
"then": "Aquí se pueden reciclar baterías"
},
"2": {
"then": "Aquí se pueden reciclar latas"
},
"3": {
"then": "Aquí se puede reciclar ropa"
},
"4": {
"then": "Aquí se puede reciclar aceite de cocina"
},
"5": {
"then": "Aquí se puede reciclar aceite de motor"
},
"8": {
"then": "Aquí se pueden reciclar residuos orgánicos"
},
"9": {
"then": "Aquí se pueden reciclar botellas de cristal"
},
"10": {
"then": "Aquí se puede reciclar cristal"
},
@ -3518,24 +3536,6 @@
},
"19": {
"then": "Aquí se pueden reciclar zapatos"
},
"2": {
"then": "Aquí se pueden reciclar latas"
},
"3": {
"then": "Aquí se puede reciclar ropa"
},
"4": {
"then": "Aquí se puede reciclar aceite de cocina"
},
"5": {
"then": "Aquí se puede reciclar aceite de motor"
},
"8": {
"then": "Aquí se pueden reciclar residuos orgánicos"
},
"9": {
"then": "Aquí se pueden reciclar botellas de cristal"
}
},
"question": "¿Qué se puede reciclar aquí?"
@ -3817,6 +3817,11 @@
"question": "¿De qué color es la luz que emite esta lámpara?",
"render": "Esta lámpara emite luz {light:colour}"
},
"count": {
"mappings": {
"0": {}
}
},
"direction": {
"question": "¿Hacia donde apunta esta lámpara?",
"render": "Esta lámpara apunta hacia {light:direction}"
@ -3857,12 +3862,6 @@
"1": {
"then": "Esta lámpara utiliza LEDs"
},
"10": {
"then": "Esta lámpara utiliza lámparas de sodio de alta presión (naranja con blanco)"
},
"11": {
"then": "Esta lampara se ilumina con gas"
},
"2": {
"then": "Esta lámpara utiliza iluminación incandescente"
},
@ -3883,6 +3882,12 @@
},
"9": {
"then": "Esta lámpara utiliza lámparas de sodio de baja presión (naranja monocromo)"
},
"10": {
"then": "Esta lámpara utiliza lámparas de sodio de alta presión (naranja con blanco)"
},
"11": {
"then": "Esta lampara se ilumina con gas"
}
},
"question": "¿Qué tipo de iluminación utiliza esta lámpara?"
@ -4329,4 +4334,4 @@
}
}
}
}
}

View file

@ -29,16 +29,6 @@
"0": {
"description": "Un grand équipement extérieur, principalement disposé dans les zones à fort trafic comme une route"
},
"10": {
"description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées",
"title": "une enseigne"
},
"11": {
"title": "une sculpture"
},
"12": {
"title": "une peinture murale"
},
"3": {
"description": "Petit panneau pour laffichage de proximité, généralement à destination des piétons",
"title": "un petit panneau"
@ -61,6 +51,16 @@
},
"9": {
"title": "un totem"
},
"10": {
"description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées",
"title": "une enseigne"
},
"11": {
"title": "une sculpture"
},
"12": {
"title": "une peinture murale"
}
},
"tagRenderings": {
@ -143,9 +143,6 @@
"1": {
"then": "C'est un petit panneau"
},
"10": {
"then": "C'est une peinture murale"
},
"2": {
"then": "C'est une colonne"
},
@ -169,6 +166,9 @@
},
"9": {
"then": "C'est un totem"
},
"10": {
"then": "C'est une peinture murale"
}
},
"question": "De quel type de dispositif publicitaire s'agit-il ?"
@ -179,9 +179,6 @@
"1": {
"then": "Petit panneau"
},
"10": {
"then": "Peinture murale"
},
"3": {
"then": "Colonne"
},
@ -202,6 +199,9 @@
},
"9": {
"then": "Totem"
},
"10": {
"then": "Peinture murale"
}
}
}
@ -280,15 +280,6 @@
"1": {
"then": "Peinture murale"
},
"10": {
"then": "Azulejo (faïence latine)"
},
"11": {
"then": "Carrelage"
},
"12": {
"then": "Sculpture sur bois"
},
"2": {
"then": "Peinture"
},
@ -312,6 +303,15 @@
},
"9": {
"then": "Relief"
},
"10": {
"then": "Azulejo (faïence latine)"
},
"11": {
"then": "Carrelage"
},
"12": {
"then": "Sculpture sur bois"
}
},
"question": "Quel est le type de cette œuvre d'art ?",
@ -2279,15 +2279,6 @@
"1": {
"then": "Cette piste cyclable est goudronée"
},
"10": {
"then": "Cette piste cyclable est faite en graviers fins"
},
"11": {
"then": "Cette piste cyclable est en cailloux"
},
"12": {
"then": "Cette piste cyclable est faite en sol brut"
},
"2": {
"then": "Cette piste cyclable est asphaltée"
},
@ -2311,6 +2302,15 @@
},
"9": {
"then": "Cette piste cyclable est faite en graviers"
},
"10": {
"then": "Cette piste cyclable est faite en graviers fins"
},
"11": {
"then": "Cette piste cyclable est en cailloux"
},
"12": {
"then": "Cette piste cyclable est faite en sol brut"
}
},
"question": "De quoi est faite la surface de la piste cyclable ?",
@ -2359,15 +2359,6 @@
"1": {
"then": "Cette piste cyclable est pavée"
},
"10": {
"then": "Cette piste cyclable est faite en graviers fins"
},
"11": {
"then": "Cette piste cyclable est en cailloux"
},
"12": {
"then": "Cette piste cyclable est faite en sol brut"
},
"2": {
"then": "Cette piste cyclable est asphaltée"
},
@ -2391,6 +2382,15 @@
},
"9": {
"then": "Cette piste cyclable est faite en graviers"
},
"10": {
"then": "Cette piste cyclable est faite en graviers fins"
},
"11": {
"then": "Cette piste cyclable est en cailloux"
},
"12": {
"then": "Cette piste cyclable est faite en sol brut"
}
},
"question": "De quel materiel est faite cette rue ?",
@ -3213,21 +3213,6 @@
"1": {
"then": "C'est une friterie"
},
"10": {
"then": "Des plats chinois sont servis ici"
},
"11": {
"then": "Des plats grecs sont servis ici"
},
"12": {
"then": "Des plats indiens sont servis ici"
},
"13": {
"then": "Des plats turcs sont servis ici"
},
"14": {
"then": "Des plats thaïlandais sont servis ici"
},
"2": {
"then": "Restaurant Italien"
},
@ -3251,6 +3236,21 @@
},
"9": {
"then": "Des plats français sont servis ici"
},
"10": {
"then": "Des plats chinois sont servis ici"
},
"11": {
"then": "Des plats grecs sont servis ici"
},
"12": {
"then": "Des plats indiens sont servis ici"
},
"13": {
"then": "Des plats turcs sont servis ici"
},
"14": {
"then": "Des plats thaïlandais sont servis ici"
}
},
"question": "Quelle type de nourriture est servie ici ?",
@ -5482,4 +5482,4 @@
}
}
}
}
}

View file

@ -177,6 +177,9 @@
"presets": {
"0": {
"title": "een kunstwerk"
},
"1": {
"title": "een kunstwerk op een muur"
}
},
"tagRenderings": {

View file

@ -585,4 +585,4 @@
"render": "Bicicleta fantasma"
}
}
}
}

View file

@ -71,7 +71,6 @@
},
"general": {
"about": "Rediger og legg til OpenStreetMap for et gitt tema",
"aboutMapcomplete": "<h3>Om</h3><p>Bruk MapComplete til å legge til OpenStreetMap-info i <b>ett tema. </b>Besvar spørsmål og få endringene vist i løpet av minutter. I de fleste temaene kan du legge inn bilder eller legge igjen en vurdering. <b>Temavedlikeholderen</b> definerer elementer, spørsmål og språk for det.</p><h3>Finn ut mer</h3><p>MapComplete tilbyr alltid <b>neste steg</b> for å lære mer om OpenStreetMap.<ul><li>Når bygd inn på en nettside lenker iframe-elementet til en fullskjermsversjon av MapComplete.</li><li>Fullskjermsversjonen tilbyr info om OpenStreetMap.</li><li>Visning fungerer uten innlogging, men redigering krever en OSM-konto.</li><li>Hvis du ikke er innlogget blir du spurt om å gjøre det.</li><li>Når du har besvart ett spørsmål, kan du legge til nye funksjoner på kartet.</li><li>Etter en stund vil OSM-etiketter bli vist, som i sin tur lenker til wiki-en.</li></ul></p><br/><p>Har du oppdaget <b>et problem</b>? Har du en <b>funksjonsforespørsel</b>? Vil du bistå <b>oversettelsen</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'>problemsporeren.</a> </p><p>Vil du se <b>din framdrift</b>? Følg redigeringsantallet på <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"add": {
"addNew": "Legg til {category} her",
"backToSelect": "Velg en annen kategori",

View file

@ -88,7 +88,6 @@
},
"general": {
"about": "Bewerk en voeg data toe aan OpenStreetMap over een specifiek onderwerp op een gemakkelijke manier",
"aboutMapcomplete": "<h3>Over MapComplete</h3><p>Met MapComplete kun je OpenStreetMap verrijken met informatie over een bepaald thema. Beantwoord enkele vragen, en binnen een paar minuten is jouw bijdrage wereldwijd beschikbaar! In de meeste thema's kan je foto's toevoegen of zelfs een review achterlaten. De <b>maker van het thema</b> bepaalt de elementen, vragen en taalversies voor het thema.</p><h3>Ontdek meer</h3><p>MapComplete <b>biedt altijd de volgende stap</b> naar meer OpenStreetMap:</p><ul><li>Indien ingebed in een website linkt het iframe naar de volledige MapComplete</li><li>De volledige versie heeft uitleg over OpenStreetMap</li><li>Bekijken kan altijd, maar wijzigen vereist een OSM-account</li><li>Als je niet aangemeld bent, wordt je gevraagd dit te doen</li><li>Als je minstens één vraag hebt beantwoord, kan je ook elementen toevoegen</li><li>Heb je genoeg changesets, dan verschijnen de OSM-tags, nog later links naar de wiki</li></ul><p></p><p>Merk je <b>een bug</b> of wil je een <b>extra feature</b>? Wil je <b>helpen vertalen</b>? Bezoek dan de <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">broncode</a> en <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">issue tracker</a>. </p><p></p>Wil je <b>je vorderingen</b> zien? Volg de edits <a href=\"{osmcha_link}\" target=\"_blank\">op OsmCha</a>.<p></p>",
"add": {
"addNew": "Voeg {category} toe",
"backToSelect": "Selecteer een andere categorie",
@ -176,7 +175,6 @@
"error": "Er ging iets mis",
"example": "Voorbeeld",
"examples": "Voorbeelden",
"feelFreeToSkip": "Je kan hieronder nog informatie toevoegen of updaten, maar <b>sla gerust vragen over</b> waarvoor je het antwoord niet kent.",
"fewChangesBefore": "Gelieve eerst enkele vragen van bestaande objecten te beantwoorden vooraleer zelf objecten toe te voegen.",
"getStartedLogin": "Login met OpenStreetMap om te beginnen",
"getStartedNewAccount": " of <a href='https://www.openstreetmap.org/user/new' target='_blank'>maak een nieuwe account aan</a>",
@ -214,7 +212,6 @@
"streetcomplete": "Een andere, gelijkaardige Android applicatie is <a href=\"https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete\" class=\"underline hover:text-blue-800\" target=\"_blank\">StreetComplete</a>."
},
"nameInlineQuestion": "De naam van dit {category} is $$$",
"newlyCreated": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"next": "Volgende",
"noMatchingMapping": "Geen overeenkomsten gevonden…",
"noNameCategory": "{category} zonder naam",

View file

@ -22,7 +22,6 @@
},
"general": {
"about": "Łatwo edytuj i dodaj OpenStreetMap dla określonego motywu",
"aboutMapcomplete": "<h3>O MapComplete</h3><p>Dzięki MapComplete możesz wzbogacić OpenStreetMap o informacje na <b>pojedynczy temat.</b> Odpowiedz na kilka pytań, a w ciągu kilku minut Twój wkład będzie dostępny na całym świecie! Opiekun <b>motywu</b> definiuje elementy, pytania i języki dla tematu.</p><h3>Dowiedz się więcej</h3><p>MapComplete zawsze <b>oferuje następny krok</b>, by dowiedzieć się więcej o OpenStreetMap.</p><ul><li>Po osadzeniu na stronie internetowej, iframe łączy się z pełnoekranowym MapComplete</li><li>Wersja pełnoekranowa oferuje informacje o OpenStreetMap</li><li>Przeglądanie działa bez logowania, ale edycja wymaga loginu OSM.</li><li>Jeżeli nie jesteś zalogowany, zostaniesz poproszony o zalogowanie się</li><li>Po udzieleniu odpowiedzi na jedno pytanie, możesz dodać nowe punkty do mapy</li><li>Po chwili wyświetlane są rzeczywiste tagi OSM, które później linkują do wiki</li></ul><p></p><br><p>Zauważyłeś <b>problem</b>? Czy masz <b>prośbę o dodanie jakiejś funkcji</b>? Chcesz <b>pomóc w tłumaczeniu</b>? Udaj się do <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">kodu źródłowego</a> lub <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">issue trackera.</a> </p><p> Chcesz zobaczyć <b>swoje postępy</b>? Śledź liczbę edycji na <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>.",
"add": {
"addNew": "Dodaj nową {category} tutaj",
"confirmButton": "Dodaj tutaj {category}.<br><div class=\"alert\">Twój dodatek jest widoczny dla wszystkich</div>",

View file

@ -41,7 +41,6 @@
},
"general": {
"about": "Edite e adicione facilmente o OpenStreetMap para um determinado tema",
"aboutMapcomplete": "<h3>Sobre</h3><p>Use o MapComplete para adicionar informações ao OpenStreetMap <b>sobre um tema específico</b>. Responda a perguntas e em poucos minutos as suas contribuições estão disponíveis em todos os lugares. Na maioria dos temas pode adicionar imagens ou mesmo deixar uma avaliação. O <b>responsável pelo tema</b> define os elementos, as perguntas e os idiomas disponíveis nele.</p> <h3>Descubra mais</h3><p>O MapComplete <b>mostra sempre o próximo passo</b> para saber mais sobre o OpenStreetMap.</p><ul> <li>Quando incorporado num site, o iframe liga-se ao MapComplete em ecrã cheio.</li><li>A versão ecrã cheio fornece informações sobre o OpenStreetMap</li><li>A visualização funciona sem ser preciso autenticar-se, mas a edição requer uma conta no OpenStreetMap.</li> <li>Se não estiver autenticado, é solicitado a fazê-lo</li><li>Após responder a uma pergunta, pode adicionar novos elementos ao mapa</li><li>Depois de um tempo, as etiquetas reais do OpenStreetMap são mostradas, mais tarde vinculando-se à wiki</li></ul><p></p><br><p>Deparou-se com <b>um problema</b>? Quer uma <b>nova funcionalidade</b>? Quer <b>ajudar a traduzir</b>? Vá ao <a href=\"https://github.com/pietervdvn/MapComplete\" target=\"_blank\">código-fonte</a> ou <a href=\"https://github.com/pietervdvn/MapComplete/issues\" target=\"_blank\">rastreador de problemas</a>. </p> <p>Quer ver <b>o seu progresso</b>? Veja a contagem de edições em <a href=\"{osmcha_link}\" target=\"_blank\">OsmCha</a>.</p>",
"add": {
"addNew": "Adicionar {category} aqui",
"confirmButton": "Adicione uma {category} aqui.<br><div class=\"alert\">Esta adição será visível a todos</div>",

View file

@ -30,7 +30,6 @@
},
"general": {
"about": "Edite e adicione facilmente o OpenStreetMap para um determinado tema",
"aboutMapcomplete": "<h3>Sobre</h3><p>Use o MapComplete para adicionar informações ao OpenStreetMap <b>sobre um tema específico.</b> Responda a algumas perguntas e, em poucos minutos, suas contribuições estarão disponíveis em todos os lugares. Na maioria dos temas você pode adicionar fotos ou até mesmo deixar uma avaliação. O <b>mantenedor do tema</b> define os elementos, questões e idiomas disponíveis para ele. </p><h3>Descubra mais</h3><p>O MapComplete sempre <b>mostra a próxima etapa</b> para aprender mais sobre o OpenStreetMap.<ul><li>Quando incorporada em um site, o iframe vincula-se a um MapComplete em tela inteira.</li><li>A versão em tela inteira oferece informações sobre o OpenStreetMap.</li><li>A visualização funciona sem login, mas a edição exige uma conta no OSM.</li><li>Se você não estiver conectado, será solicitado que você faça o login</li><li>Depois de responder a uma pergunta, você pode adicionar novos elementos no mapa</li><li>Depois de um tempo as tags OSM reais são mostradas e posteriormente vinculadas à wiki</li></ul></p><br/><p>Encontrou <b>um problema</b>? Tem uma <b>solicitação de novo recurso</b>? Quer ajudar a <b>traduzir</b>? Acesse o <a href='https://github.com/pietervdvn/MapComplete' target='_blank'>código-fonte</a> ou o <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'>rastreador de problemas.</a> </p><p> Quer ver <b>seu progresso</b>? Siga o contador de edições no <a href='{osmcha_link}' target='_blank' >OsmCha</a>.</p>",
"add": {
"addNew": "Adicione {category} aqui",
"confirmButton": "Adicione uma {category} aqui.<br><div class=\"alert\">Sua adição é visível para todos</div>",

Some files were not shown because too many files have changed in this diff Show more