diff --git a/langs/de.json b/langs/de.json index dd57056ef4..f92a377368 100644 --- a/langs/de.json +++ b/langs/de.json @@ -188,7 +188,9 @@ "includeMetaData": "Metadaten übernehmen (letzter Bearbeiter, berechnete Werte, ...)", "licenseInfo": "

Copyright-Hinweis

Die bereitgestellten Daten sind unter ODbL verfügbar. Die Wiederverwendung ist für jeden Zweck frei, aber Bitte lesen Sie den vollständigen Copyright-Hinweis für weitere Details.", "noDataLoaded": "Noch keine Daten geladen. Download in Kürze verfügbar", - "pdf": {}, + "pdf": { + "current_view_generic": "Exportiere eine PDF-Ansicht im aktuellen Modus für {paper_size} im {orientation} Modus" + }, "title": "Download", "uploadGpx": "Einen Track auf OpenStreetMap hochladen" }, @@ -402,6 +404,7 @@ "key": "Tastenkombination", "openLayersPanel": "Öffnet das Menü für Ebenen und Filter", "selectAerial": "Hintergrund als Luftbild oder Satellitenbild einstellen. Wechselt zwischen den zwei besten verfügbaren Ebenen", + "selectItem": "Wähle das POI, das dem Kartenmittelpunkt (Fadenkreuz) am nächsten liegt. Nur wenn die Tastaturnavigation verwendet wird", "selectMap": "Karte aus externer Quelle als Hintergrund wählen. Wechselt zwischen den zwei besten verfügbaren Ebenen", "selectMapnik": "OpenStreetMap-carto als Hintergrundebene wählen", "selectOsmbasedmap": "OpenStreetMap-basierte Karte als Hintergrund auswählen (oder Hintergrundebene deaktivieren)", diff --git a/langs/fi.json b/langs/fi.json index d0dfdabb2b..23dec3b104 100644 --- a/langs/fi.json +++ b/langs/fi.json @@ -1,36 +1,73 @@ { + "advanced": { + "title": "Lisäominaisuudet" + }, "centerMessage": { - "ready": "Valmis!" + "allFilteredAway": "Mikään kohde näkyvällä alueella ei täytä kaikkien suodatinten ehtoja", + "loadingData": "Ladataan dataa…", + "noData": "Ei relevantteja kohteita näkyvällä alueella", + "ready": "Valmis!", + "retrying": "Datan lataaminen epäonnistui. Yritetään uudelleen {count} sekunnin kuluttua…", + "zoomIn": "Lähennä ensin karttaa, jotta data näytetään ja on muokattavissa" + }, + "communityIndex": { + "available": "Tämä yhteisö puhuu kieltä {native}", + "intro": "Ole yhteydessä muihin, jotta voit tutustua heihin, oppia heiltä, …", + "notAvailable": "Tämä yhteisö ei puhu kieltä {native}", + "title": "Ole yhteydessä muihin" }, "delete": { - "explanations": {}, - "reasons": {} - }, - "favourite": {}, - "general": { - "add": { - "import": {} + "cancel": "Peru", + "cannotBeDeleted": "Tätä kohdetta ei voi poistaa", + "delete": "Poista", + "explanations": { + "hardDelete": "Tämä kohde poistetaan OpenStreetMapistä. Kokenut kartoittaja voi palauttaa sen." }, - "apply_button": {}, + "isDeleted": "Tämä kohde on poistettu", + "loginToDelete": "Kohteen poistamiseksi täytyy kirjautua", + "notEnoughExperience": "Tämän kohteen loi joku muu.", + "onlyEditedByLoggedInUser": "Tätä kohdetta ei ole muokannut kukaan muu kuin sinä, joten sen voi huoletta poistaa." + }, + "flyer": { + "callToAction": "Kokeile sitä osoitteessa mapcomplete.org", + "tagline": "Kerää paikkatietoa OpenStreetMapillä" + }, + "general": { "attribution": { - "iconAttribution": {} + "followOnMastodon": "Seuraa MapCompletea Mastodonissa" }, "backgroundMap": "Taustakartta", "cancel": "Peruuta", - "download": {}, - "histogram": {}, - "layerSelection": {}, - "levelSelection": {}, + "download": { + "title": "Lataa" + }, + "error": "Jotain meni vikaan", + "example": "Esimerkki", + "examples": "Esimerkit", "loginWithOpenStreetMap": "Kirjaudu sisään OpenStreetMapilla", - "morescreen": {}, + "logout": "Kirjaudu ulos", + "menu": { + "aboutMapComplete": "Tietoa MapCompletesta" + }, + "morescreen": { + "searchForATheme": "Etsi teemaa" + }, "number": "numero", + "openTheMap": "Avaa kartta", + "openTheMapAtGeolocation": "Zoomaa sijaintiisi", "opening_hours": { + "loadingCountry": "Määritetään maata…", "ph_closed": "suljettu", "ph_not_known": " ", "ph_open": "avattu" }, - "pdf": {}, "pickLanguage": "Valitse kieli: ", + "questionBox": { + "answeredMultiple": "Vastasit {answered} kysymykseen", + "answeredOne": "Vastasit yhteen kysymykseen", + "skippedMultiple": "Ohitit {skipped} kysymystä", + "skippedOne": "Ohitit yhden kysymyksen" + }, "questions": { "websiteIs": "Verkkosivusto: {website}" }, @@ -42,6 +79,7 @@ "thanksForSharing": "Kiitos jakamisesta!" }, "skip": "Ohita tämä kysymys", + "waitingForLocation": "Etsitään nykyistä sijaintiasi…", "weekdays": { "abbreviations": { "friday": "Pe", @@ -60,9 +98,8 @@ "tuesday": "Tiistai", "wednesday": "Keskiviikko" }, - "welcomeExplanation": {}, "wikipedia": { - "previewbox": {} + "addEntry": "Lisää toinen Wikipedia-sivu" } }, "image": { @@ -71,40 +108,27 @@ "dontDelete": "Peruuta", "isDeleted": "Poistettu" }, - "importInspector": {}, - "importLayer": {}, "index": { "title": "Tervetuloa MapCompleteen" }, - "move": { - "inviteToMove": {}, - "reasons": {} + "plantDetection": { + "tryAgain": "Valitse eri laji" }, - "multi_apply": {}, - "notes": {}, - "privacy": {}, "reviews": { "title": "{count} arvostelua", "title_singular": "Yksi arvostelu" }, - "split": {}, - "translations": {}, + "split": { + "splitAgain": "Katkaise tämä tie uudelleen" + }, + "userinfo": { + "editDescription": "Muokkaa profiilin kuvausta", + "noDescriptionCallToAction": "Lisää profiilin kuvaus", + "notLoggedIn": "Olet kirjautunut ulos" + }, "validation": { - "color": {}, - "date": {}, - "direction": {}, - "distance": {}, - "email": {}, - "float": {}, - "int": {}, - "nat": {}, - "opening_hours": {}, - "pfloat": {}, - "phone": {}, - "pnat": {}, - "string": {}, - "text": {}, - "url": {}, - "wikidata": {} + "distance": { + "description": "Etäisyys metreinä" + } } } diff --git a/src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts b/src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts index df4dec4598..3c7cf7efce 100644 --- a/src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts +++ b/src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts @@ -168,8 +168,18 @@ export class UpdateLegacyLayer extends DesugaringStep< const pr = rendering if (pr["icon"]) { try { - const icon = Utils.NoEmpty(pr["icon"].split(";")) + let iconConfig = pr["icon"] + if ( + Object.keys(iconConfig).length === 1 && + iconConfig["render"] !== undefined + ) { + iconConfig = iconConfig.render + } + const icon = Utils.NoEmpty(iconConfig.split(";")) pr.marker = icon.map((i) => { + if (i.startsWith("http")) { + return { icon: i } + } const [iconPath, color] = i.split(":") return { icon: iconPath, color } }) @@ -243,10 +253,6 @@ class UpdateLegacyTheme extends DesugaringStep { delete oldThemeConfig.socialImage } - if (oldThemeConfig.defaultBackgroundId === "osm") { - console.log("Removing old background in", json.id) - } - if (typeof oldThemeConfig.credits === "string") { oldThemeConfig.credits = [oldThemeConfig.credits] } diff --git a/src/Models/ThemeConfig/WithContextLoader.ts b/src/Models/ThemeConfig/WithContextLoader.ts index c00f67edc1..0fee9d6dbf 100644 --- a/src/Models/ThemeConfig/WithContextLoader.ts +++ b/src/Models/ThemeConfig/WithContextLoader.ts @@ -27,11 +27,6 @@ export default class WithContextLoader { `${translationContext ?? this._context}.${key}.default value` ) } - if (Object.keys(v).length === 1 && typeof v["render"] === "string") { - throw `At ${ - translationContext ?? "" - }: use the content directly instead of {${key}: ${JSON.stringify(v)}}` - } return new TagRenderingConfig( v,