diff --git a/Docs/Hotkeys.md b/Docs/Hotkeys.md index fff477076c..8931d54f9c 100644 --- a/Docs/Hotkeys.md +++ b/Docs/Hotkeys.md @@ -7,7 +7,7 @@ ## Table of contents -1. [Hotkeys](#hotkeys) +1. [Hotkeys](#) diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index 18223bccd8..02dc796a24 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -436,7 +436,7 @@ {{service_item |name= [https://mapcomplete.osm.be/street_lighting street_lighting] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}} +|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:zh_Hant|en}}, {{#language:hu|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:ca|en}} |descr= A MapComplete theme: On this map you can find everything about street lighting |material= {{yes|[https://mapcomplete.osm.be/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/Logic/ImageProviders/Imgur.ts b/Logic/ImageProviders/Imgur.ts index f4a491d68f..a7a1427331 100644 --- a/Logic/ImageProviders/Imgur.ts +++ b/Logic/ImageProviders/Imgur.ts @@ -105,7 +105,7 @@ export class Imgur extends ImageProvider { } /** - * Download the attribution from attribution + * Download the attribution and license info for the picture at the given URL * * const data = {"data":{"id":"I9t6B7B","title":"Station Knokke","description":"author:Pieter Vander Vennet\r\nlicense:CC-BY 4.0\r\nosmid:node\/9812712386","datetime":1655052078,"type":"image\/jpeg","animated":false,"width":2400,"height":1795,"size":910872,"views":2,"bandwidth":1821744,"vote":null,"favorite":false,"nsfw":false,"section":null,"account_url":null,"account_id":null,"is_ad":false,"in_most_viral":false,"has_sound":false,"tags":[],"ad_type":0,"ad_url":"","edited":"0","in_gallery":false,"link":"https:\/\/i.imgur.com\/I9t6B7B.jpg","ad_config":{"safeFlags":["not_in_gallery","share"],"highRiskFlags":[],"unsafeFlags":["sixth_mod_unsafe"],"wallUnsafeFlags":[],"showsAds":false,"showAdLevel":1}},"success":true,"status":200} * Utils.injectJsonDownloadForTests("https://api.imgur.com/3/image/E0RuAK3", data) diff --git a/UI/Base/Hotkeys.ts b/UI/Base/Hotkeys.ts index 0c9f6c6f4a..243417fdb9 100644 --- a/UI/Base/Hotkeys.ts +++ b/UI/Base/Hotkeys.ts @@ -7,6 +7,7 @@ import { UIEventSource } from "../../Logic/UIEventSource" import { VariableUiElement } from "./VariableUIElement" import { Translation } from "../i18n/Translation" import { FixedUiElement } from "./FixedUiElement" +import Translations from "../i18n/Translations" export default class Hotkeys { private static readonly _docs: UIEventSource< @@ -106,11 +107,12 @@ export default class Hotkeys { return <[string, string | Translation]>[modifiers.join("+"), documentation] }) .sort() + const t = Translations.t.hotkeyDocumentation return new Combine([ - new Title("Hotkeys", 1), - "MapComplete supports the following keys:", + new Title(t.title, 1), + t.intro, new Table( - ["Key combination", "Action"], + [t.key, t.action], byKey.map(([key, doc]) => { return [new FixedUiElement(key).SetClass("code"), doc] }) diff --git a/UI/Base/MinimapImplementation.ts b/UI/Base/MinimapImplementation.ts index ebb46f0332..22972f35ff 100644 --- a/UI/Base/MinimapImplementation.ts +++ b/UI/Base/MinimapImplementation.ts @@ -404,7 +404,7 @@ export default class MinimapImplementation extends BaseUIElement implements Mini if (this._options.lastClickLocation) { const lastClickLocation = this._options.lastClickLocation - map.on("click", function (e: LeafletMouseEvent) { + map.addEventListener("click", function (e: LeafletMouseEvent) { if (e.originalEvent["dismissed"]) { return } diff --git a/UI/ShowDataLayer/ShowDataLayerImplementation.ts b/UI/ShowDataLayer/ShowDataLayerImplementation.ts index 2db66af1cf..0f3d9e19f4 100644 --- a/UI/ShowDataLayer/ShowDataLayerImplementation.ts +++ b/UI/ShowDataLayer/ShowDataLayerImplementation.ts @@ -340,6 +340,7 @@ export default class ShowDataLayerImplementation { const self = this function activate(event: LeafletMouseEvent) { + Utils.preventDefaultOnMouseEvent(event) if (infobox === undefined) { const tags = self.allElements?.getEventSourceById(key) ?? @@ -383,8 +384,9 @@ export default class ShowDataLayerImplementation { leafletLayer.on({ dblclick: activate, contextmenu: activate, - click: activate, + // click: activate, }) + leafletLayer.addEventListener("click", activate) // Add the feature to the index to open the popup when needed this.leafletLayersPerId.set(key, { feature: feature, diff --git a/assets/contributors.json b/assets/contributors.json index 80b2b8d584..12e046b0db 100644 --- a/assets/contributors.json +++ b/assets/contributors.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 4812, + "commits": 4872, "contributor": "Pieter Vander Vennet" }, { - "commits": 317, + "commits": 318, "contributor": "Robin van der Linde" }, { @@ -212,6 +212,10 @@ "commits": 2, "contributor": "Stanislas Gueniffey" }, + { + "commits": 1, + "contributor": "flaburgan" + }, { "commits": 1, "contributor": "bgo-eiu" diff --git a/assets/layers/ambulancestation/ambulancestation.json b/assets/layers/ambulancestation/ambulancestation.json index 84d1aed404..a2ce6d71c2 100644 --- a/assets/layers/ambulancestation/ambulancestation.json +++ b/assets/layers/ambulancestation/ambulancestation.json @@ -317,7 +317,8 @@ "es": "una estación de ambulancias", "nb_NO": "en ambulansestasjon", "da": "en ambulancestation", - "cs": "stanice rychlé záchranné služby" + "cs": "stanice rychlé záchranné služby", + "ca": "una estació d'ambulàncies" }, "description": { "en": "Add an ambulance station to the map", diff --git a/assets/layers/atm/atm.json b/assets/layers/atm/atm.json index dd6099517a..e450f21fbe 100644 --- a/assets/layers/atm/atm.json +++ b/assets/layers/atm/atm.json @@ -45,7 +45,8 @@ "en": "an ATM", "de": "ein Geldautomat", "fr": "un DAB", - "nl": "een geldautomaat" + "nl": "een geldautomaat", + "ca": "un caixer automàtic" } } ], diff --git a/assets/layers/bank/bank.json b/assets/layers/bank/bank.json index f43f891db7..ddcc86c75f 100644 --- a/assets/layers/bank/bank.json +++ b/assets/layers/bank/bank.json @@ -1,10 +1,13 @@ { "id": "bank", "description": { - "en": "A financial institution to deposit money" + "en": "A financial institution to deposit money", + "de": "Ein Finanzinstitut, um Geld einzuzahlen", + "nl": "Een financiële instelling waar je geld kunt" }, "name": { - "en": "Banks" + "en": "Banks", + "de": "Banken" }, "title": { "render": "Bank", @@ -31,25 +34,29 @@ { "id": "has_atm", "question": { - "en": "Does this bank have an ATM?" + "en": "Does this bank have an ATM?", + "de": "Hat diese Bank einen Geldautomaten?" }, "mappings": [ { "if": "atm=yes", "then": { - "en": "This bank has an ATM" + "en": "This bank has an ATM", + "de": "Diese Bank hat einen Geldautomaten" } }, { "if": "atm=no", "then": { - "en": "This bank does not have an ATM" + "en": "This bank does not have an ATM", + "de": "Diese Bank hat keinen Geldautomaten" } }, { "if": "atm=separate", "then": { - "en": "This bank does have an ATM, but it is mapped as a different icon" + "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" } } ] @@ -62,7 +69,8 @@ "options": [ { "question": { - "en": "With an ATM" + "en": "With an ATM", + "de": "Mit einem Geldautomaten" }, "osmTags": "atm=yes" } diff --git a/assets/layers/bike_cleaning/bike_cleaning.json b/assets/layers/bike_cleaning/bike_cleaning.json index 8f00a5496b..75cf5485f7 100644 --- a/assets/layers/bike_cleaning/bike_cleaning.json +++ b/assets/layers/bike_cleaning/bike_cleaning.json @@ -189,7 +189,7 @@ "if": "fee=no", "then": { "en": "This cleaning service is free to use", - "de": "Kostenloser Reinigungsservice", + "de": "Der Reinigungsservice ist kostenlos", "nl": "Dit fietsschoonmaakpunt is gratis te gebruiken", "es": "Servicio de limpieza gratis", "fr": "Service de nettoyage gratuit", @@ -207,7 +207,8 @@ "en": "This cleaning service is paid", "nl": "Dit fietsschoonmaakpunt is betalend", "es": "Este servicio de limpieza es de pago", - "ca": "Aquest servei de neteja és de pagament" + "ca": "Aquest servei de neteja és de pagament", + "de": "Dieser Reinigungsservice ist kostenpflichtig" } } ], diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json index d31f7a65bd..a98ee47a51 100644 --- a/assets/layers/bike_repair_station/bike_repair_station.json +++ b/assets/layers/bike_repair_station/bike_repair_station.json @@ -831,7 +831,8 @@ "pt_BR": "uma bomba de bicicleta", "es": "una bomba de bicicletas", "da": "en cykelpumpe", - "cs": "pumpa na kolo" + "cs": "pumpa na kolo", + "ca": "una manxa per a bicicletes" }, "tags": [ "amenity=bicycle_repair_station", diff --git a/assets/layers/bike_shop/bike_shop.json b/assets/layers/bike_shop/bike_shop.json index 05dddbc930..fbbf0d20bd 100644 --- a/assets/layers/bike_shop/bike_shop.json +++ b/assets/layers/bike_shop/bike_shop.json @@ -281,7 +281,7 @@ "pt": "Esta loja de bicicletas se chama {name}", "es": "Esta tienda de bicicletas se llama {name}", "da": "Denne cykelbutik hedder {name}", - "ca": "Aquesta botiga de bicicletes és diu {name}" + "ca": "Aquesta botiga de bicicletes s'anomena {name}" }, "freeform": { "key": "name" diff --git a/assets/layers/cafe_pub/cafe_pub.json b/assets/layers/cafe_pub/cafe_pub.json index b6c305b7b3..14011a9053 100644 --- a/assets/layers/cafe_pub/cafe_pub.json +++ b/assets/layers/cafe_pub/cafe_pub.json @@ -34,7 +34,7 @@ "hu": "kocsma", "ca": "un bar", "da": "en pub", - "es": "un pub", + "es": "un bar", "fr": "un pub" }, "description": { @@ -59,9 +59,9 @@ "de": "eine Bar", "ru": "бар", "hu": "bár", - "ca": "un pub", + "ca": "un bar de copes", "da": "en bar", - "es": "un bar", + "es": "un bar de copas", "fr": "un bar" }, "description": { diff --git a/assets/layers/climbing_gym/climbing_gym.json b/assets/layers/climbing_gym/climbing_gym.json index 1f1d01b962..f06128d5cb 100644 --- a/assets/layers/climbing_gym/climbing_gym.json +++ b/assets/layers/climbing_gym/climbing_gym.json @@ -237,7 +237,8 @@ { "title": { "en": "Climbing gym", - "nl": "Klimzaal" + "nl": "Klimzaal", + "de": "Kletterhalle" }, "tags": [ "leisure=sports_centre", diff --git a/assets/layers/defibrillator/defibrillator.json b/assets/layers/defibrillator/defibrillator.json index 86feb90141..f80b092210 100644 --- a/assets/layers/defibrillator/defibrillator.json +++ b/assets/layers/defibrillator/defibrillator.json @@ -44,8 +44,8 @@ { "title": { "en": "a defibrillator", - "ca": "Desfibril·lador", - "es": "una desfibrilador", + "ca": "un desfibril·lador", + "es": "un desfibrilador", "fr": "une défibrillateur", "nl": "een defibrillator", "de": "einen Defibrillator", diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json index 66101d3e74..a30199e23b 100644 --- a/assets/layers/food/food.json +++ b/assets/layers/food/food.json @@ -70,7 +70,8 @@ "en": "a fries shop", "nl": "een frituur", "de": "eine Pommesbude", - "fr": "Une friterie" + "fr": "Une friterie", + "ca": "una botiga de patates fregides" }, "tags": [ "amenity=fast_food", diff --git a/assets/layers/gps_track/gps_track.json b/assets/layers/gps_track/gps_track.json index 4b595f03b1..71d86a84d6 100644 --- a/assets/layers/gps_track/gps_track.json +++ b/assets/layers/gps_track/gps_track.json @@ -34,7 +34,8 @@ "nl": "Jouw afgelegde route", "de": "Zurückgelegte Strecke anzeigen", "fr": "Votre chemin parcouru", - "da": "Dit tilbagelagte spor" + "da": "Dit tilbagelagte spor", + "ca": "La teva pista recorreguda" }, "mapRendering": [ { diff --git a/assets/layers/hospital/hospital.json b/assets/layers/hospital/hospital.json index da2e405c1e..144490447b 100644 --- a/assets/layers/hospital/hospital.json +++ b/assets/layers/hospital/hospital.json @@ -29,7 +29,7 @@ "id": "name", "render": { "en": "This hospital is called {name}", - "ca": "Aquest hospital es diu {name}", + "ca": "Aquest hospital s'anomena {name}", "de": "Der Name des Krankenhauses lautet {name}", "nl": "Dit ziekenhuis heet {name}" }, diff --git a/assets/layers/hotel/hotel.json b/assets/layers/hotel/hotel.json index 3a504e62e8..942d9debd9 100644 --- a/assets/layers/hotel/hotel.json +++ b/assets/layers/hotel/hotel.json @@ -38,7 +38,8 @@ "title": { "en": "a hotel", "nl": "een hotel", - "de": "ein Hotel" + "de": "ein Hotel", + "ca": "un hotel" }, "tags": [ "tourism=hotel" diff --git a/assets/layers/kindergarten_childcare/kindergarten_childcare.json b/assets/layers/kindergarten_childcare/kindergarten_childcare.json index b0537a113d..e8dbc246ea 100644 --- a/assets/layers/kindergarten_childcare/kindergarten_childcare.json +++ b/assets/layers/kindergarten_childcare/kindergarten_childcare.json @@ -77,7 +77,8 @@ "question": { "en": "What is the name of this facility?", "de": "Wie lautet der Name dieser Einrichtung?", - "nl": "Wat is de naam van deze faciliteit?" + "nl": "Wat is de naam van deze faciliteit?", + "ca": "Com s'anomena aquesta instal·lació?" }, "render": { "en": "This facility is named {name}", diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index 14a99966d9..135a44b73f 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -41,7 +41,8 @@ "en": "This is a surface parking lot", "nl": "Dit is een bovengronds parkeerterrein", "de": "Dies ist ein oberirdischer Parkplatz", - "fr": "Il s'agit d'un parking en surface" + "fr": "Il s'agit d'un parking en surface", + "ca": "Aquest és un aparcament en superfície" } }, { @@ -180,7 +181,8 @@ "en": "How many disabled parking spots are there at this parking?", "nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?", "de": "Wie viele barrierefreie Stellplätze gibt es auf diesem Parkplatz?", - "fr": "Combien y a-t-il de places de stationnement pour personnes à mobilité réduite dans ce parking ?" + "fr": "Combien y a-t-il de places de stationnement pour personnes à mobilité réduite dans ce parking ?", + "ca": "Quantes places d'aparcament per a persones amb mobilitat reduïda hi ha al parking?" }, "render": { "en": "There are {capacity:disabled} disabled parking spots", diff --git a/assets/layers/school/school.json b/assets/layers/school/school.json index dcc35c737b..bbe2f2e02c 100644 --- a/assets/layers/school/school.json +++ b/assets/layers/school/school.json @@ -32,13 +32,15 @@ "en": "This school is named {name}", "nl": "Deze school heet {name}", "de": "Diese Schule heißt {name}", - "fr": "Cet établissement scolaire s'appelle {name}" + "fr": "Cet établissement scolaire s'appelle {name}", + "ca": "L'escola s'anomena {name}" }, "question": { "en": "What is the name of this school?", "nl": "Wat is de naam van deze school?", "de": "Wie lautet der Name dieser Schule?", - "fr": "Quel est le nom de cet établissement scolaire?" + "fr": "Quel est le nom de cet établissement scolaire?", + "ca": "Quin és el nom d'aquesta escola?" }, "freeform": { "key": "name" @@ -51,7 +53,8 @@ "en": "How much students can at most enroll in this school?", "de": "Wie viele Schüler können sich maximal an dieser Schule anmelden?", "nl": "Ten hoogste hoeveel studenten kunnen er les volgen in deze school?", - "fr": "Combien d'élèves peuvent s'inscrire au maximum dans cette école ?" + "fr": "Combien d'élèves peuvent s'inscrire au maximum dans cette école ?", + "ca": "Quants alumnes poden matricular-se com a màxim a aquesta escola?" }, "render": { "en": "This school can enroll at most {capacity} students", @@ -146,7 +149,8 @@ "en": "Which genders can enroll at this school?", "nl": "Mogen jongens en meisjes les volgen op deze school?", "de": "Welche Geschlechter können sich an dieser Schule anmelden?", - "fr": "Quels genres de personnes peuvent s'inscrire dans cette école ?" + "fr": "Quels genres de personnes peuvent s'inscrire dans cette école ?", + "ca": "Quins gèneres poden inscriure's a aquesta escola?" }, "mappings": [ { @@ -155,7 +159,8 @@ "en": "Both boys and girls can enroll here and have classes together", "nl": "Zowel jongens als meisjes kunnen hier les volgen. In de lessen zitten jongens en meisjes samen.", "de": "Sowohl Jungen als auch Mädchen können sich hier anmelden und gemeinsam unterrichtet werden", - "fr": "Les garçons et les filles peuvent s'inscrire ici et suivre des cours ensemble" + "fr": "Les garçons et les filles peuvent s'inscrire ici et suivre des cours ensemble", + "ca": "Els dos, nois i noies poden inscriure's aquí i prendre classes junts" } }, { @@ -164,7 +169,8 @@ "en": "Both boys and girls can enroll here but they are separated (e.g. they have lessons in different classrooms or at different times)", "nl": "Jongens en meisjes kunnen hier lesvolgen, maar de lessen zijn gescheiden (bv. de lessen zijn in andere lokalen of op andere momenten)", "de": "Hier können sich sowohl Jungen als auch Mädchen anmelden, aber sie werden getrennt unterrichtet (z. B. in verschiedenen Klassenräumen oder zu verschiedenen Zeiten)", - "fr": "Les garçons et les filles peuvent s'inscrire ici, mais ils sont séparés (par exemple, ils ont des cours dans des classes différentes ou à des heures différentes)" + "fr": "Les garçons et les filles peuvent s'inscrire ici, mais ils sont séparés (par exemple, ils ont des cours dans des classes différentes ou à des heures différentes)", + "ca": "Els dos, nois i noies poden inscriure's aquí, però estan separats (p. e. prenen les classes a diferents aules o diferentes hores)" } }, { @@ -173,7 +179,8 @@ "en": "This is a boys only-school", "nl": "Deze school is enkel voor jongens", "de": "Dies ist eine reine Jungenschule", - "fr": "C'est une école réservée aux garçons" + "fr": "C'est une école réservée aux garçons", + "ca": "Aquesta és una escola exclusivament per a nois" } }, { @@ -182,7 +189,8 @@ "en": "This is a girls-only school", "nl": "Deze school is enkel voor meisjes", "de": "Dies ist eine reine Mädchenschule", - "fr": "C'est une école réservée aux filles" + "fr": "C'est une école réservée aux filles", + "ca": "Aquesta és una escola exclusivament per a noies" } } ] @@ -226,7 +234,7 @@ "nl": "Deze school richt zich op studenten zonder extra zorgbehoefte
Dazu gehören auch Schüler, die den Kursen mit kleinen Ad-hoc-Maßnahmen folgen können
", "fr": "Ceci est un établissement scolaire pour étudiants sans besoins partucliers.
Sont inclus les étudiants qui peuvent suivre les cours avec de petites adaptations.
", - "ca": "Aquesta és una escola per a estudiants sense necesitats especials
Açò inclou alumnes que poden seguir les classes amb petites messures
" + "ca": "Aquesta és una escola per a estudiants sense necessitats especials
Açò inclou alumnes que poden seguir les classes amb petites mesures
" } }, { @@ -235,7 +243,8 @@ "en": "This is a school where adults are taught skills on the level as specified.", "nl": "Deze school richt zich op volwassenen", "de": "Dies ist eine Schule, in der Erwachsene auf dem angegebenen Niveau unterrichtet werden.", - "fr": "Ceci est un établissement où des adultes sont formés au niveau mentionné." + "fr": "Ceci est un établissement où des adultes sont formés au niveau mentionné.", + "ca": "Aquesta és una escola on els adults reben competències al nivell especificat." } }, { @@ -310,23 +319,27 @@ "key": "language", "render_all": { "en": "The following languages are used in this school:{list()}", - "de": "Folgende Sprachen werden in der Schule verwendet:{list()}" + "de": "Folgende Sprachen werden in der Schule verwendet:{list()}", + "ca": "En aquesta escola s'utilitzen els idiomes següents:{list()}" }, "render_single_language": { "en": "{language():font-bold} is the main language of this school", - "de": "{language():font-bold} ist die Hauptsprache der Schule" + "de": "{language():font-bold} ist die Hauptsprache der Schule", + "ca": "{language():font-bold} és la llengua principal d'aquesta escola" }, "question": { "en": "What is the main language of this school?
What language is spoken with the students in non-language related courses and with the administration?
", "nl": "Wat is de voertaal van deze school?
Welke taal wordt met de studenten gesproken in niet-taal-gerelateerde vakken en met de administratie?
", "de": "Was ist die Hauptsprache dieser Schule?
Welche Sprache wird mit den Schülern in den nicht sprachbezogenen Kursen und mit der Verwaltung gesprochen?
", - "fr": "Quelle est la langue principale de cette école ?
Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?
" + "fr": "Quelle est la langue principale de cette école ?
Quelle langue est parlée avec les élèves des cours non linguistiques et avec l'administration ?
", + "ca": "Quina és la llengua principal d'aquesta escola?
Quina llengua es parla amb els estudiants en classes no relacionades amb la llengua i l'administració?
" }, "no_known_languages": { "en": "The main language of this school is unknown", "nl": "De voertaal van deze school is niet gekend", "de": "Die Unterrichtssprache der Schule ist unbekannt", - "fr": "La langue principale de cette école est inconnue" + "fr": "La langue principale de cette école est inconnue", + "ca": "La llengua principal d'aquesta escola és desconeguda" } } } diff --git a/assets/layers/shops/shops.json b/assets/layers/shops/shops.json index 7d03d65dc0..c591e0344e 100644 --- a/assets/layers/shops/shops.json +++ b/assets/layers/shops/shops.json @@ -98,7 +98,8 @@ "render": { "en": "This shop is called {name}", "de": "Der Name des Geschäfts lautet {name}", - "nl": "Deze zaak heet {name}" + "nl": "Deze zaak heet {name}", + "ca": "La botiga s'anomena {name}" }, "freeform": { "key": "name" @@ -219,7 +220,8 @@ "then": { "en": "This shop offers organic products", "de": "Dieses Geschäft bietet Bio-Produkte an", - "nl": "Deze winkel biedt biologische producten aan" + "nl": "Deze winkel biedt biologische producten aan", + "ca": "Aquesta botiga ofereix productes orgànics" } }, { diff --git a/assets/layers/street_lamps/street_lamps.json b/assets/layers/street_lamps/street_lamps.json index bcb15754a3..36da306525 100644 --- a/assets/layers/street_lamps/street_lamps.json +++ b/assets/layers/street_lamps/street_lamps.json @@ -4,7 +4,8 @@ "en": "Street Lamps", "nl": "Straatlantaarns", "de": "Straßenlaternen", - "es": "Farolas" + "es": "Farolas", + "ca": "Fanals" }, "source": { "osmTags": "highway=street_lamp" @@ -51,7 +52,8 @@ "en": "a street lamp", "nl": "een straatlantaarn", "de": "eine Straßenlaterne", - "es": "una farola" + "es": "una farola", + "ca": "un fanal" }, "tags": [ "highway=street_lamp" @@ -73,7 +75,8 @@ "en": "What is the reference number of this street lamp?", "nl": "Wat is het nummer van deze straatlantaarn?", "de": "Wie lautet die Referenznummer dieser Straßenlaterne?", - "es": "¿Cual es el número de referencia de esta lámpara callejera?" + "es": "¿Cual es el número de referencia de esta lámpara callejera?", + "ca": "Quin és el número de referència d'aquest fanal?" }, "freeform": { "key": "ref" @@ -130,7 +133,8 @@ "en": "This lamp is mounted on a pole", "nl": "Deze lantaarn zit op een paal", "de": "Die Straßenlaterne ist an einem Mast befestigt", - "es": "Esta lámpara está montada en un poste" + "es": "Esta lámpara está montada en un poste", + "ca": "Aquest fanal està muntat en un pal" } }, { @@ -159,7 +163,8 @@ "en": "How is this lamp mounted to the pole?", "nl": "Hoe zit deze lantaarn aan de paal?", "de": "Wie ist diese Straßenlaterne am Mast befestigt?", - "es": "¿Cómo está montada esta lámpara al poste?" + "es": "¿Cómo está montada esta lámpara al poste?", + "ca": "Com està muntat aquest fanal al pal?" }, "condition": "support=pole", "mappings": [ @@ -169,7 +174,8 @@ "en": "This lamp sits atop of a straight mast", "nl": "Deze lantaarn zit boven op een rechte paal", "de": "Diese Straßenlaterne sitzt auf einem geraden Mast", - "es": "Esta lampara está encima de un mástil recto" + "es": "Esta lampara está encima de un mástil recto", + "ca": "Aquest fanal es troba al final d'un pal recte" } }, { @@ -178,7 +184,8 @@ "en": "This lamp sits at the end of a bent mast", "nl": "Deze lantaarn zit aan het eind van een gebogen paal", "de": "Diese Straßenlaterne sitzt am Ende eines gebogenen Mastes", - "es": "Esta lámpara está encima de un mástil curvado" + "es": "Esta lámpara está encima de un mástil curvado", + "ca": "Aquest fanal es troba al final d'un pal doblegat" } } ] @@ -208,7 +215,8 @@ "en": "This lamp uses LEDs", "nl": "Deze lantaarn gebruikt LEDs", "de": "Diese Straßenlaterne verwendet LEDs", - "es": "Esta lámpara utiliza LEDs" + "es": "Esta lámpara utiliza LEDs", + "ca": "Aquest fanal utilitza LED" } }, { @@ -217,7 +225,8 @@ "en": "This lamp uses incandescent lighting", "nl": "Deze lantaarn gebruikt gloeilampen", "de": "Diese Straßenlaterne verwendet Glühlampenlicht", - "es": "Esta lámpara utiliza iluminación incandescente" + "es": "Esta lámpara utiliza iluminación incandescente", + "ca": "Aquest fanal utilitza il·luminació incandescent" } }, { @@ -226,7 +235,8 @@ "en": "This lamp uses halogen lighting", "nl": "Deze lantaarn gebruikt halogeen verlichting", "de": "Diese Straßenlaterne verwendet Halogenlicht", - "es": "Esta lámpara utiliza iluminación halógena" + "es": "Esta lámpara utiliza iluminación halógena", + "ca": "Aquest fanal utilitza il·luminació halògena" } }, { @@ -235,7 +245,8 @@ "en": "This lamp uses discharge lamps (unknown type)", "nl": "Deze lantaarn gebruikt gasontladingslampen (onbekend type)", "de": "Diese Straßenlaterne verwendet Entladungslampen (unbekannter Typ)", - "es": "Esta lámpara utiliza lámparas de descarga (de tipo desconocido)" + "es": "Esta lámpara utiliza lámparas de descarga (de tipo desconocido)", + "ca": "Aquest fanal utilitza làmpades de descàrrega (tipus desconegut)" } }, { @@ -244,7 +255,8 @@ "en": "This lamp uses a mercury-vapour lamp (lightly blueish)", "nl": "Deze lantaarn gebruikt een kwiklamp (enigszins blauwachtig)", "de": "Diese Straßenlaterne verwendet eine Quecksilberdampflampe (leicht bläulich)", - "es": "Esta lámpara utiliza una lámpara de vapor de mercurio (levemente azulada)" + "es": "Esta lámpara utiliza una lámpara de vapor de mercurio (levemente azulada)", + "ca": "Aquest fanal utilitza una làmpada de vapor de mercuri (lleugerament blau)" } }, { @@ -252,7 +264,8 @@ "then": { "en": "This lamp uses metal-halide lamps (bright white)", "nl": "Deze lantaarn gebruikt metaalhalidelampen", - "de": "Diese Straßenlaterne verwendet Halogen-Metalldampflampen (hellweiß)" + "de": "Diese Straßenlaterne verwendet Halogen-Metalldampflampen (hellweiß)", + "ca": "Aquest fanal utilitza làmpades d'halogenurs metàl·lics (blanc brillant)" } }, { @@ -261,7 +274,8 @@ "en": "This lamp uses fluorescent lighting", "nl": "Deze lantaarn gebruikt fluorescentieverlichting (TL en spaarlamp)", "de": "Diese Straßenlaterne verwendet Leuchtstoffröhren", - "es": "Esta lámpara utiliza iluminación fluorescente" + "es": "Esta lámpara utiliza iluminación fluorescente", + "ca": "Aquest fanal utilitza il·luminació fluorescent" } }, { @@ -270,7 +284,8 @@ "en": "This lamp uses sodium lamps (unknown type)", "nl": "Deze lantaarn gebruikt natriumlampen (onbekend type)", "de": "Diese Straßenlaterne verwendet Natriumdampflampen (unbekannter Typ)", - "es": "Esta lámpara utiliza lámparas de sodio (de tipo desconocido)" + "es": "Esta lámpara utiliza lámparas de sodio (de tipo desconocido)", + "ca": "Aquest fanal utilitza làmpades de sodi (tipus desconegut)" } }, { @@ -279,7 +294,8 @@ "en": "This lamp uses low pressure sodium lamps (monochrome orange)", "nl": "Deze lantaarn gebruikt lagedruknatriumlampen (monochroom oranje)", "de": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)", - "es": "Esta lámpara utiliza lámparas de sodio de baja presión (naranja monocromo)" + "es": "Esta lámpara utiliza lámparas de sodio de baja presión (naranja monocromo)", + "ca": "Aquest fanal utilitza làmpades de sodi de baixa pressió (taronja monocroma)" } }, { @@ -288,7 +304,8 @@ "en": "This lamp uses high pressure sodium lamps (orange with white)", "nl": "Deze lantaarn gebruikt hogedruknatriumlampen (oranje met wit)", "de": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)", - "es": "Esta lámpara utiliza lámparas de sodio de alta presión (naranja con blanco)" + "es": "Esta lámpara utiliza lámparas de sodio de alta presión (naranja con blanco)", + "ca": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)" } }, { @@ -297,7 +314,8 @@ "en": "This lamp is lit using gas", "nl": "Deze lantaarn wordt verlicht met gas", "de": "Diese Straßenlaterne wird mit Gas beleuchtet", - "es": "Esta lampara se ilumina con gas" + "es": "Esta lampara se ilumina con gas", + "ca": "Aquest fanal s'il·lumina amb gas" } } ] @@ -308,7 +326,8 @@ "en": "What colour light does this lamp emit?", "nl": "Wat voor kleur licht geeft deze lantaarn?", "de": "Welche Lichtfarbe strahlt diese Lampe aus?", - "es": "¿De qué color es la luz que emite esta lámpara?" + "es": "¿De qué color es la luz que emite esta lámpara?", + "ca": "Quin color de llum emet aquest fanal?" }, "render": { "en": "This lamp emits {light:colour} light", @@ -327,7 +346,8 @@ "en": "This lamp emits white light", "nl": "Deze lantaarn geeft wit licht", "de": "Diese Lampe strahlt weißes Licht aus", - "es": "Esta lámpara emite luz blanca" + "es": "Esta lámpara emite luz blanca", + "ca": "Aquest fanal emet llum blanca" } }, { @@ -336,7 +356,8 @@ "en": "This lamp emits green light", "nl": "Deze lantaarn geeft groen licht", "de": "Diese Lampe strahlt grünes Licht aus", - "es": "Esta lámpara emite luz verde" + "es": "Esta lámpara emite luz verde", + "ca": "Aquest fanal emet llum verda" } }, { @@ -345,7 +366,8 @@ "en": "This lamp emits orange light", "nl": "Deze lantaarn geeft oranje licht", "de": "Diese Lampe strahlt orangefarbenes Licht aus", - "es": "Esta lámpara emite luz naranja" + "es": "Esta lámpara emite luz naranja", + "ca": "Aquest fanal emet llum taronja" } } ] @@ -374,7 +396,8 @@ "en": "This lamp has 1 fixture", "nl": "Deze lantaarn heeft 1 lamp", "de": "Diese Straßenlaterne hat 1 Leuchte", - "es": "" + "es": "", + "ca": "Aquest fanal té 1 aparell" } }, { @@ -382,7 +405,8 @@ "then": { "en": "This lamp has 2 fixtures", "nl": "Deze lantaarn heeft 2 lampen", - "de": "Diese Straßenlaterne hat 2 Leuchten" + "de": "Diese Straßenlaterne hat 2 Leuchten", + "ca": "Aquest fanal té 2 aparells" } } ] @@ -393,7 +417,8 @@ "en": "When is this lamp lit?", "nl": "Wanneer is deze lantaarn verlicht?", "de": "Wann leuchtet diese Straßenlaterne?", - "es": "¿Cuándo se ilumina esta lámpara?" + "es": "¿Cuándo se ilumina esta lámpara?", + "ca": "Quan s'encén aquest fanal?" }, "mappings": [ { @@ -402,7 +427,8 @@ "en": "This lamp is lit at night", "nl": "Deze lantaarn is 's nachts verlicht", "de": "Diese Straßenlaterne leuchtet nachts", - "es": "Esta lámpara está iluminada por la noche" + "es": "Esta lámpara está iluminada por la noche", + "ca": "Aquest fanal s'encén a la nit" } }, { @@ -411,7 +437,8 @@ "en": "This lamp is lit 24/7", "nl": "Deze lantaarn is 24/7 verlicht", "de": "Diese Straßenlaterne leuchtet durchgehend", - "es": "Esta lámpara está iluminada 24/7" + "es": "Esta lámpara está iluminada 24/7", + "ca": "Aquest fanal està encès les 24 hores del dia" } }, { @@ -420,7 +447,8 @@ "en": "This lamp is lit based on motion", "nl": "Deze lantaarn is verlicht op basis van beweging", "de": "Diese Straßenlaterne leuchtet bewegungsgesteuert", - "es": "Esta lámpara se ilumina con el movimiento" + "es": "Esta lámpara se ilumina con el movimiento", + "ca": "Aquest fanal s'encén en funció del moviment" } }, { @@ -429,7 +457,8 @@ "en": "This lamp is lit based on demand (e.g. with a pushbutton)", "nl": "Deze lantaarn is verlicht op verzoek (bijv. met een drukknop)", "de": "Diese Straßenlaterne leuchtet bei Bedarf (z. B. mit einem Taster)", - "es": "Esta lámpara se ilumina bajo demanda (ej. con un pulsador)" + "es": "Esta lámpara se ilumina bajo demanda (ej. con un pulsador)", + "ca": "Aquest fanal s'encén segons la demanda (per exemple, amb un polsador)" } } ] @@ -440,13 +469,15 @@ "en": "This lamp points towards {light:direction}", "nl": "Deze lantaarn is gericht naar {light:direction}", "de": "Diese Straßenlaterne leuchtet in Richtung {light:direction}", - "es": "Esta lámpara apunta hacia {light:direction}" + "es": "Esta lámpara apunta hacia {light:direction}", + "ca": "Aquest fanal apunta cap a {light:direction}" }, "question": { "en": "Where does this lamp point to?", "nl": "Waar is deze lamp heengericht?", "de": "Wohin leuchtet diese Straßenlaterne?", - "es": "¿Hacia donde apunta esta lámpara?" + "es": "¿Hacia donde apunta esta lámpara?", + "ca": "Cap a on apunta aquest fanal?" }, "condition": "light:count=1", "freeform": { diff --git a/assets/layers/toilet/toilet.json b/assets/layers/toilet/toilet.json index 96c1a3b66b..8dcc6798ce 100644 --- a/assets/layers/toilet/toilet.json +++ b/assets/layers/toilet/toilet.json @@ -90,7 +90,8 @@ "nl": "Toegankelijkheid is {access}", "it": "L'accesso è {access}", "es": "El acceso es {access}", - "da": "Adgang er {access}" + "da": "Adgang er {access}", + "ca": "L'accés és {access}" }, "freeform": { "key": "access", @@ -294,7 +295,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" } } ] @@ -381,7 +383,8 @@ "nl": "Er zijn zowel urinoirs als zittoiletten", "it": "Ci sono sia sedili, sia urinali", "es": "Aquí hay tanto váteres de sentarse como orinales", - "da": "Både siddende toiletter og urinaler er tilgængelige her" + "da": "Både siddende toiletter og urinaler er tilgængelige her", + "ca": "Aquí hi ha lavabos per a utilitzar tant de peu com asseguts" } } ] diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 137bb92603..2b57761506 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -580,4 +580,4 @@ } } ] -} \ No newline at end of file +} diff --git a/assets/themes/street_lighting/street_lighting.json b/assets/themes/street_lighting/street_lighting.json index 755a3efc65..0c7b5633e2 100644 --- a/assets/themes/street_lighting/street_lighting.json +++ b/assets/themes/street_lighting/street_lighting.json @@ -21,7 +21,8 @@ "de": "Eine Karte für alles zum Thema Straßenbeleuchtung", "es": "En este mapa puedes encontrar todo sobre la iluminación callejera", "fr": "Retrouvez tout ce qui touche à l’éclairage de rue sur cette carte", - "da": "På dette kort kan du finde alt om gadebelysning" + "da": "På dette kort kan du finde alt om gadebelysning", + "ca": "En aquest mapa pots trobar tot el relacionat amb l'enllumenat públic" }, "icon": "./assets/layers/street_lamps/street_lamp.svg", "startZoom": 19, diff --git a/assets/translators.json b/assets/translators.json index 5a6f8f821e..7bc114c8d3 100644 --- a/assets/translators.json +++ b/assets/translators.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 230, + "commits": 233, "contributor": "Pieter Vander Vennet" }, { - "commits": 198, + "commits": 204, "contributor": "kjon" }, { @@ -14,11 +14,11 @@ }, { "commits": 61, - "contributor": "danieldegroot2" + "contributor": "Robin van der Linde" }, { - "commits": 58, - "contributor": "Robin van der Linde" + "commits": 61, + "contributor": "danieldegroot2" }, { "commits": 45, @@ -36,6 +36,10 @@ "commits": 29, "contributor": "Artem" }, + { + "commits": 28, + "contributor": "paunofu" + }, { "commits": 27, "contributor": "Supaplex" @@ -68,10 +72,6 @@ "commits": 14, "contributor": "J. Lavoie" }, - { - "commits": 13, - "contributor": "paunofu" - }, { "commits": 13, "contributor": "Romain de Bossoreille" @@ -132,6 +132,10 @@ "commits": 7, "contributor": "Niels Elgaard Larsen" }, + { + "commits": 6, + "contributor": "Jaime Marquínez Ferrándiz" + }, { "commits": 6, "contributor": "Joost Schouppe" @@ -218,11 +222,11 @@ }, { "commits": 3, - "contributor": "aleksej0R" + "contributor": "Bibi56" }, { "commits": 3, - "contributor": "Jaime Marquínez Ferrándiz" + "contributor": "aleksej0R" }, { "commits": 3, diff --git a/langs/ca.json b/langs/ca.json index 659b24f9ab..9ad85131c8 100644 --- a/langs/ca.json +++ b/langs/ca.json @@ -88,6 +88,7 @@ "josmOpened": "JOSM és obert", "mapContributionsBy": "Les dades mostrades tenen edicions fetes per {contributors}", "mapContributionsByAndHidden": "Les dades mostrades tenen edicions fetes per {contributors} i {hiddenCount} col·laboradors més", + "mapillaryHelp": "Mapillary és un servei en línea que arreplega imatges a peu de carrer i les ofereix sota una llicència lliure. Els contribuïdors poden utilizar aquestes imatges per a millorar OpenStreetMap", "openIssueTracker": "Registrar un error", "openMapillary": "Obrir Mapillary aquí", "openOsmcha": "Veure darreres edicions fetes amb {theme}", @@ -122,6 +123,7 @@ }, "example": "Exemple", "examples": "Exemples", + "feelFreeToSkip": "Podeu afegir més informació a sota, però sentiu-vos lliures de botar preguntes que no conegueu la resposta.", "fewChangesBefore": "Contesta unes quantes preguntes sobre punts existents abans d'afegir-ne un de nou.", "getStartedLogin": "Entra a OpenStreetMap per començar", "getStartedNewAccount": " o crea un nou compte", @@ -150,6 +152,7 @@ "streetcomplete": "Una altra aplicació similar és StreetComplete." }, "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", "noNameCategory": "{category} sense nom", "noTagsSelected": "No s'han seleccionat etiquetes", @@ -242,7 +245,10 @@ }, "welcomeBack": "Has entrat, benvingut/da.", "welcomeExplanation": { - "addNew": "Toqueu el mapa per afegir un nou PDI." + "addNew": "Toqueu el mapa per afegir un nou PDI.", + "browseMoreMaps": "Descobreix més mapes", + "browseOtherThemesIntro": "Varios mapes temàtics existents a MapComplete", + "general": "A aquest mapa, podeu observar, editar i afegir punt d'interés. Feu zoom pel voltant per veure el PDI, toque una vegada per a veure o editar la informació. Totes les dades s'obtenen i es desen a OpenStreetMap, que es poden reutilitzar lliurement." }, "wikipedia": { "createNewWikidata": "Crear un ítem de Wikidata", @@ -542,6 +548,11 @@ "missing": "{count} cadenes sense traduir", "notImmediate": "Les traduccions no s'actualitzen directament. Això sol trigar uns quants dies" }, + "userinfo": { + "gotoInbox": "Obre la teva safata d'entrada", + "gotoSettings": "Aneu a la vostra configuració a OpenStreetMap.org", + "moveToHome": "Mou el mapa a la vostra ubicació de casa" + }, "validation": { "color": { "description": "Un color o codi hex" diff --git a/langs/en.json b/langs/en.json index 171a8b11e6..8dbf89fedc 100644 --- a/langs/en.json +++ b/langs/en.json @@ -355,12 +355,16 @@ } }, "hotkeyDocumentation": { + "action": "Action", "closeSidebar": "Close the sidebar", "geolocate": "Pan the map to the current location or zoom the map to the current location. Requests geopermission", + "intro": "MapComplete supports the following keys:", + "key": "Key combination", "openLayersPanel": "Opens the Background, layers and filters panel", "selectBackground": "Select a background layer of category {category}", "selectMapnik": "Sets the background layer to OpenStreetMap-carto", - "selectSearch": "Select the search bar to search locations" + "selectSearch": "Select the search bar to search locations", + "title": "Hotkeys" }, "image": { "addPicture": "Add picture", diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 1d1a6f3446..f315b78eee 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -29,7 +29,8 @@ "name": "Mapa d'estacions d'ambulàncies", "presets": { "0": { - "description": "Afegeix una estació d'ambulàncies al mapa" + "description": "Afegeix una estació d'ambulàncies al mapa", + "title": "una estació d'ambulàncies" } }, "tagRenderings": { @@ -89,6 +90,11 @@ }, "atm": { "description": "Caixers automàtics on retirar diners", + "presets": { + "0": { + "title": "un caixer automàtic" + } + }, "tagRenderings": { "brand": { "question": "De quina marca és aquest caixer?" @@ -371,6 +377,11 @@ }, "bike_repair_station": { "name": "Manxa i reparació de bicicletes", + "presets": { + "0": { + "title": "una manxa per a bicicletes" + } + }, "tagRenderings": { "bike_repair_station-available-services": { "mappings": { @@ -458,7 +469,7 @@ } }, "bike_shop-name": { - "render": "Aquesta botiga de bicicletes és diu {name}" + "render": "Aquesta botiga de bicicletes s'anomena {name}" } }, "title": { @@ -504,7 +515,7 @@ "title": "un bar" }, "1": { - "title": "un pub" + "title": "un bar de copes" }, "2": { "title": "un cafè" @@ -772,7 +783,7 @@ "name": "Desfibril·ladors", "presets": { "0": { - "title": "Desfibril·lador" + "title": "un desfibril·lador" } }, "tagRenderings": { @@ -937,7 +948,8 @@ "title": "un de menjar ràpid" }, "2": { - "description": "Un local de menjar ràpid centrat en les patates fregides" + "description": "Un local de menjar ràpid centrat en les patates fregides", + "title": "una botiga de patates fregides" } }, "tagRenderings": { @@ -995,6 +1007,9 @@ "render": "Bicicleta blanca" } }, + "gps_track": { + "name": "La teva pista recorreguda" + }, "hackerspace": { "presets": { "1": { @@ -1014,7 +1029,14 @@ "tagRenderings": { "name": { "question": "Quin és el nom d'aquest hospital?", - "render": "Aquest hospital es diu {name}" + "render": "Aquest hospital s'anomena {name}" + } + } + }, + "hotel": { + "presets": { + "0": { + "title": "un hotel" } } }, @@ -1073,6 +1095,7 @@ } }, "name": { + "question": "Com s'anomena aquesta instal·lació?", "render": "Aquesta instal·lació s'anomena {name}" } } @@ -1144,7 +1167,19 @@ } }, "parking": { - "name": "Aparcament" + "name": "Aparcament", + "tagRenderings": { + "capacity-disabled": { + "question": "Quantes places d'aparcament per a persones amb mobilitat reduïda hi ha al parking?" + }, + "parking-type": { + "mappings": { + "0": { + "then": "Aquest és un aparcament en superfície" + } + } + } + } }, "parking_spaces": { "tagRenderings": { @@ -1327,10 +1362,47 @@ }, "school": { "tagRenderings": { + "capacity": { + "question": "Quants alumnes poden matricular-se com a màxim a aquesta escola?" + }, + "gender": { + "mappings": { + "0": { + "then": "Els dos, nois i noies poden inscriure's aquí i prendre classes junts" + }, + "1": { + "then": "Els dos, nois i noies poden inscriure's aquí, però estan separats (p. e. prenen les classes a diferents aules o diferentes hores)" + }, + "2": { + "then": "Aquesta és una escola exclusivament per a nois" + }, + "3": { + "then": "Aquesta és una escola exclusivament per a noies" + } + }, + "question": "Quins gèneres poden inscriure's a aquesta escola?" + }, + "school-language": { + "render": { + "special": { + "no_known_languages": "La llengua principal d'aquesta escola és desconeguda", + "question": "Quina és la llengua principal d'aquesta escola?
Quina llengua es parla amb els estudiants en classes no relacionades amb la llengua i l'administració?
", + "render_all": "En aquesta escola s'utilitzen els idiomes següents:{list()}", + "render_single_language": "{language():font-bold} és la llengua principal d'aquesta escola" + } + } + }, + "school-name": { + "question": "Quin és el nom d'aquesta escola?", + "render": "L'escola s'anomena {name}" + }, "target-audience": { "mappings": { "1": { - "then": "Aquesta és una escola per a estudiants sense necesitats especials
Açò inclou alumnes que poden seguir les classes amb petites messures
" + "then": "Aquesta és una escola per a estudiants sense necessitats especials
Açò inclou alumnes que poden seguir les classes amb petites mesures
" + }, + "2": { + "then": "Aquesta és una escola on els adults reben competències al nivell especificat." }, "3": { "then": "Aquesta és una escola per a estudiants amb autisme" @@ -1354,6 +1426,18 @@ }, "shops": { "name": "Botiga", + "tagRenderings": { + "organic": { + "mappings": { + "0": { + "then": "Aquesta botiga ofereix productes orgànics" + } + } + }, + "shops-name": { + "render": "La botiga s'anomena {name}" + } + }, "title": { "mappings": { "0": { @@ -1413,6 +1497,119 @@ "render": "Camp d'esports" } }, + "street_lamps": { + "name": "Fanals", + "presets": { + "0": { + "title": "un fanal" + } + }, + "tagRenderings": { + "colour": { + "mappings": { + "0": { + "then": "Aquest fanal emet llum blanca" + }, + "1": { + "then": "Aquest fanal emet llum verda" + }, + "2": { + "then": "Aquest fanal emet llum taronja" + } + }, + "question": "Quin color de llum emet aquest fanal?" + }, + "count": { + "mappings": { + "0": { + "then": "Aquest fanal té 1 aparell" + }, + "1": { + "then": "Aquest fanal té 2 aparells" + } + } + }, + "direction": { + "question": "Cap a on apunta aquest fanal?", + "render": "Aquest fanal apunta cap a {light:direction}" + }, + "lamp_mount": { + "mappings": { + "0": { + "then": "Aquest fanal es troba al final d'un pal recte" + }, + "1": { + "then": "Aquest fanal es troba al final d'un pal doblegat" + } + }, + "question": "Com està muntat aquest fanal al pal?" + }, + "lit": { + "mappings": { + "0": { + "then": "Aquest fanal s'encén a la nit" + }, + "1": { + "then": "Aquest fanal està encès les 24 hores del dia" + }, + "2": { + "then": "Aquest fanal s'encén en funció del moviment" + }, + "3": { + "then": "Aquest fanal s'encén segons la demanda (per exemple, amb un polsador)" + } + }, + "question": "Quan s'encén aquest fanal?" + }, + "method": { + "mappings": { + "1": { + "then": "Aquest fanal utilitza LED" + }, + "2": { + "then": "Aquest fanal utilitza il·luminació incandescent" + }, + "3": { + "then": "Aquest fanal utilitza il·luminació halògena" + }, + "4": { + "then": "Aquest fanal utilitza làmpades de descàrrega (tipus desconegut)" + }, + "5": { + "then": "Aquest fanal utilitza una làmpada de vapor de mercuri (lleugerament blau)" + }, + "6": { + "then": "Aquest fanal utilitza làmpades d'halogenurs metàl·lics (blanc brillant)" + }, + "7": { + "then": "Aquest fanal utilitza il·luminació fluorescent" + }, + "8": { + "then": "Aquest fanal utilitza làmpades de sodi (tipus desconegut)" + }, + "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" + } + } + }, + "ref": { + "question": "Quin és el número de referència d'aquest fanal?" + }, + "support": { + "mappings": { + "4": { + "then": "Aquest fanal està muntat en un pal" + } + } + } + } + }, "surveillance_camera": { "name": "Càmeres de videovigilància", "tagRenderings": { @@ -1440,7 +1637,22 @@ "toilet": { "name": "Lavabos", "tagRenderings": { + "toilet-access": { + "render": "L'accés és {access}" + }, + "toilets-type": { + "mappings": { + "3": { + "then": "Aquí hi ha lavabos per a utilitzar tant de peu com asseguts" + } + } + }, "toilets-wheelchair": { + "mappings": { + "2": { + "then": "Sols hi ha un lavabo per a usuaris amb cadira de rodes" + } + }, "question": "Hi ha un lavabo específic per a usuaris de cadira de rodes?" } }, diff --git a/langs/layers/de.json b/langs/layers/de.json index edcdef01f6..ebafc8f530 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -260,6 +260,35 @@ "render": "Geldautomat" } }, + "bank": { + "description": "Ein Finanzinstitut, um Geld einzuzahlen", + "filter": { + "1": { + "options": { + "0": { + "question": "Mit einem Geldautomaten" + } + } + } + }, + "name": "Banken", + "tagRenderings": { + "has_atm": { + "mappings": { + "0": { + "then": "Diese Bank hat einen Geldautomaten" + }, + "1": { + "then": "Diese Bank hat keinen Geldautomaten" + }, + "2": { + "then": "Diese Bank hat zwar einen Geldautomaten, aber dieser ist mit einem anderen Symbol dargestellt" + } + }, + "question": "Hat diese Bank einen Geldautomaten?" + } + } + }, "barrier": { "description": "Hindernisse beim Fahrradfahren, wie zum Beispiel Poller und Fahrrad Barrieren", "name": "Hindernisse", @@ -832,7 +861,10 @@ "bike_cleaning-charge": { "mappings": { "0": { - "then": "Kostenloser Reinigungsservice" + "then": "Der Reinigungsservice ist kostenlos" + }, + "1": { + "then": "Dieser Reinigungsservice ist kostenpflichtig" } }, "question": "Wie viel kostet die Nutzung des Reinigungsdienstes?", @@ -2695,6 +2727,11 @@ "climbing_gym": { "description": "Eine Kletterhalle", "name": "Kletterhallen", + "presets": { + "0": { + "title": "Kletterhalle" + } + }, "tagRenderings": { "Speed climbing?": { "mappings": { diff --git a/langs/layers/es.json b/langs/layers/es.json index da803afa33..793c675791 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -1113,11 +1113,11 @@ "presets": { "0": { "description": "Un bar, principalmente para beber cervezas en un interior templado y relajado", - "title": "un pub" + "title": "un bar" }, "1": { "description": "Un bar más moderno y comercial, posiblemente con una instalación de música y luz", - "title": "un bar" + "title": "un bar de copas" }, "2": { "description": "Una cafetería para beber té, café o una bebida alcohólica en un ambiente tranquilo", @@ -1947,7 +1947,7 @@ "name": "Desfibriladores", "presets": { "0": { - "title": "una desfibrilador" + "title": "un desfibrilador" }, "1": { "title": "un desfibrilador montado en una pared" diff --git a/langs/layers/nl.json b/langs/layers/nl.json index cea5db9c4d..e4402b62bc 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -260,6 +260,9 @@ "render": "Geldautomaat" } }, + "bank": { + "description": "Een financiële instelling waar je geld kunt" + }, "barrier": { "description": "Hindernissen tijdens het fietsen, zoals paaltjes en fietshekjes", "name": "Barrières", diff --git a/langs/nl.json b/langs/nl.json index 0979e1f08f..0ed96539e1 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -930,7 +930,7 @@ "gotoSettings": "Ga naar je instellingen op OpenStreetMap.org", "moveToHome": "Beweeg de kaart naar je thuislocatie", "newMessages": "je hebt nieuwe berichten", - "noDescription": "Je hebt nog een beschrijving op je profiel", + "noDescription": "Je hebt nog geen beschrijving op je profiel", "noDescriptionCallToAction": "Voeg een profielbeschrijving toe", "welcome": "Welkom {name}" }, diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 2076013a7c..1e41a70185 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -685,6 +685,7 @@ "title": "Camps d'esports" }, "street_lighting": { + "description": "En aquest mapa pots trobar tot el relacionat amb l'enllumenat públic", "layers": { "1": { "name": "Il·luminació de carrers", diff --git a/package.json b/package.json index fa552ba674..5e178008b8 100644 --- a/package.json +++ b/package.json @@ -47,9 +47,8 @@ "clean": "rm -rf .cache/ && (find *.html | grep -v \"^\\(404\\|index\\|land\\|test\\|preferences\\|customGenerator\\|professional\\|automaton\\|import_helper\\|import_viewer\\|theme\\).html\" | xargs rm) && (ls | grep \"^index_[a-zA-Z_-]\\+\\.ts$\" | xargs rm) && (ls | grep \".*.webmanifest$\" | grep -v \"manifest.webmanifest\" | xargs rm)", "generate:dependency-graph": "node_modules/.bin/depcruise --exclude \"^node_modules\" --output-type dot Logic/State/MapState.ts > dependencies.dot && dot dependencies.dot -T svg -o dependencies.svg && rm dependencies.dot", "script": "ts-node", - "weblate-merge": "./scripts/automerge-translations.sh", "weblate-add-upstream": "git remote add weblate-github git@github.com:weblate/MapComplete.git", - "weblate-fix": "git remote update weblate-github; git merge weblate-github/weblate-mapcomplete-core; git merge weblate-github/weblate-mapcomplete-layers; git merge weblate-github/weblate-mapcomplete-layer-translations", + "weblate-merge": "git remote update weblate-github; git merge weblate-github/weblate-mapcomplete-core weblate-github/weblate-mapcomplete-layers weblate-github/weblate-mapcomplete-layer-translations", "weblate-fix-heavy": "git remote rm weblate-layers; git remote add weblate-layers https://hosted.weblate.org/git/mapcomplete/layers/; git remote update weblate-layers; git merge weblate-layers/master", "housekeeping": "npm run generate && npm run generate:docs && npm run generate:contributor-list && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* && git commit -m 'Housekeeping...'", "parseSchools": "ts-node scripts/schools/amendSchoolData.ts", diff --git a/scripts/automerge-translations.sh b/scripts/automerge-translations.sh deleted file mode 100755 index 013efa5bf0..0000000000 --- a/scripts/automerge-translations.sh +++ /dev/null @@ -1,18 +0,0 @@ -#! /usr/bin/env bash - -# Automerge translations automatically fetches the translations from weblate - -git fetch weblate-github -git merge --no-commit weblate-github/weblate-mapcomplete-layers weblate-github/weblate-mapcomplete-layer-translations weblate-github/weblate-mapcomplete-core - -npm run generate:translations - if [ "$?" = "0" ]; then - # Translation generation went fine - commit - git add langs/ - git add assets/ - git commit -m "Merge weblate translations and regenerate translations" - git push - else - echo "Generation of translations failed!" - git merge --abort - fi