From ca899561d55626b9c2c14f90d60d01c8c1276823 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 23 Jun 2023 22:44:33 +0200 Subject: [PATCH 01/27] Fix: actually deploy on the production repo --- .../workflows/theme_validation_and_deploy.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/theme_validation_and_deploy.yml b/.github/workflows/theme_validation_and_deploy.yml index 9e32dd808..3bd50c5b5 100644 --- a/.github/workflows/theme_validation_and_deploy.yml +++ b/.github/workflows/theme_validation_and_deploy.yml @@ -52,7 +52,7 @@ jobs: echo "Cloning destination repo" git config --global user.email "pietervdvn@posteo.net" git config --global user.name "pietervdvn" - git clone --depth 1 --single-branch --branch master "https://x-access-token:$DEPLOY_KEY_PIETERVDVN@github.com/pietervdvn/pietervdvn.github.io.git" + git clone --depth 1 --single-branch --branch master "https://x-access-token:$DEPLOY_KEY_PIETERVDVN@github.com/MapComplete/mapcomplete.github.io.git" echo "Destination repo is cloned" - name: Sync repo @@ -62,23 +62,19 @@ jobs: cd pietervdvn.github.io git pull - - name: get branch name - run: echo TARGET_BRANCH=${GITHUB_REF:11} >> $GITHUB_ENV - - name: "Copying files" run: | echo "Deploying" - rm -rf pietervdvn.github.io/mc/${{ env.TARGET_BRANCH }}/* - mkdir -p pietervdvn.github.io/mc/${{ env.TARGET_BRANCH }}/ - cp -r dist/* pietervdvn.github.io/mc/${{ env.TARGET_BRANCH }}/ - cd pietervdvn.github.io/ + rm -rf mapcomplete.github.io/* + cp -r dist/* mapcomplete.github.io/ + cd mapcomplete.github.io/ + echo "mapcomplete.osm.be" > CNAME git add * if git status | grep -q "Changes to be committed" then - git commit -am "Deploying a new version of mapcomplete" + git commit -am "Deploying a new version" git push else echo "No changes to commit" fi - env: - TARGET_BRANCH: ${{ env.TARGET_BRANCH }} + From 9c0dac28ad0604026936cc68c5238927978b250a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 24 Jun 2023 00:24:30 +0200 Subject: [PATCH 02/27] Fix: use correct branch to deploy --- .github/workflows/theme_validation_and_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/theme_validation_and_deploy.yml b/.github/workflows/theme_validation_and_deploy.yml index 3bd50c5b5..9c1ff4c34 100644 --- a/.github/workflows/theme_validation_and_deploy.yml +++ b/.github/workflows/theme_validation_and_deploy.yml @@ -52,7 +52,7 @@ jobs: echo "Cloning destination repo" git config --global user.email "pietervdvn@posteo.net" git config --global user.name "pietervdvn" - git clone --depth 1 --single-branch --branch master "https://x-access-token:$DEPLOY_KEY_PIETERVDVN@github.com/MapComplete/mapcomplete.github.io.git" + git clone --depth 1 --single-branch --branch main "https://x-access-token:$DEPLOY_KEY_PIETERVDVN@github.com/MapComplete/mapcomplete.github.io.git" echo "Destination repo is cloned" - name: Sync repo From ecd84c2cf6174bddad5d1759caeeeea761e1b9f1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 24 Jun 2023 01:12:32 +0200 Subject: [PATCH 03/27] Fix: correct 'sync repo' step --- .github/workflows/theme_validation_and_deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/theme_validation_and_deploy.yml b/.github/workflows/theme_validation_and_deploy.yml index 9c1ff4c34..32b593381 100644 --- a/.github/workflows/theme_validation_and_deploy.yml +++ b/.github/workflows/theme_validation_and_deploy.yml @@ -59,7 +59,7 @@ jobs: env: DEPLOY_KEY_PIETERVDVN: ${{ secrets.DEPLOY_KEY_PIETERVDVN }} run: | - cd pietervdvn.github.io + cd mapcomplete.github.io git pull - name: "Copying files" From adb5d892fb39cdf63ea65d95ef5079f0efed6324 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 26 Jun 2023 11:00:19 +0200 Subject: [PATCH 04/27] Fix: temporarily only warn for incomplete translations --- Models/ThemeConfig/Conversion/Validation.ts | 5 +- assets/tagRenderings/questions.json | 3 +- .../mapcomplete-changes.json | 57 ++++++++++++------- langs/shared-questions/de.json | 7 +++ 4 files changed, 51 insertions(+), 21 deletions(-) diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index c61f06e45..e5d325642 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -31,6 +31,7 @@ class ValidateLanguageCompleteness extends DesugaringStep { convert(obj: any, context: string): { result: LayerConfig; errors: string[] } { const errors = [] + const warnings: string[] = [] const translations = Translation.ExtractAllTranslationsFrom(obj) for (const neededLanguage of this._languages) { translations @@ -40,7 +41,7 @@ class ValidateLanguageCompleteness extends DesugaringStep { t.tr.translations["*"] === undefined ) .forEach((missing) => { - errors.push( + warnings.push( context + "A theme should be translation-complete for " + neededLanguage + @@ -55,6 +56,7 @@ class ValidateLanguageCompleteness extends DesugaringStep { return { result: obj, errors, + warnings, } } } @@ -248,6 +250,7 @@ class ValidateTheme extends DesugaringStep { const checked = new ValidateLanguageCompleteness( ...json["mustHaveLanguage"] ).convert(theme, theme.id) + errors.push(...checked.errors) } if (!json.hideFromOverview && theme.id !== "personal" && this._isBuiltin) { diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json index dcbd751bb..ec938eeab 100644 --- a/assets/tagRenderings/questions.json +++ b/assets/tagRenderings/questions.json @@ -1412,7 +1412,8 @@ "href": "{_backend}/changeset/{_last_edit:changeset}", "text": { "en": "Last edited on {_last_edit:timestamp} by {_last_edit:contributor}", - "nl": "Laatst gewijzigd op {_last_edit:timestamp} door {_last_edit:contributor} " + "nl": "Laatst gewijzigd op {_last_edit:timestamp} door {_last_edit:contributor} ", + "de": "Zuletzt bearbeitet am {_last_edit:timestamp} vom {_last_edit:contributor}" }, "class": "subtle font-small" } diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index f82a92086..a27f0dd0d 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -1,13 +1,16 @@ { "id": "mapcomplete-changes", "title": { - "en": "Changes made with MapComplete" + "en": "Changes made with MapComplete", + "nl": "Wijzigingen gemaakt met MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete" + "en": "Shows changes made by MapComplete", + "nl": "Toon wijzigingen gemaakt met MapComplete" }, "description": { - "en": "This maps shows all the changes made with MapComplete" + "en": "This maps shows all the changes made with MapComplete", + "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -20,7 +23,8 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers" + "en": "Changeset centers", + "nl": "Centerpunt van changeset" }, "minzoom": 0, "source": { @@ -35,7 +39,8 @@ } }, "description": { - "en": "Shows all MapComplete changes" + "en": "Shows all MapComplete changes", + "nl": "Toon alle MapComplete wijzigingen" }, "tagRenderings": [ { @@ -47,13 +52,15 @@ { "id": "contributor", "question": { - "en": "What contributor did make this change?" + "en": "What contributor did make this change?", + "nl": "Welke bijdrager maakte deze wijziging?" }, "freeform": { "key": "user" }, "render": { - "en": "Change made by {user}" + "en": "Change made by {user}", + "nl": "Wijziging gemaakt door {user}" } }, { @@ -74,19 +81,23 @@ "key": "locale" }, "question": { - "en": "What locale (language) was this change made in?" + "en": "What locale (language) was this change made in?", + "nl": "In welke locale (taal) werd deze wijziging gemaakt?" }, "render": { - "en": "User locale is {locale}" + "en": "User locale is {locale}", + "nl": "De gebruikerstaal is {locale}" } }, { "id": "host", "render": { - "en": "Change with with {host}" + "en": "Change with {host}", + "nl": "Wijziging gemaakt met {host}" }, "question": { - "en": "What host (website) was this change made with?" + "en": "What host (website) was this change made with?", + "nl": "Met welke host (website) werd deze wijziging gemaakt?" }, "freeform": { "key": "host" @@ -444,7 +455,8 @@ } ], "question": { - "en": "Themename contains {search}" + "en": "Themename contains {search}", + "nl": "Themenaam bevat {search}" } } ] @@ -460,7 +472,8 @@ } ], "question": { - "en": "Made by contributor {search}" + "en": "Made by contributor {search}", + "nl": "Gemaakt door bijdrager {search}" } } ] @@ -476,7 +489,8 @@ } ], "question": { - "en": "Not made by contributor {search}" + "en": "Not made by contributor {search}", + "nl": "Niet gemaakt door bijdrager {search}" } } ] @@ -493,7 +507,8 @@ } ], "question": { - "en": "Made before {search}" + "en": "Made before {search}", + "nl": "Gemaakt voor {search}" } } ] @@ -510,7 +525,8 @@ } ], "question": { - "en": "Made after {search}" + "en": "Made after {search}", + "nl": "Gemaakt na {search}" } } ] @@ -526,7 +542,8 @@ } ], "question": { - "en": "User language (iso-code) {search}" + "en": "User language (iso-code) {search}", + "nl": "De taal van de bijdrager is {search}" } } ] @@ -542,7 +559,8 @@ } ], "question": { - "en": "Made with host {search}" + "en": "Made with host {search}", + "nl": "Gemaakt met host {search}" } } ] @@ -553,7 +571,8 @@ { "osmTags": "add-image>0", "question": { - "en": "Changeset added at least one image" + "en": "Changeset added at least one image", + "nl": "Changeset bevat minstens één afbeelding" } } ] diff --git a/langs/shared-questions/de.json b/langs/shared-questions/de.json index 40c97a528..7f6b17526 100644 --- a/langs/shared-questions/de.json +++ b/langs/shared-questions/de.json @@ -138,6 +138,13 @@ } } }, + "last_edit": { + "render": { + "special": { + "text": "Zuletzt bearbeitet am {_last_edit:timestamp} vom {_last_edit:contributor}" + } + } + }, "level": { "mappings": { "0": { From 6a79dde743264c272e461614ae718044d90a7080 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 26 Jun 2023 11:11:22 +0200 Subject: [PATCH 05/27] Fix: Actually show errors in custom themes now --- Logic/DetermineLayout.ts | 114 +++++++++++++-------------------------- index.ts | 24 +++++---- 2 files changed, 50 insertions(+), 88 deletions(-) diff --git a/Logic/DetermineLayout.ts b/Logic/DetermineLayout.ts index f1f28ee14..78fa92130 100644 --- a/Logic/DetermineLayout.ts +++ b/Logic/DetermineLayout.ts @@ -11,7 +11,6 @@ import { LocalStorageSource } from "./Web/LocalStorageSource" import LZString from "lz-string" import { FixLegacyTheme } from "../Models/ThemeConfig/Conversion/LegacyJsonConvert" import { LayerConfigJson } from "../Models/ThemeConfig/Json/LayerConfigJson" -import SharedTagRenderings from "../Customizations/SharedTagRenderings" import known_layers from "../assets/generated/known_layers.json" import { PrepareTheme } from "../Models/ThemeConfig/Conversion/PrepareTheme" import licenses from "../assets/generated/license_info.json" @@ -24,9 +23,8 @@ import { ValidateTagRenderings, ValidateThemeAndLayers, } from "../Models/ThemeConfig/Conversion/Validation" -import { DesugaringContext, Each, On } from "../Models/ThemeConfig/Conversion/Conversion" -import { PrepareLayer, RewriteSpecial } from "../Models/ThemeConfig/Conversion/PrepareLayer" -import { AllSharedLayers } from "../Customizations/AllSharedLayers" +import { DesugaringContext } from "../Models/ThemeConfig/Conversion/Conversion" +import { RewriteSpecial } from "../Models/ThemeConfig/Conversion/PrepareLayer" import { TagRenderingConfigJson } from "../Models/ThemeConfig/Json/TagRenderingConfigJson" import questions from "../assets/tagRenderings/questions.json" @@ -79,55 +77,33 @@ export default class DetermineLayout { let hash = location.hash.substr(1) let json: any - try { - // layoutFromBase64 contains the name of the theme. This is partly to do tracking with goat counter - const dedicatedHashFromLocalStorage = LocalStorageSource.Get( - "user-layout-" + userLayoutParam.data?.replace(" ", "_") - ) - if (dedicatedHashFromLocalStorage.data?.length < 10) { - dedicatedHashFromLocalStorage.setData(undefined) - } - - const hashFromLocalStorage = LocalStorageSource.Get("last-loaded-user-layout") - if (hash.length < 10) { - hash = dedicatedHashFromLocalStorage.data ?? hashFromLocalStorage.data - } else { - console.log("Saving hash to local storage") - hashFromLocalStorage.setData(hash) - dedicatedHashFromLocalStorage.setData(hash) - } - - try { - json = JSON.parse(atob(hash)) - } catch (e) { - // We try to decode with lz-string - try { - json = JSON.parse(Utils.UnMinify(LZString.decompressFromBase64(hash))) - } catch (e) { - console.error(e) - DetermineLayout.ShowErrorOnCustomTheme( - "Could not decode the hash", - new FixedUiElement("Not a valid (LZ-compressed) JSON") - ) - return null - } - } - - const layoutToUse = DetermineLayout.prepCustomTheme(json) - userLayoutParam.setData(layoutToUse.id) - return layoutToUse - } catch (e) { - console.error(e) - if (hash === undefined || hash.length < 10) { - DetermineLayout.ShowErrorOnCustomTheme( - "Could not load a theme from the hash", - new FixedUiElement("Hash does not contain data"), - json - ) - } - this.ShowErrorOnCustomTheme("Could not parse the hash", new FixedUiElement(e), json) - return null + // layoutFromBase64 contains the name of the theme. This is partly to do tracking with goat counter + const dedicatedHashFromLocalStorage = LocalStorageSource.Get( + "user-layout-" + userLayoutParam.data?.replace(" ", "_") + ) + if (dedicatedHashFromLocalStorage.data?.length < 10) { + dedicatedHashFromLocalStorage.setData(undefined) } + + const hashFromLocalStorage = LocalStorageSource.Get("last-loaded-user-layout") + if (hash.length < 10) { + hash = dedicatedHashFromLocalStorage.data ?? hashFromLocalStorage.data + } else { + console.log("Saving hash to local storage") + hashFromLocalStorage.setData(hash) + dedicatedHashFromLocalStorage.setData(hash) + } + + try { + json = JSON.parse(atob(hash)) + } catch (e) { + // We try to decode with lz-string + json = JSON.parse(Utils.UnMinify(LZString.decompressFromBase64(hash))) + } + + const layoutToUse = DetermineLayout.prepCustomTheme(json) + userLayoutParam.setData(layoutToUse.id) + return layoutToUse } public static ShowErrorOnCustomTheme( @@ -187,6 +163,7 @@ export default class DetermineLayout { return dict } + private static prepCustomTheme(json: any, sourceUrl?: string, forceId?: string): LayoutConfig { if (json.layers === undefined && json.tagRenderings !== undefined) { const iconTr = json.mapRendering.map((mr) => mr.icon).find((icon) => icon !== undefined) @@ -255,32 +232,13 @@ export default class DetermineLayout { "maindiv" ) - try { - let parsed = await Utils.downloadJson(link) - try { - let forcedId = parsed.id - const url = new URL(link) - if (!(url.hostname === "localhost" || url.hostname === "127.0.0.1")) { - forcedId = link - } - console.log("Loaded remote link:", link) - return DetermineLayout.prepCustomTheme(parsed, link, forcedId) - } catch (e) { - console.error(e) - DetermineLayout.ShowErrorOnCustomTheme( - `${link} is invalid:`, - new FixedUiElement(e), - parsed - ) - return null - } - } catch (e) { - console.error(e) - DetermineLayout.ShowErrorOnCustomTheme( - `${link} is invalid - probably not found or invalid JSON:`, - new FixedUiElement(e) - ) - return null + let parsed = await Utils.downloadJson(link) + let forcedId = parsed.id + const url = new URL(link) + if (!(url.hostname === "localhost" || url.hostname === "127.0.0.1")) { + forcedId = link } + console.log("Loaded remote link:", link) + return DetermineLayout.prepCustomTheme(parsed, link, forcedId) } } diff --git a/index.ts b/index.ts index 3d29af169..73d68c768 100644 --- a/index.ts +++ b/index.ts @@ -6,13 +6,17 @@ import ThemeViewGUI from "./UI/ThemeViewGUI.svelte" import { FixedUiElement } from "./UI/Base/FixedUiElement" // @ts-ignore -DetermineLayout.GetLayout() - .then((layout) => { - const state = new ThemeViewState(layout) - const main = new SvelteUIElement(ThemeViewGUI, { state }) - main.AttachTo("maindiv") - }) - .catch((err) => { - console.error("Error while initializing: ", err, err.stack) - new FixedUiElement(err).SetClass("block alert").AttachTo("maindiv") - }) +try { + DetermineLayout.GetLayout() + .then((layout) => { + const state = new ThemeViewState(layout) + const main = new SvelteUIElement(ThemeViewGUI, { state }) + main.AttachTo("maindiv") + }) + .catch((err) => { + console.error("Error while initializing: ", err, err.stack) + new FixedUiElement(err).SetClass("block alert").AttachTo("maindiv") + }) +} catch (err) { + new FixedUiElement(err).SetClass("block alert").AttachTo("maindiv") +} From a5db1efde26875f994156b25390164e9b1f925b4 Mon Sep 17 00:00:00 2001 From: Supaplex Date: Mon, 26 Jun 2023 08:21:03 +0000 Subject: [PATCH 06/27] Translated using Weblate (Chinese (Traditional)) Currently translated at 72.2% (362 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/zh_Hant/ --- langs/zh_Hant.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/langs/zh_Hant.json b/langs/zh_Hant.json index c2903bdc6..4983f4569 100644 --- a/langs/zh_Hant.json +++ b/langs/zh_Hant.json @@ -1,10 +1,21 @@ { + "advanced": { + "title": "進階功能" + }, "centerMessage": { + "allFilteredAway": "檢視畫面當中沒有滿足過瀘條件的圖徵", "loadingData": "正在讀取資料…", + "noData": "目前檢視畫面沒有相關的圖徵", "ready": "完成!", "retrying": "無法讀取資料,請在 {count} 秒後再試一次…", "zoomIn": "放大來檢視或編輯資料" }, + "communityIndex": { + "available": "這個社群說 {native}", + "intro": "與其他人接洽並且與他們熟悉,從他們的經驗學習,...", + "notAvailable": "這個社群不說 {native}", + "title": "社群索引" + }, "delete": { "cancel": "取消", "cannotBeDeleted": "這圖徵無法刪除", From 56783bf6ae3573263a8b8cba0ee2e673bd3510e9 Mon Sep 17 00:00:00 2001 From: kjon Date: Mon, 26 Jun 2023 17:39:18 +0000 Subject: [PATCH 07/27] Translated using Weblate (German) Currently translated at 91.6% (459 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ --- langs/de.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/langs/de.json b/langs/de.json index 4502a007c..8d4c37227 100644 --- a/langs/de.json +++ b/langs/de.json @@ -1,4 +1,7 @@ { + "advanced": { + "title": "Erweiterte Funktionen" + }, "centerMessage": { "loadingData": "Daten werden geladen…", "ready": "Erledigt!", From 1ce7358dfb539ef2e61762bb06d62d838773a958 Mon Sep 17 00:00:00 2001 From: Supaplex Date: Mon, 26 Jun 2023 09:43:22 +0000 Subject: [PATCH 08/27] Translated using Weblate (Chinese (Traditional)) Currently translated at 52.4% (216 of 412 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/zh_Hant/ --- langs/themes/zh_Hant.json | 185 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 177 insertions(+), 8 deletions(-) diff --git a/langs/themes/zh_Hant.json b/langs/themes/zh_Hant.json index 2f1b6683e..3913b5de9 100644 --- a/langs/themes/zh_Hant.json +++ b/langs/themes/zh_Hant.json @@ -1,17 +1,47 @@ { + "advertising": { + "description": "你曾經好奇路上有多少廣告物件?有了這份地圖,你可以找到所有路上能夠看到的廣告物件", + "shortDescription": "我能夠在那裡找到廣告物件?", + "title": "廣告物件" + }, "aed": { "description": "在這份地圖上,你可以找到與標記附近的除顫器", - "title": "開放AED地圖" + "title": "除顫器" }, "artwork": { - "description": "歡迎來到開放藝術品地圖,這份地圖會顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品", - "title": "開放藝術品地圖" + "description": "顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品的地圖", + "title": "藝術品" + }, + "atm": { + "description": "這份地圖顯示領錢與存錢的 ATM", + "layers": { + "3": { + "override": { + "=tagRenderings": { + "0": { + "render": { + "special": { + "text": "匯入這座 ATM" + } + } + } + } + } + } + }, + "title": "自動櫃員機" + }, + "bag": { + "title": "BAG 匯入助手" }, "benches": { - "description": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。只要有開放街圖帳號,你可以新增長椅或是編輯既有長椅的詳細內容。", + "description": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。", "shortDescription": "長椅的地圖", "title": "長椅" }, + "bicycle_rental": { + "title": "單車租借站" + }, "bicyclelib": { "description": "單車圖書館是指每年支付小額費用,然後可以租用單車的地方。最有名的單車圖書館案例是給小孩的,能夠讓長大的小孩用目前的單車換成比較大的單車", "title": "單車圖書館" @@ -26,10 +56,11 @@ "title": "開放書架地圖" }, "cafes_and_pubs": { + "description": "咖啡廳、俱樂部與酒吧", "title": "咖啡廳與酒吧" }, "campersite": { - "description": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。這是網站與網路 app,資料則是存在開放街圖,因此會永遠免費,而且可以被所有 app 再利用。", + "description": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。", "layers": { "0": { "description": "露營地", @@ -340,11 +371,28 @@ "shortDescription": "顯示消防栓、滅火器、消防隊與急救站的地圖。", "title": "消防栓、滅火器、消防隊、以及急救站。" }, + "maproulette": { + "title": "MapRoulette 任務" + }, "maps": { "description": "在這份地圖你可以找到所在在開放街圖上已知的地圖 - 特別是顯示地區、城市、區域的資訊版面上的大型地圖,例如佈告欄背面的旅遊地圖,自然保護區的地圖,區域的單車網路地圖,...)

如果有缺少的地圖,你可以輕易在開放街圖上新增這地圖。", "shortDescription": "這份主題顯示所有已知的開放街圖上的 (旅遊) 地圖", "title": "地圖的地圖" }, + "maxspeed": { + "description": "這份地圖顯示每一條道路的法定允許的最高速限,如果有缺漏的最高速限或是標示錯誤,你可以在這邊更正資訊。", + "shortDescription": "這份地圖顯示每一條道路的法定允許的最高速限。", + "title": "最高速限" + }, + "nature": { + "description": "在這份地圖,你可以找到觀光客與自然愛好者感興趣的資訊...", + "shortDescription": "為了自然愛好者,以及有趣的興趣點的地圖", + "title": "投入自然懷抱" + }, + "notes": { + "description": "註解會散佈在地圖上並且有一些文字說明,來顯示那邊有錯誤。

請確認用過濾檢視來搜尋使用者或是文字。", + "title": "開放街圖上的註解" + }, "observation_towers": { "description": "開放可及能觀景的高塔", "shortDescription": "開發可及能觀景的高塔", @@ -363,25 +411,134 @@ "description": "從所有可用的主題圖層創建個人化主題", "title": "個人化主題" }, + "pets": { + "layers": { + "1": { + "override": { + "name": "寵物友善餐廳" + } + }, + "2": { + "override": { + "name": "寵物友善商家", + "title": { + "render": "寵物友善商家" + } + } + }, + "6": { + "override": { + "presets": { + "0": { + "description": "你幾乎可以攜帶寵物到處去的商店", + "title": "寵物友善商家" + } + } + } + } + }, + "title": "獸醫院、寵物公園以及其他寵物設施" + }, "playgrounds": { "description": "在這份地圖上,你可以尋找遊樂場以及其相關資訊", "shortDescription": "遊樂場的地圖", "title": "遊樂場" }, + "postal_codes": { + "description": "郵遞區號", + "layers": { + "0": { + "name": "郵遞區號", + "tagRenderings": { + "postal_code": { + "render": "郵遞區號是 {postal_code}" + } + }, + "title": { + "render": "郵遞區號 {postal_code}" + } + }, + "2": { + "name": "城鎮", + "title": { + "render": "城鎮 {name}" + } + } + }, + "shortDescription": "郵遞區號", + "title": "郵遞區號" + }, "postboxes": { "description": "在這份地圖你能找到與新增有關郵局與郵筒的資料,你可以用這份地圖找到寄送您下張明信片的地方!:)
發現錯誤或是有郵筒遺漏嗎?你可以用免費的開放街圖帳號來編輯。 ", "shortDescription": "顯示郵筒與郵局的地圖", "title": "郵筒與郵局地圖" }, + "rainbow_crossings": { + "title": "彩虹人行穿越道" + }, "shops": { "description": "這份地圖上,你可以標記商家基本資訊,新增營業時間以及聯絡電話", - "title": "開放商店地圖" + "shortDescription": "有基本商家資訊的可編輯性的地圖", + "title": "商店" + }, + "sidewalks": { + "description": "實驗性的主題", + "layers": { + "0": { + "description": "顯示道路的人行穿越道的圖層", + "name": "人行道" + } + }, + "title": "人行道" }, "sport_pitches": { "description": "運動場地是進行運動的地方", "shortDescription": "顯示運動場地的地圖", "title": "運動場地" }, + "sports": { + "layers": { + "4": { + "override": { + "presets": { + "0": { + "title": "運動用品店" + } + } + } + } + }, + "shortDescription": "顯示運動設施的地圖。", + "title": "運動" + }, + "stations": { + "layers": { + "16": { + "presets": { + "0": { + "title": "時刻表" + } + }, + "tagRenderings": { + "type": { + "mappings": { + "2": { + "then": "這份是紙本時刻表" + } + }, + "question": "這是那種類型的時刻表?" + } + }, + "title": { + "render": "時刻表" + } + }, + "3": { + "description": "顯示火車站的圖層" + } + }, + "title": "火車站" + }, "street_lighting": { "description": "在這份地圖你可以找到任何有關路燈的事情", "layers": { @@ -445,16 +602,28 @@ }, "toilets": { "description": "公共廁所的地圖", - "title": "開放廁所地圖" + "title": "公共廁所" + }, + "transit": { + "description": "藉由大眾運輸系統來計畫你的旅程。", + "title": "公車路線" }, "trees": { "description": "繪製所有樹木!", "shortDescription": "所有樹木的地圖", "title": "樹木" }, + "walls_and_buildings": { + "description": "特殊的內建圖層顯示所有牆壁與建築。這個圖層對於規畫要靠牆的東西 (例如 AED、郵筒、入口、地址、監視器等) 相當實用。這個圖層預設顯示而且無法由使用者開關。", + "title": "牆壁與建築" + }, + "waste": { + "description": "顯示垃圾筒與回收設施的地圖。", + "title": "廢棄物" + }, "waste_basket": { "description": "在這份地圖當中,你可以找到你附近的垃圾筒。如果地圖有遺漏垃圾筒,你可以自己加上去", "shortDescription": "垃圾筒的地圖", "title": "垃圾筒" } -} \ No newline at end of file +} From 8b097ec55cef8f75e7b5b395c38d7a3c004bb911 Mon Sep 17 00:00:00 2001 From: Supaplex Date: Mon, 26 Jun 2023 09:20:20 +0000 Subject: [PATCH 09/27] Translated using Weblate (Chinese (Traditional)) Currently translated at 6.6% (190 of 2861 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/zh_Hant/ --- langs/layers/zh_Hant.json | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/langs/layers/zh_Hant.json b/langs/layers/zh_Hant.json index 80bb0fa7e..14ad256f7 100644 --- a/langs/layers/zh_Hant.json +++ b/langs/layers/zh_Hant.json @@ -16,7 +16,7 @@ } }, "artwork": { - "description": "不同類型的藝術品", + "description": "顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品的地圖", "name": "藝術品", "presets": { "0": { @@ -36,6 +36,12 @@ "1": { "then": "壁畫" }, + "10": { + "then": "Azulejo (西班牙雕塑作品名稱)" + }, + "11": { + "then": "瓷磚" + }, "2": { "then": "繪畫" }, @@ -59,12 +65,6 @@ }, "9": { "then": "寬慰" - }, - "10": { - "then": "Azulejo (西班牙雕塑作品名稱)" - }, - "11": { - "then": "瓷磚" } }, "question": "這是什麼類型的藝術品?", @@ -612,6 +612,9 @@ } } }, + "walls_and_buildings": { + "description": "特殊的內建圖層顯示所有牆壁與建築。這個圖層對於規畫要靠牆的東西 (例如 AED、郵筒、入口、地址、監視器等) 相當實用。這個圖層預設顯示而且無法由使用者開關。" + }, "windturbine": { "name": "風機", "presets": { @@ -675,4 +678,4 @@ } } } -} \ No newline at end of file +} From 4bcf8dfb55c2b8148c99d5ebc78d8156e6d88658 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 12:53:44 +0000 Subject: [PATCH 10/27] Translated using Weblate (German) Currently translated at 100.0% (2861 of 2861 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 530 ++++++++++++++++++++++++++----------------- 1 file changed, 316 insertions(+), 214 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index e6bc1c6af..203fda25d 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,6 +35,16 @@ "1": { "title": "eine freistehende Posterbox" }, + "10": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "11": { + "title": "eine Skulptur" + }, + "12": { + "title": "eine Wandmalerei" + }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -61,16 +71,6 @@ }, "9": { "title": "ein Totem" - }, - "10": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "11": { - "title": "eine Skulptur" - }, - "12": { - "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -165,6 +165,9 @@ "1": { "then": "Dies ist ein Brett" }, + "10": { + "then": "Dies ist eine Wandmalerei" + }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -188,9 +191,6 @@ }, "9": { "then": "Dies ist ein Totem" - }, - "10": { - "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -205,6 +205,9 @@ "1": { "then": "Brett" }, + "10": { + "then": "Wandmalerei" + }, "2": { "then": "Posterbox" }, @@ -228,9 +231,6 @@ }, "9": { "then": "Totem" - }, - "10": { - "then": "Wandmalerei" } } } @@ -312,6 +312,15 @@ "1": { "then": "Wandbild" }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" + }, "2": { "then": "Malerei" }, @@ -335,15 +344,6 @@ }, "9": { "then": "Relief" - }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -670,7 +670,7 @@ "then": "Diese Bank hat kein integriertes Kunstwerk" } }, - "question": "Hat diese Bank ein künstlerisches Element? ", + "question": "Hat diese Bank ein künstlerisches Element?", "questionHint": "Z.B. hat es ein integriertes Gemälde, eine Statue oder eine andere nicht triviale, kreative Arbeit" }, "bench-backrest": { @@ -730,8 +730,8 @@ "then": "Diese Bank hat (wahrscheinlich) keine Inschrift" } }, - "question": "Hat diese Bank eine Inschrift? ", - "questionHint": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ... ", + "question": "Hat diese Bank eine Inschrift?", + "questionHint": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ...", "render": "Diese Bank hat folgende Inschrift:

{inscription}

" }, "bench-material": { @@ -1830,6 +1830,27 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" + }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -1853,27 +1874,6 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" - }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -1929,30 +1929,6 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" - }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -1983,6 +1959,9 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -2013,11 +1992,32 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -2115,6 +2115,9 @@ }, "4": { "then": "Die Station ist nicht für die Allgemeinheit zugänglich (z. B. nur für die Eigentümer, Mitarbeiter, …)" + }, + "5": { + "then": "Diese Ladestation ist zu gewissen Öffnungszeiten oder Bedingungen öffentlich zugänglich. Einschränkungen sind möglich, aber generelle Nutzung ist erlaubt." } }, "question": "Wer darf diese Ladestation benutzen?", @@ -2572,6 +2575,9 @@ "question": "Welche Leistung bietet ein einzelner Stecker vom Typ
Typ 2 mit Kabel (Mennekes)
?", "render": "
Typ 2 mit Kabel (Mennekes)
liefert maximal {socket:type2_cable:output}" }, + "questions-technical": { + "render": "

Technische Frage

Die nächsten Fragen sind sehr technisch. Du kannst diese auch überspringen.
{questions(technical)}" + }, "ref": { "question": "Welche Kennnummer hat die Ladestation?", "render": "Die Kennziffer ist {ref}" @@ -3549,6 +3555,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3572,15 +3587,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3629,6 +3635,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3652,15 +3667,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4006,7 +4012,7 @@ } }, "title": { - "render": "Arztpraxis {name}" + "render": "Zahnarztpraxis {name}" } }, "direction": { @@ -4593,30 +4599,6 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." - }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4647,6 +4629,9 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4661,6 +4646,27 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -4680,6 +4686,12 @@ "name": "OSM-Objekte mit FIXME-Tags", "tagRenderings": { "fixme": { + "mappings": { + "0": { + "then": "Dieses Problem wurde behoben" + } + }, + "question": "Was stimmt mit diesem Objekt nicht?", "render": "Fixme Text: {fixme}" }, "note": { @@ -4761,6 +4773,21 @@ "1": { "then": "Dies ist eine Pommesbude" }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" + }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -4784,21 +4811,6 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" - }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5077,6 +5089,9 @@ "Privacy notice": { "render": "Dies ist der Weg, den Sie seit dem Besuch dieser Webseite zurückgelegt haben. Keine Sorge - diese Daten sind nur für Sie sichtbar und für niemanden sonst. Ihre Standortdaten werden niemals an ein anderes Gerät gesendet." } + }, + "title": { + "render": "Deine zurückgelegte Strecke" } }, "hackerspace": { @@ -5541,9 +5556,27 @@ "mapRendering": { "0": { "label": { + "mappings": { + "0": { + "then": "Hinweis auf der Karte hinzufügen" + } + }, "render": "Hier klicken, um ein neues Element hinzuzufügen" } } + }, + "title": { + "mappings": { + "0": { + "then": "Objekt oder Hinweis auf der Karte hinzufügen" + }, + "1": { + "then": "Hinweis hinzufügen" + }, + "2": { + "then": "Objekt hinzufügen" + } + } } }, "map": { @@ -5942,6 +5975,19 @@ } } }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } + }, "2": { "options": { "0": { @@ -5997,19 +6043,6 @@ "question": "Nur offene Notizen anzeigen" } } - }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } } }, "name": "OpenStreetMap-Hinweise", @@ -6338,6 +6371,21 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, + "10": { + "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "14": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." + }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6361,21 +6409,6 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Motorräder reserviert ist." - }, - "10": { - "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "14": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -7002,30 +7035,6 @@ "1": { "question": "Recycling von Batterien" }, - "2": { - "question": "Recycling von Getränkekartons" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" - }, "10": { "question": "Recycling von Glas" }, @@ -7056,11 +7065,35 @@ "19": { "question": "Recycling von Restabfällen" }, + "2": { + "question": "Recycling von Getränkekartons" + }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" } } }, @@ -7128,30 +7161,6 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" - }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -7182,6 +7191,9 @@ "19": { "then": "Schuhe können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -7196,6 +7208,27 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -7780,6 +7813,12 @@ }, "question": "Hat die Treppe einen Handlauf?" }, + "multilevels": { + "override": { + "question": "Zwischen welchen Stockwerken befindet sich diese Treppe?", + "render": "Diese Treppe ist zwischen den Stockwerken {level}" + } + }, "ramp": { "mappings": { "0": { @@ -7906,6 +7945,12 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" + }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -7929,12 +7974,6 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" - }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -8193,6 +8232,18 @@ }, "render": "Dieser Fahrkartenentwerter ist Teil einer Zugangsbarriere vom Typ {barrier}" }, + "payment-options": { + "override": { + "mappings+": { + "0": { + "then": "Dieser Fahrkartenentwerter akzeptiert die OV-Chipkaart" + }, + "1": { + "then": "Dieser Ticketentwerter akzeptiert die OV-Chipkaart" + } + } + } + }, "validator-operator": { "freeform": { "placeholder": "Name des Betreibers" @@ -8410,6 +8461,11 @@ }, "name": "Toiletten in anderen Einrichtungen", "tagRenderings": { + "opening_hours": { + "override": { + "question": "Wann ist der Ort, an dem sich diese Toiletten befinden, geöffnet?" + } + }, "toilet-access": { "mappings": { "0": { @@ -8853,6 +8909,24 @@ } } }, + "inbox": { + "mappings": { + "0": { + "then": { + "special": { + "text": "Deinen Posteingang öffnen" + } + } + }, + "1": { + "then": { + "special": { + "text": "Du hast {_unreadMessages}
Öffne Deinen Posteingang" + } + } + } + } + }, "picture-license": { "mappings": { "0": { @@ -8870,6 +8944,13 @@ }, "question": "Unter welcher Lizenz möchten Sie Ihre Bilder veröffentlichen?" }, + "settings-link": { + "render": { + "special": { + "text": "Öffne Deine Einstellungen auf OpenStreetMap.org" + } + } + }, "show_debug": { "mappings": { "0": { @@ -8884,6 +8965,24 @@ }, "question": "Debug-Informationen zu den Benutzereinstellungen anzeigen?" }, + "show_tags": { + "mappings": { + "0": { + "then": "Tags nie anzeigen." + }, + "1": { + "then": "Tags anzeigen sobald ich {__userjourney_tagsVisibleAt} Changesets erstellt habe" + }, + "2": { + "then": "Tags anzeigen, die bei der Änderung hinzugefügt werden" + }, + "3": { + "then": "Tags anzeigen, die bei der Änderung hinzugefügt werden, und Tag-Tabelle bei jedem Objekt anzeigen" + } + }, + "question": "Rohe OpenStreetMap-Tags anzeigen?", + "questionHint": "Tags sind die Eigenschaften, die jedes Objekt hat. Das sind die technischen Daten, die in der Datenbank gespeichert werden. Du brauchst diese Informationen nicht, um mit MapComplete Änderungen zu machen, aber fortgeschrittenen Nutzer*innen kann es als Referenz dienen." + }, "translation-completeness": { "mappings": { "0": { @@ -8930,6 +9029,9 @@ } } } + }, + "title": { + "render": "Einstellungen" } }, "veterinary": { @@ -9250,4 +9352,4 @@ } } } -} \ No newline at end of file +} From 8794b2d307a1232d0e9c3497076d0d8a9aa1d40e Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 13:41:22 +0000 Subject: [PATCH 11/27] Translated using Weblate (English) Currently translated at 100.0% (501 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/en/ --- langs/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langs/en.json b/langs/en.json index fa8189a65..8b1be896f 100644 --- a/langs/en.json +++ b/langs/en.json @@ -60,7 +60,7 @@ "intro": "The user is greeted by a map with features. Upon selecting one, the information about that feature is shown.", "title": "What does the interface look like?" }, - "examples": "There are many thematic maps available of which a few are printed here.\n\nThere are many more thematic maps online: about healthcare, indoor navigation, wheelchair accessibility, waste facilities, public bookcases, pedestrian crossings with a rainbow-painting,... Discover them all on mapcomplete.osm.be", + "examples": "There are many thematic maps available of which a few are shown here.\n\nThere are many more thematic maps online: about healthcare, indoor navigation, wheelchair accessibility, waste facilities, public bookcases, pedestrian crossings with a rainbow-painting,... Discover them all on mapcomplete.osm.be", "fakeui": { "add_images": "Add images with a few clicks", "attributes": "Shows attributes in a friendly way", @@ -278,7 +278,7 @@ "answeredOneSkippedMultiple": "You answered one question and skipped {skipped} questions", "answeredOneSkippedOne": "You answered one and skipped one question", "done": "No more questions! Thank you!", - "reactivate": "Reactive skipped questions", + "reactivate": "Reactivate skipped questions", "skippedMultiple": "You skipped {skipped} questions", "skippedOne": "You skipped one question" }, From df6f08a59daa11351998e0336d77c051d4a03e36 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 13:57:46 +0000 Subject: [PATCH 12/27] Translated using Weblate (English) Currently translated at 100.0% (412 of 412 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/en/ --- langs/themes/en.json | 74 ++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/langs/themes/en.json b/langs/themes/en.json index 11c81c3a7..a0b02ebe9 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -803,12 +803,12 @@ "description": "This maps shows all the changes made with MapComplete", "layers": { "0": { - "description": "Shows all MapComplete changes", + "description": "Show all MapComplete changes", "filter": { "0": { "options": { "0": { - "question": "Themename contains {search}" + "question": "Theme name contains {search}" } } }, @@ -865,12 +865,12 @@ "name": "Changeset centers", "tagRenderings": { "contributor": { - "question": "What contributor did make this change?", + "question": "Which contributor made this change?", "render": "Change made by {user}" }, "host": { "question": "What host (website) was this change made with?", - "render": "Change with {host}" + "render": "Change made with {host}" }, "locale": { "question": "What locale (language) was this change made in?", @@ -902,7 +902,7 @@ } } }, - "shortDescription": "Shows changes made by MapComplete", + "shortDescription": "Show changes made with MapComplete", "title": "Changes made with MapComplete" }, "maproulette": { @@ -936,6 +936,33 @@ "onwheels": { "description": "On this map, publicly weelchair accessible places are shown and can be easily added", "layers": { + "19": { + "override": { + "=title": { + "render": "Statistics" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Add all the suggested tags" + } + } + } + } + } + }, "4": { "override": { "filter": { @@ -978,33 +1005,6 @@ "override": { "name": "Disabled parking spaces" } - }, - "19": { - "override": { - "=title": { - "render": "Statistics" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Add all the suggested tags" - } - } - } - } - } } }, "title": "OnWheels" @@ -1165,10 +1165,6 @@ "stations": { "description": "View, edit and add details to a train station", "layers": { - "3": { - "description": "Layer showing train stations", - "name": "Train Stations" - }, "16": { "description": "Displays showing the trains that will leave from this station", "name": "Departures boards", @@ -1200,6 +1196,10 @@ "title": { "render": "Departures board" } + }, + "3": { + "description": "Layer showing train stations", + "name": "Train Stations" } }, "title": "Train Stations" @@ -1291,4 +1291,4 @@ "shortDescription": "A map with waste baskets", "title": "Waste Basket" } -} \ No newline at end of file +} From 294faac5ca0610034bb8d8d7d37a91dc05c8c41c Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 13:25:29 +0000 Subject: [PATCH 13/27] Translated using Weblate (German) Currently translated at 100.0% (501 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ --- langs/de.json | 79 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/langs/de.json b/langs/de.json index 8d4c37227..7260baf90 100644 --- a/langs/de.json +++ b/langs/de.json @@ -3,7 +3,9 @@ "title": "Erweiterte Funktionen" }, "centerMessage": { + "allFilteredAway": "Kein Objekt im Kartenausschnitt erfüllt alle Filterkriterien", "loadingData": "Daten werden geladen…", + "noData": "Es gibt keine relevanten Objekte im aktuellen Kartenausschnitt", "ready": "Erledigt!", "retrying": "Laden von Daten fehlgeschlagen. Erneuter Versuch in {count} Sekunden…", "zoomIn": "Ausschnitt vergrößern, um Daten anzuzeigen oder zu bearbeiten" @@ -12,7 +14,7 @@ "available": "Diese Gemeinschaft spricht {native}", "intro": "Treten Sie mit anderen Menschen in Kontakt, um sie kennen zu lernen, von ihnen zu lernen, ...", "notAvailable": "Diese Gemeinschaft spricht nicht {native}", - "title": "Community index" + "title": "Index der Community" }, "delete": { "cancel": "Abbrechen", @@ -58,7 +60,7 @@ "intro": "Der Benutzer wird von einer Karte mit Objekten begrüßt. Wenn er eines auswählt, werden Informationen über das Objekt angezeigt.", "title": "Wie sieht die Benutzeroberfläche aus?" }, - "examples": "Es gibt viele thematische Karten, von denen hier einige abgedruckt sind.\n\nEs gibt noch viele weitere thematische Karten online: über das Gesundheitswesen, Indoor-Navigation, Zugänglichkeit für Rollstuhlfahrer, Abfallentsorgungsanlagen, öffentliche Bücherschränke, Fußgängerüberwege mit Regenbogenmalerei,... Entdecken Sie sie alle auf mapcomplete.osm.be", + "examples": "Es gibt viele thematische Karten, von denen hier einige dargestellt sind.\n\nEs gibt noch viele weitere thematische Karten online: über das Gesundheitswesen, Indoor-Navigation, Zugänglichkeit für Rollstuhlfahrer, Abfallentsorgungsanlagen, öffentliche Bücherschränke, Fußgängerüberwege mit Regenbogenmalerei,... Entdecken Sie sie alle auf mapcomplete.osm.be", "fakeui": { "add_images": "Bilder mit ein paar Klicks hinzufügen", "attributes": "Zeigt Attribute in einer freundlichen Art und Weise", @@ -91,12 +93,19 @@ }, "general": { "about": "OpenStreetMap für ein bestimmtes Thema einfach bearbeiten und hinzufügen", + "aboutMapComplete": { + "intro": "Nutze MapComplete, um Daten zu einem bestimmten Thema auf OpenStreetMap einzutragen. Beantworte Frage, und in wenigen Minuten sind die Beiträge überall verfügbar. In den meisten Themen kannst Du Bilder hinzufügen oder sogar eine Bewertung hinterlassen. Die Themen-Ersteller*innen definieren Objekte, Fragen und Begriffe für das jeweilige Thema." + }, "add": { "addNew": "{category} hinzufügen", "backToSelect": "Wählen Sie eine andere Kategorie", - "confirmButton": "Eine {category} hinzufügen.
Ihre Ergänzung ist für alle sichtbar
", + "confirmButton": "Eine {category}
hinzufügen. Ihre Ergänzung ist für alle sichtbar
", + "confirmLocation": "Diesen Standort bestätigen", + "confirmTitle": "{title} hinzufügen?", + "confirmWarning": "Das von Dir eingetragene Objekt wird für alle sichtbar sein. Bitte füge nur Objekte hinzu, die wirklich existieren. Viele Anwendungen nutzen diese Daten.", "disableFilters": "Alle Filter deaktivieren", "disableFiltersExplanation": "Einige Elemente können durch einen Filter ausgeblendet sein", + "enableLayer": "Ebene {name} einblenden", "hasBeenImported": "Dieses Objekt wurde bereits importiert", "import": { "hasBeenImported": "Das Objekt wurde importiert", @@ -108,7 +117,7 @@ "zoomInMore": "Ansicht vergrößern, um das Objekt zu importieren" }, "importTags": "Das Element erhält {tags}", - "intro": "An dieser Stelle sind noch keine Daten vorhanden.
", + "intro": "An dieser Stelle sind noch keine Daten vorhanden.
", "layerNotEnabled": "Die Ebene {layer} ist nicht eingeschaltet. Schalten Sie die Ebene ein, um ein Objekt hinzuzufügen", "openLayerControl": "Das Ebenen-Fenster öffnen", "pleaseLogin": "Bitte anmelden, um ein neues Objekt hinzuzufügen", @@ -125,6 +134,8 @@ "isApplied": "Änderungen werden übernommen" }, "attribution": { + "attributionBackgroundLayer": "Die aktuelle Hintergrundebene ist {name}", + "attributionBackgroundLayerWithCopyright": "Die aktuelle Hintergrundebene ist {name}: {copyright}", "attributionContent": "

Alle Daten werden bereitgestellt von OpenStreetMap, frei verwendbar unter der Open Database License.

", "attributionTitle": "Danke", "codeContributionsBy": "MapComplete wurde erstellt von {contributors} und {hiddenCount} weiteren Personen", @@ -140,25 +151,29 @@ "mapContributionsBy": "Die angezeigten Daten wurden bearbeitet durch {contributors}", "mapContributionsByAndHidden": "Die angezeigten Daten wurden bearbeitet von {contributors} und {hiddenCount} weiteren Beitragenden", "mapDataByOsm": "Kartendaten: OpenStreetMap", - "mapillaryHelp": "Mapillary ist ein Online-Dienst, der Straßenbilder sammelt und sie unter einer freien Lizenz anbietet. Mitwirkende dürfen diese Bilder verwenden, um OpenStreetMap zu verbessern", + "mapillaryHelp": "Mapillary ist ein Online-Dienst, der Straßenbilder sammelt und sie unter einer freien Lizenz anbietet. Mitwirkende dürfen diese Bilder verwenden, um OpenStreetMap zu verbessern", "openIssueTracker": "Fehler melden", "openMapillary": "Mapillary öffnen", "openOsmcha": "Letzte Bearbeitungen zum Thema {theme} ansehen", "themeBy": "Dieses Thema wurde erstellt von {author}", + "title": "Copyright und Urheberrechtsangabe", "translatedBy": "MapComplete wurde übersetzt von {contributors} und {hiddenCount} weiteren Personen" }, "back": "Zurück", "backToIndex": "Zurück zur Übersicht aller thematischen Karten", "backToMapcomplete": "Zurück zur Themenübersicht", - "backgroundMap": "Hintergrundkarte", + "backgroundMap": "Hintergrundkarte auswählen", + "backgroundSwitch": "Hintergrund wechseln", "cancel": "Abbrechen", "confirm": "Bestätigen", "customThemeIntro": "

Benutzerdefinierte Themen

Dies sind zuvor angesehene nutzergenerierte Themen.", "download": { "downloadAsPdf": "Aktuelle Karte als PDF herunterladen", "downloadAsPdfHelper": "Ideal zum Drucken der aktuellen Karte", + "downloadAsPng": "Als Bild herunterladen", + "downloadAsPngHelper": "Am besten geeignet, um in Berichten zu verwenden", "downloadAsSvg": "Aktuelle Karte als SVG herunterladen", - "downloadAsSvgHelper": "Kompatibel mit Inkscape oder Adobe Illustrator; Weiterbearbeitung erforderlich ", + "downloadAsSvgHelper": "Kompatibel mit Inkscape oder Adobe Illustrator; Weiterbearbeitung erforderlich", "downloadCSV": "Sichtbare Daten als CSV herunterladen", "downloadCSVHelper": "Kompatibel mit LibreOffice Calc, Excel, …", "downloadFeatureAsGeojson": "GeoJSON Datei herunterladen", @@ -171,7 +186,11 @@ "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
  • die Namensnennung © OpenStreetMap contributors ist darzustellen
  • Jede Änderung muss unter der gleichen Lizenz veröffentlicht werden
Bitte lesen Sie den vollständigen Copyright-Hinweis für weitere Details.", "noDataLoaded": "Noch keine Daten geladen. Download in Kürze verfügbar", - "title": "Sichtbare Daten herunterladen", + "pdf": { + "current_view_a3": "PDF (A3, Hochformat) der aktuellen Ansicht exportieren", + "current_view_a4": "PDF (A4, Querformat) der aktuellen Ansicht exportieren" + }, + "title": "Download", "uploadGpx": "Einen Track auf OpenStreetMap hochladen" }, "error": "Etwas ist schief gelaufen", @@ -202,10 +221,14 @@ "loginToStart": "Anmelden, um diese Frage zu beantworten", "loginWithOpenStreetMap": "Bei OpenStreetMap anmelden", "logout": "Abmelden", + "menu": { + "aboutMapComplete": "Über MapComplete", + "filter": "Daten filtern" + }, "morescreen": { "createYourOwnTheme": "Ein eigenes MapComplete-Thema von Grund auf neu erstellen", "hiddenExplanation": "Diese Themen sind nur für Personen zugänglich, die einen Link erhalten haben. Sie haben {hidden_discovered} von {total_hidden} versteckten Themen entdeckt.", - "intro": "

Mehr thematische Karten?

Sammeln Sie gerne Geodaten?
Es sind weitere Themen verfügbar.", + "intro": "

Mehr thematische Karten?

Sammeln Sie gerne Geodaten?
Es sind weitere Themen verfügbar.", "noMatchingThemes": "Keine Themen, die Ihren Suchkriterien entsprechen", "noSearch": "Alle Themen anzeigen", "previouslyHiddenTitle": "Zuvor besuchte versteckte Themen", @@ -222,6 +245,7 @@ "number": "Zahl", "openStreetMapIntro": "

Eine offene Karte

Eine Karte, die jeder frei nutzen und bearbeiten kann. Ein einziger Ort, um alle Geoinformationen zu speichern. Unterschiedliche, kleine, inkompatible und veraltete Karten werden nirgendwo gebraucht.

OpenStreetMap ist nicht die feindliche Karte. Die Kartendaten können frei verwendet werden (mit Benennung und Veröffentlichung von Änderungen an diesen Daten). Jeder kann neue Daten hinzufügen und Fehler korrigieren. Diese Webseite nutzt OpenStreetMap. Alle Daten stammen von dort, und Ihre Antworten und Korrekturen werden überall verwendet.

Viele Menschen und Anwendungen nutzen bereits OpenStreetMap: Organic Maps, OsmAnd; auch die Kartendaten von Facebook, Instagram, Apple-maps und Bing-maps stammen (teilweise) von OpenStreetMap.

", "openTheMap": "Karte öffnen", + "openTheMapAtGeolocation": "Zum eigenen Standort zoomen", "opening_hours": { "closed_permanently": "Geschlossen auf unbestimmte Zeit", "closed_until": "Geschlossen bis {date}", @@ -246,10 +270,22 @@ }, "pickLanguage": "Sprache auswählen: ", "poweredByOsm": "Unterstützt von OpenStreetMap", + "questionBox": { + "answeredMultiple": "Du hast {answered} Fragen beantwortet", + "answeredMultipleSkippedMultiple": "Du hast {answered} Fragen beantwortet und {skipped} Fragen übersprungen", + "answeredMultipleSkippedOne": "Du hast {answered} Fragen beantwortet und eine Frage übersprungen", + "answeredOne": "Du hast eine Frage beantwortet", + "answeredOneSkippedMultiple": "Du hast eine Frage beantwortet und {skipped} Fragen übersprungen", + "answeredOneSkippedOne": "Du hast eine Frage beantwortet und eine Frage übersprungen", + "done": "Keine weiteren Fragen! Danke Dir!", + "reactivate": "Übersprungene Fragen reaktivieren", + "skippedMultiple": "Du hast {skipped} Fragen übersprungen", + "skippedOne": "Du hast eine Frage übersprungen" + }, "questions": { "emailIs": "Die E-Mail-Adresse dieser {category} lautet {email}", "emailOf": "Wie lautet die E-Mail-Adresse der {category}?", - "phoneNumberIs": "Die Telefonnummer der {category} lautet {phone}", + "phoneNumberIs": "Die Telefonnummer dieser {category} lautet {phone}", "phoneNumberOf": "Wie lautet die Telefonnummer der {category}?", "websiteIs": "Webseite: {website}", "websiteOf": "Wie lautet die Webseite der {category}?" @@ -263,6 +299,7 @@ "error": "Etwas ist schief gelaufen…", "nothing": "Nichts gefunden…", "search": "Ortssuche", + "searchShort": "Suche…", "searching": "Suchen …" }, "sharescreen": { @@ -272,7 +309,7 @@ "downloadCustomThemeHelp": "Ein erfahrener Mitwirkender kann diese Datei verwenden, um Ihr Thema zu verbessern", "editThemeDescription": "Fragen zu diesem Thema hinzufügen oder ändern", "editThisTheme": "Dieses Thema bearbeiten", - "embedIntro": "

Karte in Webseiten einbetten

Betten Sie diese Karte in Ihre Webseite ein. Die Karte ist kostenlos und wird es immer sein. Je mehr Leute sie benutzen, desto wertvoller wird sie.", + "embedIntro": "

Karte in Webseiten einbetten

Betten Sie diese Karte in Ihre Webseite ein.
Wir ermutigen Sie gern dazu - Sie müssen nicht mal um Erlaubnis fragen.
Die Karte ist kostenlos und wird es immer sein. Je mehr Leute die Karte benutzen, desto wertvoller wird sie.", "fsAddNew": "Schaltfläche 'neuen POI hinzufügen' aktivieren", "fsGeolocation": "Schaltfläche 'Mich geolokalisieren' aktivieren (nur mobil)", "fsIncludeCurrentBackgroundMap": "Aktuellen Hintergrund übernehmen ({name})", @@ -284,7 +321,8 @@ "fsUserbadge": "Anmeldefeld aktivieren", "fsWelcomeMessage": "Begrüßung und Registerkarten anzeigen", "intro": "

Karte teilen

Mit dem folgenden Link können Sie diese Karte mit Freunden und Familie teilen:", - "thanksForSharing": "Danke für das Teilen!" + "thanksForSharing": "Danke für das Teilen!", + "title": "Diese Karte teilen" }, "skip": "Frage überspringen", "testing": "Testen - Änderungen werden nicht gespeichert", @@ -341,6 +379,7 @@ "general": "Auf dieser Karte können Sie themenspezifische Kartenobjekte ansehen, bearbeiten und hinzufügen. Verschieben Sie den Kartenausschnitt, um Objekte zu entdecken, tippen Sie auf eines, um weitere Informationen zu sehen oder zu bearbeiten. Alle Daten stammen von OpenStreetMap und dürfen frei verwendet werden." }, "wikipedia": { + "addEntry": "Eine weitere Wikipedia-Seite hinzufügen", "createNewWikidata": "Einen neues Wikidata Element erstellen", "doSearch": "Suche oben, um Ergebnisse zu sehen", "failed": "Laden des Wikipedia-Eintrags fehlgeschlagen", @@ -363,8 +402,11 @@ "geolocate": "Verschieben Sie die Karte auf den aktuellen Standort oder zoomen Sie die Karte auf den aktuellen Standort. Beantragt Standortberechtigung", "intro": "MapComplete unterstützt folgende Tastaturbefehle:", "key": "Tastenkombination", - "openLayersPanel": "Öffnet das Bedienfeld Hintergrund, Ebenen und Filter", - "selectMapnik": "Setzt die Hintergrundebene auf OpenStreetMap-carto", + "openLayersPanel": "Öffnet das Menü für Ebenen und Filter", + "selectAerial": "Hintergrund als Luftbild oder Satellitenbild einstellen. Wechselt zwischen den zwei besten verfügbaren Ebenen", + "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)", "selectSearch": "Suchleiste auswählen, um nach Orten zu suchen", "title": "Tastaturbefehle" }, @@ -512,7 +554,7 @@ "reviews": { "affiliated_reviewer_warning": "(Partner-Rezension)", "attribution": "Rezensionen werden bereitgestellt von Mangrove Reviews und sind unter CC-BY 4.0 verfügbar.", - "i_am_affiliated": "Ich bin mit diem Objekt vertraut
Auswählen, wenn Sie Eigentümer, Ersteller, Angestellter … sind", + "i_am_affiliated": "Ich bin an diesem Objekt beteiligt
Auswählen, wenn Sie Eigentümer, Ersteller, Angestellter … sind", "name_required": "Der Name des Objekts ist erforderlich, um Bewertungen zu erstellen und anzuzeigen", "no_rating": "Vor dem Absenden eine Bewertung abgeben…", "no_reviews_yet": "Es gibt noch keine Bewertungen. Hilf mit der ersten Bewertung dem Geschäft und der Open Data Bewegung!", @@ -542,10 +584,12 @@ "notImmediate": "Die Übersetzung wird nicht direkt aktualisiert. Dies dauert in der Regel ein paar Tage" }, "userinfo": { + "editDescription": "Eigene Profilbeschreibung bearbeiten", "gotoInbox": "Posteingang öffnen", "gotoSettings": "Einstellungen auf OpenStreetMap.org öffnen", "noDescription": "Sie haben noch keine Profilbeschreibung", - "noDescriptionCallToAction": "Profilbeschreibung hinzufügen" + "noDescriptionCallToAction": "Profilbeschreibung hinzufügen", + "notLoggedIn": "Du hast Dich abgemeldet" }, "validation": { "color": { @@ -586,7 +630,8 @@ }, "phone": { "description": "eine Telefonnummer", - "feedback": "Dies ist keine gültige Telefonnummer" + "feedback": "Dies ist keine gültige Telefonnummer", + "feedbackCountry": "Dies ist keine gültige Telefonnummer (in {country})" }, "pnat": { "description": "eine positive, ganze Zahl", From 2f8e9b7198c052e92c39c1248d09d83f79b269b1 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 13:47:48 +0000 Subject: [PATCH 14/27] Translated using Weblate (German) Currently translated at 98.5% (406 of 412 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/de/ --- langs/themes/de.json | 185 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 153 insertions(+), 32 deletions(-) diff --git a/langs/themes/de.json b/langs/themes/de.json index b7bbd382f..e270e7a50 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -14,6 +14,21 @@ }, "atm": { "description": "Diese Karte zeigt Geldautomaten zum Abheben oder Einzahlen von Geld", + "layers": { + "3": { + "override": { + "=tagRenderings": { + "0": { + "render": { + "special": { + "text": "Diesen Geldautomaten importieren" + } + } + } + } + } + } + }, "title": "Geldautomaten" }, "bag": { @@ -698,6 +713,9 @@ "tagRenderings": { "building type": { "question": "Was ist das für ein Gebäude?" + }, + "grb-reference": { + "render": "Wurde von GRB importiert, Referenznummer ist {source:geometry:ref}" } } }, @@ -771,6 +789,109 @@ "description": "Eine Karte mit Bordsteinen und Überwegen.", "title": "Bordsteine und Überwege" }, + "mapcomplete-changes": { + "description": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", + "layers": { + "0": { + "description": "Alle MapComplete-Änderungen anzeigen", + "filter": { + "0": { + "options": { + "0": { + "question": "Themenname enthält {search}" + } + } + }, + "1": { + "options": { + "0": { + "question": "Erstellt von {search}" + } + } + }, + "2": { + "options": { + "0": { + "question": "Nicht erstellt von {search}" + } + } + }, + "3": { + "options": { + "0": { + "question": "Erstellt vor {search}" + } + } + }, + "4": { + "options": { + "0": { + "question": "Erstellt nach {search}" + } + } + }, + "5": { + "options": { + "0": { + "question": "Benutzersprache (ISO-Code) {search}" + } + } + }, + "6": { + "options": { + "0": { + "question": "Erstellt mit Host {search}" + } + } + }, + "7": { + "options": { + "0": { + "question": "Changeset fügte mindestens ein Bild hinzu" + } + } + } + }, + "name": "Zentrum der Änderungssätze", + "tagRenderings": { + "contributor": { + "render": "Änderung gemacht von {user}" + }, + "host": { + "question": "Mit welchem Host / welcher Website wurde diese Änderung gemacht?", + "render": "Änderung vorgenommen mit {host}" + }, + "locale": { + "render": "Usersprache ist {locale}" + }, + "show_changeset_id": { + "render": "Änderungssatz {id}" + }, + "theme-id": { + "question": "Welches Thema wurde für diese Änderung verwendet?\"", + "render": "Geändert mit Thema {theme}" + }, + "version": { + "question": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?" + } + }, + "title": { + "render": "Änderungssatz für {theme}" + } + }, + "1": { + "override": { + "tagRenderings+": { + "0": { + "render": "Mehr Statistiken gibt es hier" + } + } + } + } + }, + "shortDescription": "Mit MapComplete erstellte Änderungen anzeigen", + "title": "Mit MapComplete erstellte Änderungen" + }, "maproulette": { "description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.", "title": "MapRoulette-Aufgaben" @@ -802,6 +923,33 @@ "onwheels": { "description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen", "layers": { + "19": { + "override": { + "=title": { + "render": "Statistik" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Alle vorgeschlagenen Tags hinzufügen" + } + } + } + } + } + }, "4": { "override": { "filter": { @@ -844,33 +992,6 @@ "override": { "name": "Barrierefreie Parkplätze" } - }, - "19": { - "override": { - "=title": { - "render": "Statistik" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Alle vorgeschlagenen Tags hinzufügen" - } - } - } - } - } } }, "title": "Auf Rädern" @@ -1031,10 +1152,6 @@ "stations": { "description": "Bahnhofsdetails ansehen, bearbeiten und hinzufügen", "layers": { - "3": { - "description": "Ebene mit Bahnhöfen", - "name": "Bahnhöfe" - }, "16": { "description": "Anzeigen der Züge, die von diesem Bahnhof abfahren", "name": "Abfahrtstafeln", @@ -1066,6 +1183,10 @@ "title": { "render": "Abfahrtstafel" } + }, + "3": { + "description": "Ebene mit Bahnhöfen", + "name": "Bahnhöfe" } }, "title": "Bahnhöfe" @@ -1157,4 +1278,4 @@ "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" } -} \ No newline at end of file +} From 5a8473e0916abf4d14a0bb796003b58920977484 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 13:42:40 +0000 Subject: [PATCH 15/27] Translated using Weblate (German) Currently translated at 100.0% (91 of 91 strings) Translation: MapComplete/shared-questions Translate-URL: https://hosted.weblate.org/projects/mapcomplete/shared-questions/de/ --- langs/shared-questions/de.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/langs/shared-questions/de.json b/langs/shared-questions/de.json index 7f6b17526..ef0983431 100644 --- a/langs/shared-questions/de.json +++ b/langs/shared-questions/de.json @@ -57,7 +57,7 @@ }, "description": { "question": "Gibt es noch etwas, das die vorhergehenden Fragen nicht abgedeckt haben? Hier wäre Platz dafür.", - "questionHint": "Bitte keine bereits erhobenen Informationen." + "questionHint": "Bitte keine bereits erhobenen Informationen wiederholen" }, "dog-access": { "mappings": { @@ -141,7 +141,7 @@ "last_edit": { "render": { "special": { - "text": "Zuletzt bearbeitet am {_last_edit:timestamp} vom {_last_edit:contributor}" + "text": "Zuletzt bearbeitet am {_last_edit:timestamp} von {_last_edit:contributor}" } } }, @@ -324,4 +324,4 @@ "question": "Wie lautet das zugehörige Wikidata Element?" } } -} \ No newline at end of file +} From e25a91889a3c6bc93accb4a888b7a5dd0340e40e Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 14:49:06 +0000 Subject: [PATCH 16/27] Translated using Weblate (English) Currently translated at 100.0% (2861 of 2861 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/en/ --- langs/layers/en.json | 426 +++++++++++++++++++++---------------------- 1 file changed, 213 insertions(+), 213 deletions(-) diff --git a/langs/layers/en.json b/langs/layers/en.json index 0a0dfe6b4..d82a0280c 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -35,6 +35,16 @@ "1": { "title": "a freestanding poster box" }, + "10": { + "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", + "title": "a sign" + }, + "11": { + "title": "a sculpture" + }, + "12": { + "title": "a wall painting" + }, "2": { "title": "a poster box mounted on a wall" }, @@ -61,16 +71,6 @@ }, "9": { "title": "a totem" - }, - "10": { - "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", - "title": "a sign" - }, - "11": { - "title": "a sculpture" - }, - "12": { - "title": "a wall painting" } }, "tagRenderings": { @@ -129,7 +129,7 @@ "then": "Electoral advertising" }, "4": { - "then": "Inormation related to theatre, concerts, ..." + "then": "Information related to theatre, concerts, …" }, "5": { "then": "Message from non-profit organizations" @@ -165,6 +165,9 @@ "1": { "then": "This is a board" }, + "10": { + "then": "This is a wall painting" + }, "2": { "then": "This is a column" }, @@ -188,9 +191,6 @@ }, "9": { "then": "This is a totem" - }, - "10": { - "then": "This is a wall painting" } }, "question": "Which type of advertising feature is this?", @@ -205,6 +205,9 @@ "1": { "then": "Board" }, + "10": { + "then": "Wall painting" + }, "2": { "then": "Poster Box" }, @@ -228,9 +231,6 @@ }, "9": { "then": "Totem" - }, - "10": { - "then": "Wall painting" } } } @@ -312,6 +312,15 @@ "1": { "then": "Mural" }, + "10": { + "then": "Azulejo (Spanish decorative tilework)" + }, + "11": { + "then": "Tilework" + }, + "12": { + "then": "Woodcarving" + }, "2": { "then": "Painting" }, @@ -335,15 +344,6 @@ }, "9": { "then": "Relief" - }, - "10": { - "then": "Azulejo (Spanish decorative tilework)" - }, - "11": { - "then": "Tilework" - }, - "12": { - "then": "Woodcarving" } }, "question": "What is the type of this artwork?", @@ -731,7 +731,7 @@ } }, "question": "Does this bench have an inscription?", - "questionHint": "E.g. on a mounted plaque, in the backrest, ...", + "questionHint": "E.g. on a mounted plaque, in the backrest, …", "render": "This bench does have the following inscription:

{inscription}

" }, "bench-material": { @@ -1109,7 +1109,7 @@ "then": "This cleaning service is free to use" }, "1": { - "then": "This cleaning service is paid" + "then": "There is a fee to use this cleaning service" } }, "question": "How much does it cost to use the cleaning service?", @@ -1830,6 +1830,27 @@ "1": { "question": "Has a
Schuko wall plug without ground pin (CEE7/4 type F)
connector" }, + "10": { + "question": "Has a
Type 2 with cable (mennekes)
connector" + }, + "11": { + "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" + }, + "12": { + "question": "Has a
Tesla Supercharger (destination)
connector" + }, + "13": { + "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" + }, + "14": { + "question": "Has a
USB to charge phones and small electronics
connector" + }, + "15": { + "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" + }, + "16": { + "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" + }, "2": { "question": "Has a
European wall plug with ground pin (CEE7/4 type E)
connector" }, @@ -1853,27 +1874,6 @@ }, "9": { "question": "Has a
Type 2 CCS (mennekes)
connector" - }, - "10": { - "question": "Has a
Type 2 with cable (mennekes)
connector" - }, - "11": { - "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" - }, - "12": { - "question": "Has a
Tesla Supercharger (destination)
connector" - }, - "13": { - "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" - }, - "14": { - "question": "Has a
USB to charge phones and small electronics
connector" - }, - "15": { - "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" - }, - "16": { - "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" } } } @@ -1929,30 +1929,6 @@ "1": { "then": "Schuko wall plug without ground pin (CEE7/4 type F)" }, - "2": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, - "3": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, - "4": { - "then": "Chademo" - }, - "5": { - "then": "Chademo" - }, - "6": { - "then": "Type 1 with cable (J1772)" - }, - "7": { - "then": "Type 1 with cable (J1772)" - }, - "8": { - "then": "Type 1 without cable (J1772)" - }, - "9": { - "then": "Type 1 without cable (J1772)" - }, "10": { "then": "Type 1 CCS (aka Type 1 Combo)" }, @@ -1983,6 +1959,9 @@ "19": { "then": "Type 2 with cable (mennekes)" }, + "2": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, "20": { "then": "Tesla Supercharger CCS (a branded type2_css)" }, @@ -2013,11 +1992,32 @@ "29": { "then": "Bosch Active Connect with 3 pins and cable" }, + "3": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, "30": { "then": "Bosch Active Connect with 5 pins and cable" }, "31": { "then": "Bosch Active Connect with 5 pins and cable" + }, + "4": { + "then": "Chademo" + }, + "5": { + "then": "Chademo" + }, + "6": { + "then": "Type 1 with cable (J1772)" + }, + "7": { + "then": "Type 1 with cable (J1772)" + }, + "8": { + "then": "Type 1 without cable (J1772)" + }, + "9": { + "then": "Type 1 without cable (J1772)" } }, "question": "Which charging connections are available here?" @@ -3555,6 +3555,15 @@ "1": { "then": "This cycleway is paved" }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" + }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3578,15 +3587,6 @@ }, "9": { "then": "This cycleway is made of gravel" - }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the cycleway made from?", @@ -3635,6 +3635,15 @@ "1": { "then": "This cycleway is paved" }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" + }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3658,15 +3667,6 @@ }, "9": { "then": "This cycleway is made of gravel" - }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the street made from?", @@ -4599,30 +4599,6 @@ "1": { "then": "This fitness station has a sign with instructions for a specific exercise." }, - "2": { - "then": "This fitness station has a facility for sit-ups." - }, - "3": { - "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." - }, - "4": { - "then": "This fitness station has bars for stretching." - }, - "5": { - "then": "This fitness station has a station for making hyperextensions." - }, - "6": { - "then": "This fitness station has rings for gymnastic exercises." - }, - "7": { - "then": "This fitness station has a horizontal ladder, also known as monkey bars." - }, - "8": { - "then": "This fitness station has wall bars to climb on." - }, - "9": { - "then": "This fitness station has posts for performing slalom exercises." - }, "10": { "then": "This fitness station has stepping stones." }, @@ -4653,6 +4629,9 @@ "19": { "then": "This fitness station has battling ropes." }, + "2": { + "then": "This fitness station has a facility for sit-ups." + }, "20": { "then": "This fitness station has a stationary bicycle." }, @@ -4667,6 +4646,27 @@ }, "24": { "then": "This fitness station has a slackline." + }, + "3": { + "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." + }, + "4": { + "then": "This fitness station has bars for stretching." + }, + "5": { + "then": "This fitness station has a station for making hyperextensions." + }, + "6": { + "then": "This fitness station has rings for gymnastic exercises." + }, + "7": { + "then": "This fitness station has a horizontal ladder, also known as monkey bars." + }, + "8": { + "then": "This fitness station has wall bars to climb on." + }, + "9": { + "then": "This fitness station has posts for performing slalom exercises." } }, "question": "What kind of equipment does this fitness station have?" @@ -4773,6 +4773,21 @@ "1": { "then": "This is a friture" }, + "10": { + "then": "Chinese dishes are served here" + }, + "11": { + "then": "Greek dishes are served here" + }, + "12": { + "then": "Indian dishes are served here" + }, + "13": { + "then": "Turkish dishes are served here" + }, + "14": { + "then": "Thai dishes are served here" + }, "2": { "then": "Mainly serves pasta" }, @@ -4796,21 +4811,6 @@ }, "9": { "then": "French dishes are served here" - }, - "10": { - "then": "Chinese dishes are served here" - }, - "11": { - "then": "Greek dishes are served here" - }, - "12": { - "then": "Indian dishes are served here" - }, - "13": { - "then": "Turkish dishes are served here" - }, - "14": { - "then": "Thai dishes are served here" } }, "question": "Which food is served here?", @@ -5975,6 +5975,19 @@ } } }, + "10": { + "options": { + "0": { + "question": "All Notes" + }, + "1": { + "question": "Hide import notes" + }, + "2": { + "question": "Show only import Notes" + } + } + }, "2": { "options": { "0": { @@ -6030,19 +6043,6 @@ "question": "Only show open notes" } } - }, - "10": { - "options": { - "0": { - "question": "All Notes" - }, - "1": { - "question": "Hide import notes" - }, - "2": { - "question": "Show only import Notes" - } - } } }, "name": "OpenStreetMap notes", @@ -6371,6 +6371,21 @@ "1": { "then": "This is a normal parking space." }, + "10": { + "then": "This is a parking space reserved for parents with children." + }, + "11": { + "then": "This is a parking space reserved for staff." + }, + "12": { + "then": "This is a parking space reserved for taxis." + }, + "13": { + "then": "This is a parking space reserved for vehicles towing a trailer." + }, + "14": { + "then": "This is a parking space reserved for car sharing." + }, "2": { "then": "This is a disabled parking space." }, @@ -6394,21 +6409,6 @@ }, "9": { "then": "This is parking space reserved for motorcycles." - }, - "10": { - "then": "This is a parking space reserved for parents with children." - }, - "11": { - "then": "This is a parking space reserved for staff." - }, - "12": { - "then": "This is a parking space reserved for taxis." - }, - "13": { - "then": "This is a parking space reserved for vehicles towing a trailer." - }, - "14": { - "then": "This is a parking space reserved for car sharing." } }, "question": "What kind of parking space is this?" @@ -7035,30 +7035,6 @@ "1": { "question": "Recycling of batteries" }, - "2": { - "question": "Recycling of beverage cartons" - }, - "3": { - "question": "Recycling of cans" - }, - "4": { - "question": "Recycling of clothes" - }, - "5": { - "question": "Recycling of cooking oil" - }, - "6": { - "question": "Recycling of engine oil" - }, - "7": { - "question": "Recycling of fluorescent tubes" - }, - "8": { - "question": "Recycling of green waste" - }, - "9": { - "question": "Recycling of glass bottles" - }, "10": { "question": "Recycling of glass" }, @@ -7089,11 +7065,35 @@ "19": { "question": "Recycling of residual waste" }, + "2": { + "question": "Recycling of beverage cartons" + }, "20": { "question": "Recycling of printer cartridges" }, "21": { "question": "Recycling of bicycles" + }, + "3": { + "question": "Recycling of cans" + }, + "4": { + "question": "Recycling of clothes" + }, + "5": { + "question": "Recycling of cooking oil" + }, + "6": { + "question": "Recycling of engine oil" + }, + "7": { + "question": "Recycling of fluorescent tubes" + }, + "8": { + "question": "Recycling of green waste" + }, + "9": { + "question": "Recycling of glass bottles" } } }, @@ -7161,30 +7161,6 @@ "1": { "then": "Beverage cartons can be recycled here" }, - "2": { - "then": "Cans can be recycled here" - }, - "3": { - "then": "Clothes can be recycled here" - }, - "4": { - "then": "Cooking oil can be recycled here" - }, - "5": { - "then": "Engine oil can be recycled here" - }, - "6": { - "then": "Fluorescent tubes can be recycled here" - }, - "7": { - "then": "Green waste can be recycled here" - }, - "8": { - "then": "Organic waste can be recycled here" - }, - "9": { - "then": "Glass bottles can be recycled here" - }, "10": { "then": "Glass can be recycled here" }, @@ -7215,6 +7191,9 @@ "19": { "then": "Shoes can be recycled here" }, + "2": { + "then": "Cans can be recycled here" + }, "20": { "then": "Small electrical appliances can be recycled here" }, @@ -7229,6 +7208,27 @@ }, "24": { "then": "Bicycles can be recycled here" + }, + "3": { + "then": "Clothes can be recycled here" + }, + "4": { + "then": "Cooking oil can be recycled here" + }, + "5": { + "then": "Engine oil can be recycled here" + }, + "6": { + "then": "Fluorescent tubes can be recycled here" + }, + "7": { + "then": "Green waste can be recycled here" + }, + "8": { + "then": "Organic waste can be recycled here" + }, + "9": { + "then": "Glass bottles can be recycled here" } }, "question": "What can be recycled here?" @@ -7945,6 +7945,12 @@ "1": { "then": "This lamp uses LEDs" }, + "10": { + "then": "This lamp uses high pressure sodium lamps (orange with white)" + }, + "11": { + "then": "This lamp is lit using gas" + }, "2": { "then": "This lamp uses incandescent lighting" }, @@ -7968,12 +7974,6 @@ }, "9": { "then": "This lamp uses low pressure sodium lamps (monochrome orange)" - }, - "10": { - "then": "This lamp uses high pressure sodium lamps (orange with white)" - }, - "11": { - "then": "This lamp is lit using gas" } }, "question": "What kind of lighting does this lamp use?" @@ -9352,4 +9352,4 @@ } } } -} \ No newline at end of file +} From 1f0c831308ac8aa22a87a3c4ab7a4260efafb7a7 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 14:42:36 +0000 Subject: [PATCH 17/27] Translated using Weblate (English) Currently translated at 100.0% (501 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/en/ --- langs/en.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/langs/en.json b/langs/en.json index 8b1be896f..b3107da8c 100644 --- a/langs/en.json +++ b/langs/en.json @@ -12,7 +12,7 @@ }, "communityIndex": { "available": "This community speaks {native}", - "intro": "Get in touch with other people to get to know them, learn from them, ...", + "intro": "Get in touch with other people to get to know them, learn from them, …", "notAvailable": "This community does not speak {native}", "title": "Community index" }, @@ -60,13 +60,13 @@ "intro": "The user is greeted by a map with features. Upon selecting one, the information about that feature is shown.", "title": "What does the interface look like?" }, - "examples": "There are many thematic maps available of which a few are shown here.\n\nThere are many more thematic maps online: about healthcare, indoor navigation, wheelchair accessibility, waste facilities, public bookcases, pedestrian crossings with a rainbow-painting,... Discover them all on mapcomplete.osm.be", + "examples": "There are many thematic maps available of which a few are shown here.\n\nThere are many more thematic maps online: about healthcare, indoor navigation, wheelchair accessibility, waste facilities, public bookcases, pedestrian crossings with a rainbow-painting,… Discover them all on mapcomplete.osm.be", "fakeui": { "add_images": "Add images with a few clicks", "attributes": "Shows attributes in a friendly way", "edit": "Wrong or outdated info? The edit button is right there.", "question": "If an attribute is not yet known, MapComplete shows a question", - "see_images": "Shows images from previous contributors, Wikipedia, Mapillary, ... ", + "see_images": "Shows images from previous contributors, Wikipedia, Mapillary, …", "wikipedia": "Linked Wikipedia articles are shown" }, "frontParagraph": "MapComplete is an easy to use web application to collect geodata in OpenStreetMap, enabling collecting and managing relevant data in an open, crowdsourced and reusable way.\n\nNew categories and attributes can be added upon request.", @@ -498,7 +498,7 @@ "createNote": "Create a new note", "createNoteIntro": "Is something wrong or missing on the map? Create a note here. These will be checked by volunteers.", "createNoteTitle": "Create a new note here", - "creating": "Creating note...", + "creating": "Creating note…", "disableAllNoteFilters": "Disable all filters", "isClosed": "This note is resolved", "isCreated": "Your note has been created!", From a7efdc3c72a1d0aca1df8214c6d424a734c6f3a9 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 14:46:37 +0000 Subject: [PATCH 18/27] Translated using Weblate (English) Currently translated at 100.0% (91 of 91 strings) Translation: MapComplete/shared-questions Translate-URL: https://hosted.weblate.org/projects/mapcomplete/shared-questions/en/ --- langs/shared-questions/en.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/langs/shared-questions/en.json b/langs/shared-questions/en.json index 631841198..9aa110d81 100644 --- a/langs/shared-questions/en.json +++ b/langs/shared-questions/en.json @@ -56,8 +56,8 @@ "question": "what notes can you use to pay here?" }, "description": { - "question": "Is there still something relevant you couldn't give in the previous questions? Add it here.", - "questionHint": "Don't repeat already stated facts" + "question": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.", + "questionHint": "Please don't repeat already stated facts" }, "dog-access": { "mappings": { @@ -324,4 +324,4 @@ "question": "What is the corresponding Wikidata entity?" } } -} \ No newline at end of file +} From cd6dcf76c4624667731ae631406456c9bc7eb3a2 Mon Sep 17 00:00:00 2001 From: brunnerpaul Date: Tue, 27 Jun 2023 14:37:43 +0000 Subject: [PATCH 19/27] Translated using Weblate (German) Currently translated at 99.2% (497 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ --- langs/de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langs/de.json b/langs/de.json index 7260baf90..d92da312c 100644 --- a/langs/de.json +++ b/langs/de.json @@ -490,7 +490,7 @@ }, "notes": { "addAComment": "Einen Kommentar hinzufügen", - "addComment": "Einen Kommentar hinzufügen", + "addComment": "Kommentar hinzufügen", "addCommentAndClose": "Einen Kommentar hinzufügen und schließen", "addCommentPlaceholder": "Einen Kommentar hinzufügen…", "anonymous": "Anonymer Benutzer", @@ -585,7 +585,7 @@ }, "userinfo": { "editDescription": "Eigene Profilbeschreibung bearbeiten", - "gotoInbox": "Posteingang öffnen", + "gotoInbox": "Deinen Posteingang öffnen", "gotoSettings": "Einstellungen auf OpenStreetMap.org öffnen", "noDescription": "Sie haben noch keine Profilbeschreibung", "noDescriptionCallToAction": "Profilbeschreibung hinzufügen", From 963e54eba610d99cb1b367edb751e339253fa12c Mon Sep 17 00:00:00 2001 From: mcliquid Date: Tue, 27 Jun 2023 19:14:58 +0000 Subject: [PATCH 20/27] Translated using Weblate (German) Currently translated at 99.8% (500 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ --- langs/de.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/langs/de.json b/langs/de.json index d92da312c..963bc1af5 100644 --- a/langs/de.json +++ b/langs/de.json @@ -12,7 +12,7 @@ }, "communityIndex": { "available": "Diese Gemeinschaft spricht {native}", - "intro": "Treten Sie mit anderen Menschen in Kontakt, um sie kennen zu lernen, von ihnen zu lernen, ...", + "intro": "Treten Sie mit anderen Menschen in Kontakt, um sie kennen zu lernen, von ihnen zu lernen, …", "notAvailable": "Diese Gemeinschaft spricht nicht {native}", "title": "Index der Community" }, @@ -66,7 +66,7 @@ "attributes": "Zeigt Attribute in einer freundlichen Art und Weise", "edit": "Falsche oder überholte Informationen? Die Schaltfläche \"Bearbeiten\" ist direkt zugänglich.", "question": "Ist ein Attribut noch nicht bekannt, zeigt MapComplete eine Frage an", - "see_images": "Zeigt Bilder von früheren Mitwirkenden, Wikipedia, Mapillary, ... ", + "see_images": "Zeigt Bilder von früheren Mitwirkenden, Wikipedia, Mapillary, …", "wikipedia": "Verlinkte Wikipedia-Artikel werden angezeigt" }, "frontParagraph": "MapComplete ist eine einfach zu bedienende Webanwendung zur Erfassung von Geodaten in OpenStreetMap, die das Sammeln und Verwalten relevanter Daten in einer offenen, crowdsourced und wiederverwendbaren Weise ermöglicht.\n\nNeue Kategorien und Attribute können auf Anfrage hinzugefügt werden.", @@ -498,7 +498,7 @@ "createNote": "Eine neue Notiz erstellen", "createNoteIntro": "Ist etwas falsch oder fehlt etwas auf der Karte? Erstellen Sie hier eine Notiz. Diese werden von Freiwilligen überprüft.", "createNoteTitle": "Hier eine neue Notiz erstellen", - "creating": "Notiz wird erstellt...", + "creating": "Notiz wird erstellt…", "disableAllNoteFilters": "Alle Filter ausschalten", "isClosed": "Diese Notiz wurde erledigt", "isCreated": "Die Notiz wurde erstellt!", From 57822bc73f9323f5e9b5baba4166ba102cb0b892 Mon Sep 17 00:00:00 2001 From: Lucas Date: Tue, 27 Jun 2023 18:39:45 +0000 Subject: [PATCH 21/27] Translated using Weblate (French) Currently translated at 68.0% (341 of 501 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/fr/ --- langs/fr.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/langs/fr.json b/langs/fr.json index a55177b30..4a18fdfc6 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -63,6 +63,7 @@ "addNew": "Ajouter {category}", "backToSelect": "Sélectionner une catégorie différente", "confirmButton": "Ajouter un/une {category} ici.
Votre ajout sera visible par tout le monde
", + "confirmLocation": "Confirmer cet emplacement", "disableFilters": "Désactiver tous les filtres", "disableFiltersExplanation": "Certains élément peuvent être filtrés", "hasBeenImported": "Cet élément a déjà été importé", @@ -207,6 +208,9 @@ }, "pickLanguage": "Choisir la langue : ", "poweredByOsm": "Propulsé par OpenStreetMap", + "questionBox": { + "reactivate": "Réactiver les questions passées" + }, "questions": { "emailIs": "L'adresse électronique de {category} est {email}", "emailOf": "Quelle est l'adresse électronique de {category} ?", From 035ad0ab12e8e6b060512fb7c5ea45e28fecbeba Mon Sep 17 00:00:00 2001 From: mcliquid Date: Tue, 27 Jun 2023 19:21:13 +0000 Subject: [PATCH 22/27] Translated using Weblate (German) Currently translated at 99.7% (411 of 412 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/de/ --- langs/themes/de.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/langs/themes/de.json b/langs/themes/de.json index e270e7a50..6da33f299 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -24,6 +24,16 @@ "text": "Diesen Geldautomaten importieren" } } + }, + "1": { + "render": "OpenStreetMap kennt einen Geldautomaten, der {_closest_osm_poi_distance} Meter entfernt ist. " + }, + "2": { + "render": { + "special": { + "message": "Füge alle vorgeschlagenen Tags zum nächstgelegenen Geldautomaten hinzu" + } + } } } } @@ -855,6 +865,7 @@ "name": "Zentrum der Änderungssätze", "tagRenderings": { "contributor": { + "question": "Welcher Mitwirkende hat diese Änderung vorgenommen?", "render": "Änderung gemacht von {user}" }, "host": { @@ -862,6 +873,7 @@ "render": "Änderung vorgenommen mit {host}" }, "locale": { + "question": "In welcher Sprache wurde diese Änderung vorgenommen?", "render": "Usersprache ist {locale}" }, "show_changeset_id": { @@ -872,7 +884,8 @@ "render": "Geändert mit Thema {theme}" }, "version": { - "question": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?" + "question": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?", + "render": "Erstellt mit {editor}" } }, "title": { From 7aa3aa2cb276a209b4c4c58bf051c9d5e61e2ea6 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 28 Jun 2023 22:09:12 +0200 Subject: [PATCH 23/27] Refactoring: remove some obsolete html-files --- customGenerator.html | 16 -------------- import_helper.html | 50 -------------------------------------------- import_viewer.html | 45 --------------------------------------- package.json | 2 +- 4 files changed, 1 insertion(+), 112 deletions(-) delete mode 100644 customGenerator.html delete mode 100644 import_helper.html delete mode 100644 import_viewer.html diff --git a/customGenerator.html b/customGenerator.html deleted file mode 100644 index 45cd309f5..000000000 --- a/customGenerator.html +++ /dev/null @@ -1,16 +0,0 @@ - - - The custom generator has moved (temporarily), go to - - Redirecting you to the development version - - - - diff --git a/import_helper.html b/import_helper.html deleted file mode 100644 index 4280fdc73..000000000 --- a/import_helper.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - MapComplete Import Helper - - - - - - - - - - - - - - - - - - - - - -
Loading...
- - - - - diff --git a/import_viewer.html b/import_viewer.html deleted file mode 100644 index 77ace0f67..000000000 --- a/import_viewer.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - MapComplete Import Viewer - - - - - - - - - - - - - - - - - - - - - -
Loading...
- - - - - diff --git a/package.json b/package.json index 7124ffb35..f587dd27f 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "prepare-deploy": "npm run generate:service-worker && ./scripts/build.sh", "format": "prettier --write '**/*.ts' '**/*.svelte'", "clean:tests": "(find . -type f -name \"*.doctest.ts\" | xargs -r rm)", - "clean": "rm -rf .cache/ && (find *.html | grep -v \"^\\(404\\|index\\|land\\|test\\|preferences\\|studio\\|professional\\|automaton\\|import_helper\\|import_viewer\\|theme\\|style_test\\).html\" | xargs -r rm) && (ls | grep \"^index_[a-zA-Z_-]\\+\\.ts$\" | xargs -r rm) && (ls | grep \".*.webmanifest$\" | grep -v \"manifest.webmanifest\" | xargs -r rm)", + "clean": "rm -rf .cache/ && (find *.html | grep -v \"^\\(404\\|index\\|land\\|test\\|studio\\|theme\\|style_test\\|statistics\\).html\" | xargs -r rm) && (ls | grep \"^index_[a-zA-Z_-]\\+\\.ts$\" | xargs -r rm) && (ls | grep \".*.webmanifest$\" | grep -v \"manifest.webmanifest\" | xargs -r 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", "weblate-add-upstream": "git remote add weblate-github git@github.com:weblate/MapComplete.git && git remote add weblate-hosted-core https://hosted.weblate.org/git/mapcomplete/core/ && git remote add weblate-hosted-layers https://hosted.weblate.org/git/mapcomplete/layers/", "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", From 4e05671968e4a70a5e6dc58470ecd3a54cb55f2b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 28 Jun 2023 22:11:48 +0200 Subject: [PATCH 24/27] Scripts: improve conflate script --- scripts/conflate.ts | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/scripts/conflate.ts b/scripts/conflate.ts index 4f045d845..e25abfbf5 100644 --- a/scripts/conflate.ts +++ b/scripts/conflate.ts @@ -91,6 +91,14 @@ export class Conflate extends Script { const unmatched = external_features.filter( (f) => !bestMatches.some((matched) => matched.match.external_feature === f) ) + const weirdMatch = external_features.filter((f) => + bestMatches.some( + (matched) => + matched.match.external_feature === f && + !matched.replayed.certainly_imported && + !matched.replayed.possibly_imported + ) + ) const match_lengths: (string | number)[][] = [ [ "osm_id", @@ -111,6 +119,9 @@ export class Conflate extends Script { if (Object.keys(resting_properties).length === 0) { continue } + if (!certainly_imported && !possibly_imported) { + continue + } const id = osm_feature.properties["@id"] match_lengths.push([ id, @@ -153,6 +164,19 @@ export class Conflate extends Script { " " ) ) + + fs.writeFileSync( + targetDir + "/unmatched_but_has_close_feature.geojson", + JSON.stringify( + { + type: "FeatureCollection", + features: weirdMatch, + }, + + null, + " " + ) + ) } private async findTimeFork( @@ -292,12 +316,12 @@ export class Conflate extends Script { } if (properties["website"]) { let website = properties.website.toLowerCase() - website + website = website .replace("http://http://", "http://") .replace("https://https://", "https://") .replace("https//", "https://") .replace("http://", "https://") - if (website.startsWith("https://")) { + if (!website.startsWith("https://")) { website = "https://" + website } const validator = new UrlValidator() From 5309d0c3d6b6f9eade9ed3515b7c7562673862f6 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 28 Jun 2023 22:12:47 +0200 Subject: [PATCH 25/27] Validation: enable mustHaveLanguage-check again as error --- Models/ThemeConfig/Conversion/Validation.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index e5d325642..f386244be 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -29,7 +29,10 @@ class ValidateLanguageCompleteness extends DesugaringStep { this._languages = languages ?? ["en"] } - convert(obj: any, context: string): { result: LayerConfig; errors: string[] } { + convert( + obj: any, + context: string + ): { result: LayerConfig; errors: string[]; warnings: string[] } { const errors = [] const warnings: string[] = [] const translations = Translation.ExtractAllTranslationsFrom(obj) @@ -41,7 +44,7 @@ class ValidateLanguageCompleteness extends DesugaringStep { t.tr.translations["*"] === undefined ) .forEach((missing) => { - warnings.push( + errors.push( context + "A theme should be translation-complete for " + neededLanguage + From 4e57944b2074806694feceb4764516e18b417e8e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 28 Jun 2023 22:30:08 +0200 Subject: [PATCH 26/27] Chore: translation sync --- assets/layers/advertising/advertising.json | 2 +- assets/layers/artwork/artwork.json | 2 +- assets/layers/bench/bench.json | 8 +- .../layers/bike_cleaning/bike_cleaning.json | 2 +- .../charging_station/charging_station.json | 6 +- assets/layers/dentist/dentist.json | 2 +- assets/layers/fixme/fixme.json | 6 +- assets/layers/gps_track/gps_track.json | 3 +- assets/layers/last_click/last_click.json | 12 +- assets/layers/usersettings/usersettings.json | 30 +- .../walls_and_buildings.json | 3 +- assets/tagRenderings/questions.json | 8 +- assets/themes/advertising/advertising.json | 9 +- assets/themes/aed/aed.json | 2 +- assets/themes/artwork/artwork.json | 4 +- assets/themes/atm/atm.json | 16 +- assets/themes/bag/bag.json | 3 +- assets/themes/benches/benches.json | 2 +- .../themes/bicycle_rental/bicycle_rental.json | 3 +- .../themes/cafes_and_pubs/cafes_and_pubs.json | 3 +- assets/themes/campersite/campersite.json | 2 +- assets/themes/grb/grb.json | 3 +- .../mapcomplete-changes.json | 88 ++-- assets/themes/maproulette/maproulette.json | 3 +- assets/themes/maxspeed/maxspeed.json | 9 +- assets/themes/nature/nature.json | 9 +- assets/themes/notes/notes.json | 6 +- assets/themes/pets/pets.json | 18 +- assets/themes/postal_codes/postal_codes.json | 24 +- .../rainbow_crossings/rainbow_crossings.json | 3 +- assets/themes/shops/shops.json | 5 +- assets/themes/sidewalks/sidewalks.json | 12 +- assets/themes/sports/sports.json | 9 +- assets/themes/stations/stations.json | 18 +- assets/themes/toilets/toilets.json | 2 +- assets/themes/transit/transit.json | 6 +- .../walls_and_buildings.json | 6 +- assets/themes/waste/waste.json | 6 +- langs/layers/de.json | 443 +++++++++--------- langs/layers/en.json | 420 ++++++++--------- langs/layers/zh_Hant.json | 14 +- langs/shared-questions/de.json | 2 +- langs/shared-questions/en.json | 2 +- langs/themes/de.json | 64 +-- langs/themes/en.json | 64 +-- langs/themes/zh_Hant.json | 8 +- 46 files changed, 726 insertions(+), 646 deletions(-) diff --git a/assets/layers/advertising/advertising.json b/assets/layers/advertising/advertising.json index d22aeb101..c3e560709 100644 --- a/assets/layers/advertising/advertising.json +++ b/assets/layers/advertising/advertising.json @@ -686,7 +686,7 @@ "then": { "ca": "Informació sobre teatres, concerts, ...", "es": "Información sobre teatros, conciertos, ...", - "en": "Inormation related to theatre, concerts, ...", + "en": "Information related to theatre, concerts, …", "de": "Informationen über Theater, Konzerte, ...", "cs": "Informace týkající se divadla, koncertů, ...", "fr": "Informations liées au théâtre, à des concerts, …", diff --git a/assets/layers/artwork/artwork.json b/assets/layers/artwork/artwork.json index 0f5476ec4..78d3140d0 100644 --- a/assets/layers/artwork/artwork.json +++ b/assets/layers/artwork/artwork.json @@ -86,7 +86,7 @@ "ru": "Разнообразные произведения искусства", "es": "Un mapa abierto de Estatuas, bustos, Graffitis y otras Obras de Arte en todo el mundo", "ja": "多様な作品", - "zh_Hant": "不同類型的藝術品", + "zh_Hant": "顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品的地圖", "id": "Peta terbuka patung, grafiti, dan karya seni lainnya di seluruh dunia", "pt": "Diversas obras de arte", "hu": "Szobrok, mellszobrok, graffitik és egyéb műalkotások nyílt világtérképe", diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json index 8e8a6ca44..afab53a87 100644 --- a/assets/layers/bench/bench.json +++ b/assets/layers/bench/bench.json @@ -789,7 +789,7 @@ "question": { "en": "Does this bench have an inscription?", "nl": "Heeft deze bank een inscriptie?", - "de": "Hat diese Bank eine Inschrift? ", + "de": "Hat diese Bank eine Inschrift?", "fr": "Est-ce que ce banc possède une inscription ?", "ca": "Aquest banc té una inscripció?", "cs": "Má tato lavička nápis?", @@ -833,9 +833,9 @@ } ], "questionHint": { - "en": "E.g. on a mounted plaque, in the backrest, ...", + "en": "E.g. on a mounted plaque, in the backrest, …", "nl": "Bijvoorbeeld op een aangebracht plakkaat, ingesneden in de rugleuning, ...", - "de": "Z.B. auf einer angebrachten Plakette, in der Rückenlehne, ... ", + "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, ...", "cs": "Např. na připevněné desce, v opěradle, ...", @@ -847,7 +847,7 @@ "question": { "en": "Does this bench have an artistic element?", "nl": "Heeft deze bank een geïntegreerd kunstwerk?", - "de": "Hat diese Bank ein künstlerisches Element? ", + "de": "Hat diese Bank ein künstlerisches Element?", "ca": "Aquest banc té algun element artístic?", "cs": "Má tato lavička umělecké prvky?" }, diff --git a/assets/layers/bike_cleaning/bike_cleaning.json b/assets/layers/bike_cleaning/bike_cleaning.json index a027fe09b..31970232e 100644 --- a/assets/layers/bike_cleaning/bike_cleaning.json +++ b/assets/layers/bike_cleaning/bike_cleaning.json @@ -212,7 +212,7 @@ { "if": "fee=yes", "then": { - "en": "This cleaning service is paid", + "en": "There is a fee to use this cleaning service", "nl": "Dit fietsschoonmaakpunt is betalend", "es": "Este servicio de limpieza es de pago", "ca": "Aquest servei de neteja és de pagament", diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 811d99f04..cb97d2134 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -243,7 +243,8 @@ "if": "access=permissive", "then": { "en": "This charging station is accessible to the public during certain hours or conditions. Restrictions might apply, but general use is allowed.", - "nl": "Dit oplaadstation is publiek toegankelijk onder voorwaarden (bv. enkel tijdens bepaalde uren). " + "nl": "Dit oplaadstation is publiek toegankelijk onder voorwaarden (bv. enkel tijdens bepaalde uren). ", + "de": "Diese Ladestation ist zu gewissen Öffnungszeiten oder Bedingungen öffentlich zugänglich. Einschränkungen sind möglich, aber generelle Nutzung ist erlaubt." } } ] @@ -4639,7 +4640,8 @@ "id": "questions-technical", "render": { "en": "

Technical questions

The questions below are very technical. Feel free to ignore them
{questions(technical)}", - "nl": "

Technische vragen

De vragen hieronder zijn erg technisch - sla deze over indien je hier geen tijd voor hebt
{questions(technical)}" + "nl": "

Technische vragen

De vragen hieronder zijn erg technisch - sla deze over indien je hier geen tijd voor hebt
{questions(technical)}", + "de": "

Technische Frage

Die nächsten Fragen sind sehr technisch. Du kannst diese auch überspringen.
{questions(technical)}" } } ], diff --git a/assets/layers/dentist/dentist.json b/assets/layers/dentist/dentist.json index 801dfcd98..8759429f7 100644 --- a/assets/layers/dentist/dentist.json +++ b/assets/layers/dentist/dentist.json @@ -18,7 +18,7 @@ "title": { "render": { "en": "Dentist Office {name}", - "de": "Arztpraxis {name}", + "de": "Zahnarztpraxis {name}", "nl": "Tandartspraktijk {name}", "fr": "Cabinet medical {name}" } diff --git a/assets/layers/fixme/fixme.json b/assets/layers/fixme/fixme.json index 8dbeb1656..b957ee3aa 100644 --- a/assets/layers/fixme/fixme.json +++ b/assets/layers/fixme/fixme.json @@ -32,13 +32,15 @@ "type": "text" }, "question": { - "en": "What is wrong with this feature?" + "en": "What is wrong with this feature?", + "de": "Was stimmt mit diesem Objekt nicht?" }, "mappings": [ { "if": "fixme=", "then": { - "en": "This issue has been resolved" + "en": "This issue has been resolved", + "de": "Dieses Problem wurde behoben" } } ], diff --git a/assets/layers/gps_track/gps_track.json b/assets/layers/gps_track/gps_track.json index e70233149..38bc7a2fb 100644 --- a/assets/layers/gps_track/gps_track.json +++ b/assets/layers/gps_track/gps_track.json @@ -6,7 +6,8 @@ "title": { "render": { "en": "Your travelled path", - "nl": "Jouw traject" + "nl": "Jouw traject", + "de": "Deine zurückgelegte Strecke" } }, "shownByDefault": false, diff --git a/assets/layers/last_click/last_click.json b/assets/layers/last_click/last_click.json index db747228b..47f44a454 100644 --- a/assets/layers/last_click/last_click.json +++ b/assets/layers/last_click/last_click.json @@ -22,21 +22,24 @@ }, "then": { "en": "Add a new point or add a note", - "nl": "Voeg een nieuw punt of een nieuwe kaartnota toe" + "nl": "Voeg een nieuw punt of een nieuwe kaartnota toe", + "de": "Objekt oder Hinweis auf der Karte hinzufügen" } }, { "if": "has_note_layer=yes", "then": { "en": "Add a new note", - "nl": "Voeg een nieuwe kaartnota toe" + "nl": "Voeg een nieuwe kaartnota toe", + "de": "Hinweis hinzufügen" } }, { "if": "has_presets=yes", "then": { "en": "Add a new point", - "nl": "Voeg een nieuw punt toe" + "nl": "Voeg een nieuw punt toe", + "de": "Objekt hinzufügen" } } ] @@ -107,7 +110,8 @@ }, "then": { "en": "Create a new map note", - "nl": "Maak een nieuwe kaartnotitie" + "nl": "Maak een nieuwe kaartnotitie", + "de": "Hinweis auf der Karte hinzufügen" } } ] diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 38073cf30..988294429 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -9,7 +9,8 @@ "title": { "render": { "en": "Settings", - "nl": "Instellingen" + "nl": "Instellingen", + "de": "Einstellungen" } }, "source": "special", @@ -44,7 +45,8 @@ "href": "{_backend}/messages/inbox", "text": { "en": "Open your inbox", - "nl": "Ga naar je inbox" + "nl": "Ga naar je inbox", + "de": "Deinen Posteingang öffnen" } } } @@ -55,7 +57,8 @@ "special": { "type": "link", "text": { - "en": "You have {_unreadMessages}
Open your inbox" + "en": "You have {_unreadMessages}
Open your inbox", + "de": "Du hast {_unreadMessages}
Öffne Deinen Posteingang" }, "href": "{_backend}/messages/inbox" } @@ -69,7 +72,8 @@ "special": { "type": "link", "text": { - "en": "Open your settings on OpenStreetMap.org" + "en": "Open your settings on OpenStreetMap.org", + "de": "Öffne Deine Einstellungen auf OpenStreetMap.org" }, "href": "{_backend}/account/edit" } @@ -145,34 +149,40 @@ { "id": "show_tags", "question": { - "en": "Show the raw OpenStreetMap-tags?" + "en": "Show the raw OpenStreetMap-tags?", + "de": "Rohe OpenStreetMap-Tags anzeigen?" }, "questionHint": { - "en": "Tags are attributes that every element has. This is the technical data that is stored in the database. You don't need this information to edit with MapComplete, but advanced users might want to use this as reference." + "en": "Tags are attributes that every element has. This is the technical data that is stored in the database. You don't need this information to edit with MapComplete, but advanced users might want to use this as reference.", + "de": "Tags sind die Eigenschaften, die jedes Objekt hat. Das sind die technischen Daten, die in der Datenbank gespeichert werden. Du brauchst diese Informationen nicht, um mit MapComplete Änderungen zu machen, aber fortgeschrittenen Nutzer*innen kann es als Referenz dienen." }, "mappings": [ { "if": "mapcomplete-show_tags=no", "then": { - "en": "Never show the tags." + "en": "Never show the tags.", + "de": "Tags nie anzeigen." } }, { "if": "mapcomplete-show_tags=", "then": { - "en": "Show the tags that will be applied once I have made {__userjourney_tagsVisibleAt} changesets" + "en": "Show the tags that will be applied once I have made {__userjourney_tagsVisibleAt} changesets", + "de": "Tags anzeigen sobald ich {__userjourney_tagsVisibleAt} Changesets erstellt habe" } }, { "if": "mapcomplete-show_tags=yes", "then": { - "en": "Show the tags that will be applied when making a change" + "en": "Show the tags that will be applied when making a change", + "de": "Tags anzeigen, die bei der Änderung hinzugefügt werden" } }, { "if": "mapcomplete-show_tags=full", "then": { - "en": "Show the tags that will be applied when making a change and show the tags table on every feature" + "en": "Show the tags that will be applied when making a change and show the tags table on every feature", + "de": "Tags anzeigen, die bei der Änderung hinzugefügt werden, und Tag-Tabelle bei jedem Objekt anzeigen" } } ] diff --git a/assets/layers/walls_and_buildings/walls_and_buildings.json b/assets/layers/walls_and_buildings/walls_and_buildings.json index 5a649036a..e391929b4 100644 --- a/assets/layers/walls_and_buildings/walls_and_buildings.json +++ b/assets/layers/walls_and_buildings/walls_and_buildings.json @@ -20,7 +20,8 @@ "da": "Specielt indbygget lag giver alle vægge og bygninger. Dette lag er nyttigt i forudindstillinger til objekter, der kan placeres mod vægge (f.eks. AED'er, postkasser, indgange, adresser, overvågningskameraer, …). Dette lag er usynligt som standard og kan ikke skiftes af brugeren.", "ca": "Capa construïda especial que proporciona totes les parets i edificis. Aquesta capa és útil als predefinits per a objectes que es poden col·locar a les parets (p. ex. DEA, bústies de correus, entrades, adreces, càmeres de vigilància, ...). Aquesta capa és invisible per defecte i no es pot activar per l'usuari.", "es": "Capa especial incorporada que proporciona todas las paredes y edificios. Esta capa es útil en los preajustes para objetos que pueden colocarse contra las paredes (por ejemplo: AEDs, buzones de correos, entradas, direcciones, cámaras de vigilancia, ...). Esta capa es invisible por defecto y no puede ser activada por el usuario.", - "cs": "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." + "cs": "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.", + "zh_Hant": "特殊的內建圖層顯示所有牆壁與建築。這個圖層對於規畫要靠牆的東西 (例如 AED、郵筒、入口、地址、監視器等) 相當實用。這個圖層預設顯示而且無法由使用者開關。" }, "source": { "osmTags": { diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json index ec938eeab..0356d880b 100644 --- a/assets/tagRenderings/questions.json +++ b/assets/tagRenderings/questions.json @@ -558,7 +558,7 @@ "question": { "nl": "Zijn er nog andere relevante zaken die je niet in de bovenstaande vragen kwijt kon? Vul ze hier in.", "fr": "Y a-t-il quelque chose de pertinent que vous n'avez pas pu donner à la dernière question ? Ajoutez-le ici.", - "en": "Is there still something relevant you couldn't give in the previous questions? Add it here.", + "en": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.", "nb_NO": "Er det noe mer som er relevant du ikke kunne opplyse om i tidligere svar? Legg det til her.", "ru": "Есть ли ещё что-то важное, о чём вы не смогли рассказать в предыдущих вопросах? Добавьте это здесь.", "zh_Hant": "有什麼相關的資訊你無法在先前的問題回應的嗎?請加在這邊吧。", @@ -587,12 +587,12 @@ "questionHint": { "nl": "Herhaal geen antwoorden die je reeds gaf", "fr": "Ne répétez pas des réponses déjà données", - "en": "Don't repeat already stated facts", + "en": "Please don't repeat already stated facts", "nb_NO": "Ikke gjenta fakta som allerede er nevnt", "ru": "Не повторяйте уже изложенные факты", "zh_Hant": "不要重覆答覆已經知道的事情", "it": "Non ripetere informazioni già fornite", - "de": "Bitte keine bereits erhobenen Informationen.", + "de": "Bitte keine bereits erhobenen Informationen wiederholen", "pl": "Nie powtarzaj już podanych faktów", "pt_BR": " Não repita fatos já declarados", "pt": "Não repita factos já declarados", @@ -1413,7 +1413,7 @@ "text": { "en": "Last edited on {_last_edit:timestamp} by {_last_edit:contributor}", "nl": "Laatst gewijzigd op {_last_edit:timestamp} door {_last_edit:contributor} ", - "de": "Zuletzt bearbeitet am {_last_edit:timestamp} vom {_last_edit:contributor}" + "de": "Zuletzt bearbeitet am {_last_edit:timestamp} von {_last_edit:contributor}" }, "class": "subtle font-small" } diff --git a/assets/themes/advertising/advertising.json b/assets/themes/advertising/advertising.json index d7ad409dc..e2ca043f4 100644 --- a/assets/themes/advertising/advertising.json +++ b/assets/themes/advertising/advertising.json @@ -8,7 +8,8 @@ "de": "Werbung", "cs": "Otevřít reklamní mapu", "fr": "Open Advertising Map", - "nl": "Reclame" + "nl": "Reclame", + "zh_Hant": "廣告物件" }, "shortDescription": { "ca": "On puc trobar elements publicitaris?", @@ -17,7 +18,8 @@ "de": "Wo finde ich Werbeträger?", "cs": "Kde najdu reklamní objekty?", "fr": "Où puis-je trouver des dispositifs publicitaires ?", - "nl": "Waar zijn er reclameborden?" + "nl": "Waar zijn er reclameborden?", + "zh_Hant": "我能夠在那裡找到廣告物件?" }, "description": { "ca": "Alguna vegada t'has preguntat quanta publictat hi ha als nostres carrers i carreteres? Amb aquest mapa podràs trobar i afegir informació de tots els elements publictaris que t'hi trobes pel carrer", @@ -27,7 +29,8 @@ "cs": "Přemýšleli jste někdy o tom, kolik je v našich ulicích a na silnicích reklam? Pomocí této mapy můžete najít a doplnit informace o všech reklamních prvcích, které můžete na ulici najít", "fr": "Vous êtes-vous déjà demandé combien de publicité il y a dans nos rue ou sur nos routes ? Avec cette carte vous pouvez trouver et ajouter des informations sur tous les dispositifs publicitaires que vous pouvez trouver dans la rue", "nl": "Heb je je ooit afgevraagd hoeveel reclameborden er zijn in onze straten? Met deze kaart kan je deze vinden en informatie toevoegen", - "pt_BR": "Você já se perguntou quantas propagandas existem em nossas ruas e estradas? Com este mapa você pode encontrar e adicionar informações sobre todos os recursos de publicidade que você pode encontrar na rua" + "pt_BR": "Você já se perguntou quantas propagandas existem em nossas ruas e estradas? Com este mapa você pode encontrar e adicionar informações sobre todos os recursos de publicidade que você pode encontrar na rua", + "zh_Hant": "你曾經好奇路上有多少廣告物件?有了這份地圖,你可以找到所有路上能夠看到的廣告物件" }, "maintainer": "Offsel", "icon": "./assets/themes/advertising/icon.svg", diff --git a/assets/themes/aed/aed.json b/assets/themes/aed/aed.json index cfb4f8531..4ad04fb45 100644 --- a/assets/themes/aed/aed.json +++ b/assets/themes/aed/aed.json @@ -12,7 +12,7 @@ "it": "Mappa dei defibrillatori (DAE)", "ru": "Открытая карта АВД (Автоматизированных внешних дефибрилляторов)", "ja": "オープンAEDマップ", - "zh_Hant": "開放AED地圖", + "zh_Hant": "除顫器", "nb_NO": "Åpne AED-kart", "sv": "Öppna AED-karta", "pl": "Otwórz mapę AED", diff --git a/assets/themes/artwork/artwork.json b/assets/themes/artwork/artwork.json index 60461c60f..5204bf56e 100644 --- a/assets/themes/artwork/artwork.json +++ b/assets/themes/artwork/artwork.json @@ -10,7 +10,7 @@ "it": "Mappa libera delle opere d'arte", "ru": "Открытая карта произведений искусства", "ja": "オープン アートワーク マップ", - "zh_Hant": "開放藝術品地圖", + "zh_Hant": "藝術品", "sv": "Öppen konstverkskarta", "pl": "Otwórz mapę dzieł sztuki", "nb_NO": "Kunstkort", @@ -33,7 +33,7 @@ "ru": "Добро пожаловать на открытую карта произведений искусства - карту статуй, бюстов, граффити и других произведений искусства по всему миру", "es": "Un mapa abierto de Estatuas, bustos, Graffitis y otras Obras de Arte en todo el mundo", "ja": "オープン アートワーク マップへようこそ。世界中の銅像や胸像、壁の落書きなどのアートワークの地図です", - "zh_Hant": "歡迎來到開放藝術品地圖,這份地圖會顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品", + "zh_Hant": "顯示全世界的雕像、半身像、塗鴉以及其他類型的藝術品的地圖", "nb_NO": "Statuer, byster, graffiti, og andre kunstverk verden over", "hu": "Szobrok, mellszobrok, graffitik és egyéb műalkotások nyílt világtérképe", "pl": "Witaj w Open Artwork Map, mapie pomników, popierś, graffitti i innych dzieł sztuki z całego świata", diff --git a/assets/themes/atm/atm.json b/assets/themes/atm/atm.json index a19bb9692..af18997e4 100644 --- a/assets/themes/atm/atm.json +++ b/assets/themes/atm/atm.json @@ -10,7 +10,8 @@ "cs": "Bankomaty", "nb_NO": "Minibanker", "zgh": "ⴰⵍⵍⴰⵍⵏ ⵏ ⵓⵙⴽⵙⵍ ⴰⵡⵓⵔⵎⴰⵏ", - "id": "Mesin ATM" + "id": "Mesin ATM", + "zh_Hant": "自動櫃員機" }, "description": { "en": "This map shows ATMs to withdraw or deposit money", @@ -21,7 +22,8 @@ "cs": "Tato mapa zobrazuje bankomaty pro výběr nebo vklad peněz", "nb_NO": "Viser minibanker for å ta ut eller sette inn penger", "es": "Este mapa muestra los cajeros automáticos para retirar o ingresar dinero", - "id": "Peta ini menunjukkan ATM untuk menarik atau menyetorkan uang" + "id": "Peta ini menunjukkan ATM untuk menarik atau menyetorkan uang", + "zh_Hant": "這份地圖顯示領錢與存錢的 ATM" }, "icon": "./assets/themes/atm/logo.svg", "startLat": 0, @@ -80,7 +82,9 @@ "tags": "tags", "maproulette_id": "mr_taskId", "text": { - "en": "Import this ATM" + "en": "Import this ATM", + "de": "Diesen Geldautomaten importieren", + "zh_Hant": "匯入這座 ATM" }, "icon": "./assets/svg/addSmall.svg" } @@ -90,7 +94,8 @@ "id": "closeness-indicator", "condition": "_has_closeby_feature=yes", "render": { - "en": "OpenStreetMap knows about an ATM which is {_closest_osm_poi_distance} meter away. " + "en": "OpenStreetMap knows about an ATM which is {_closest_osm_poi_distance} meter away. ", + "de": "OpenStreetMap kennt einen Geldautomaten, der {_closest_osm_poi_distance} Meter entfernt ist. " } }, { @@ -102,7 +107,8 @@ "tags_to_apply": "$tags", "id_of_object_to_apply_this_one": "_closest_osm_poi", "message": { - "en": "Add all the suggested tags to the closest ATM" + "en": "Add all the suggested tags to the closest ATM", + "de": "Füge alle vorgeschlagenen Tags zum nächstgelegenen Geldautomaten hinzu" }, "image": "./assets/svg/addSmall.svg", "maproulette_task_id": "mr_taskId" diff --git a/assets/themes/bag/bag.json b/assets/themes/bag/bag.json index 7d1205322..89de76cd5 100644 --- a/assets/themes/bag/bag.json +++ b/assets/themes/bag/bag.json @@ -8,7 +8,8 @@ "nb_NO": "BAG-importhjelper", "ca": "Assistent d'importació del BAG", "es": "Ayudante de importación BAG", - "cs": "Pomocník pro import BAG" + "cs": "Pomocník pro import BAG", + "zh_Hant": "BAG 匯入助手" }, "shortDescription": { "nl": "BAG import helper tool", diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index 5b67b00b5..aae697754 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -47,7 +47,7 @@ "it": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o nei ripari. Se disponi di un account OpenStreetMap puoi mappare delle nuove panchine o modificare i dettagli di quelle esistenti.", "ru": "На этой карте показаны все скамейки, записанные в OpenStreetMap: отдельные скамейки, а также скамейки, относящиеся к остановкам общественного транспорта или навесам. Имея учётную запись OpenStreetMap, вы можете наносить на карту новые скамейки или редактировать информацию о существующих скамейках.", "ja": "このマップには、OpenStreetMapに記録されているすべてのベンチが表示されます。個々のベンチ、および公共交通機関の停留所または避難場所に属するベンチです。OpenStreetMapアカウントを使用すると、新しいベンチをマップしたり、既存のベンチの詳細を編集したりできます。", - "zh_Hant": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。只要有開放街圖帳號,你可以新增長椅或是編輯既有長椅的詳細內容。", + "zh_Hant": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。", "hu": "Ez a térkép megjeleníti az OpenStreetMap-en rögzített összes padot: egyes padokat, valamint tömegközlekedési megállókban vagy menedékhelyeken található padokat. OpenStreetMap-fiókkal Ön is felrajzolhat új padokat, vagy szerkesztheti a meglévő padok részleteit.", "ca": "Aquest mapa mostra tots els bancs que hi ha a OpenStreetMap: bancs individuals i els bancs que hi ha a parades o refugis de transport públic.", "es": "Este mapa muestra todos los bancos que están registrados en OpenStreetMap: Bancos individuales, bancos que pertenecen a paradas o marquesinas del transporte público.", diff --git a/assets/themes/bicycle_rental/bicycle_rental.json b/assets/themes/bicycle_rental/bicycle_rental.json index 8e5337b12..204594d81 100644 --- a/assets/themes/bicycle_rental/bicycle_rental.json +++ b/assets/themes/bicycle_rental/bicycle_rental.json @@ -11,7 +11,8 @@ "nb_NO": "Sykkelutleie", "da": "Cykeludlejning", "pa_PK": "سائیکل کرایا", - "cs": "Půjčovna kol" + "cs": "Půjčovna kol", + "zh_Hant": "單車租借站" }, "shortDescription": { "en": "A map with bicycle rental stations and bicycle rental shops", diff --git a/assets/themes/cafes_and_pubs/cafes_and_pubs.json b/assets/themes/cafes_and_pubs/cafes_and_pubs.json index f46087abd..4a16d5a3c 100644 --- a/assets/themes/cafes_and_pubs/cafes_and_pubs.json +++ b/assets/themes/cafes_and_pubs/cafes_and_pubs.json @@ -28,7 +28,8 @@ "nb_NO": "Kneiper og barer", "pa_PK": "پب (بار)", "cs": "Kavárny, hospody a bary", - "it": "Pub e bar" + "it": "Pub e bar", + "zh_Hant": "咖啡廳、俱樂部與酒吧" }, "icon": "./assets/layers/cafe_pub/pub.svg", "startLat": 0, diff --git a/assets/themes/campersite/campersite.json b/assets/themes/campersite/campersite.json index e8e477b8d..64dc9a020 100644 --- a/assets/themes/campersite/campersite.json +++ b/assets/themes/campersite/campersite.json @@ -38,7 +38,7 @@ "it": "Questo sito raccoglie tutti i luoghi ufficiali dove sostare con il camper e aree dove è possibile scaricare acque grigie e nere. Puoi aggiungere dettagli riguardanti i servizi forniti e il loro costo. Aggiungi foto e recensioni. Questo è al contempo un sito web e una web app. I dati sono memorizzati su OpenStreetMap in modo tale che siano per sempre liberi e riutilizzabili da qualsiasi app.", "ru": "На этом сайте собраны все официальные места остановки кемперов и места, где можно сбросить серую и черную воду. Вы можете добавить подробную информацию о предоставляемых услугах и их стоимости. Добавлять фотографии и отзывы. Это веб-сайт и веб-приложение. Данные хранятся в OpenStreetMap, поэтому они будут бесплатными всегда и могут быть повторно использованы любым приложением.", "ja": "このWebサイトでは、すべてのキャンピングカーの公式停車場所と、汚水を捨てることができる場所を収集します。提供されるサービスとコストに関する詳細を追加できます。写真とレビューを追加します。これはウェブサイトとウェブアプリです。データはOpenStreetMapに保存されるので、永遠に無料で、どんなアプリからでも再利用できます。", - "zh_Hant": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。這是網站與網路 app,資料則是存在開放街圖,因此會永遠免費,而且可以被所有 app 再利用。", + "zh_Hant": "這個網站收集所有官方露營地點,以及那邊能排放廢水。你可以加上詳細的服務項目與價格,加上圖片以及評價。", "nl": "Deze website verzamelt en toont alle officiële plaatsen waar een camper mag overnachten en afvalwater kan lozen. Ook jij kan extra gegevens toevoegen, zoals welke services er geboden worden en hoeveel dit kot, ook afbeeldingen en reviews kan je toevoegen. De data wordt op OpenStreetMap opgeslagen en is dus altijd gratis te hergebruiken, ook door andere applicaties.", "fr": "Ce site collecte les zones de camping officielles ainsi que les aires de vidange. Il est possible d’ajouter des détails à propos des services proposés ainsi que leurs coûts. Ajoutez vos images et avis. C’est un site et une application. Les données sont stockées sur OpenStreetMap, elles seront toujours gratuites et peuvent être réutilisées par n’importe quelle application.", "de": "Eine Karte für offizielle Wohnmobilstellplätze und Orte zur Entsorgung von Schmutzwasser. Sie können Details über die angebotenen Dienstleistungen und die Kosten hinzufügen, oder Bilder und Bewertungen ergänzen.", diff --git a/assets/themes/grb/grb.json b/assets/themes/grb/grb.json index 16442efbf..d7fb198de 100644 --- a/assets/themes/grb/grb.json +++ b/assets/themes/grb/grb.json @@ -202,7 +202,8 @@ { "id": "grb-reference", "render": { - "en": "Has been imported from GRB, reference number is {source:geometry:ref}" + "en": "Has been imported from GRB, reference number is {source:geometry:ref}", + "de": "Wurde von GRB importiert, Referenznummer ist {source:geometry:ref}" }, "condition": "source:geometry:ref~*" }, diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index a27f0dd0d..477dc9091 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -2,15 +2,18 @@ "id": "mapcomplete-changes", "title": { "en": "Changes made with MapComplete", - "nl": "Wijzigingen gemaakt met MapComplete" + "nl": "Wijzigingen gemaakt met MapComplete", + "de": "Mit MapComplete erstellte Änderungen" }, "shortDescription": { - "en": "Shows changes made by MapComplete", - "nl": "Toon wijzigingen gemaakt met MapComplete" + "en": "Show changes made with MapComplete", + "nl": "Toon wijzigingen gemaakt met MapComplete", + "de": "Mit MapComplete erstellte Änderungen anzeigen" }, "description": { "en": "This maps shows all the changes made with MapComplete", - "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden" + "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden", + "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -24,7 +27,8 @@ "id": "mapcomplete-changes", "name": { "en": "Changeset centers", - "nl": "Centerpunt van changeset" + "nl": "Centerpunt van changeset", + "de": "Zentrum der Änderungssätze" }, "minzoom": 0, "source": { @@ -35,44 +39,51 @@ }, "title": { "render": { - "en": "Changeset for {theme}" + "en": "Changeset for {theme}", + "de": "Änderungssatz für {theme}" } }, "description": { - "en": "Shows all MapComplete changes", - "nl": "Toon alle MapComplete wijzigingen" + "en": "Show all MapComplete changes", + "nl": "Toon alle MapComplete wijzigingen", + "de": "Alle MapComplete-Änderungen anzeigen" }, "tagRenderings": [ { "id": "show_changeset_id", "render": { - "en": "Changeset {id}" + "en": "Changeset {id}", + "de": "Änderungssatz {id}" } }, { "id": "contributor", "question": { - "en": "What contributor did make this change?", - "nl": "Welke bijdrager maakte deze wijziging?" + "en": "Which contributor made this change?", + "nl": "Welke bijdrager maakte deze wijziging?", + "de": "Welcher Mitwirkende hat diese Änderung vorgenommen?" }, "freeform": { "key": "user" }, "render": { "en": "Change made by {user}", - "nl": "Wijziging gemaakt door {user}" + "nl": "Wijziging gemaakt door {user}", + "de": "Änderung gemacht von {user}" } }, { "id": "theme-id", "question": { - "en": "What theme was used to make this change?" + "en": "What theme was used to make this change?", + "de": "Welches Thema wurde für diese Änderung verwendet?\"" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}" + "en": "Change with theme {theme}", + "de": "Geändert mit Thema {theme}" } }, { @@ -82,22 +93,26 @@ }, "question": { "en": "What locale (language) was this change made in?", - "nl": "In welke locale (taal) werd deze wijziging gemaakt?" + "nl": "In welke locale (taal) werd deze wijziging gemaakt?", + "de": "In welcher Sprache wurde diese Änderung vorgenommen?" }, "render": { "en": "User locale is {locale}", - "nl": "De gebruikerstaal is {locale}" + "nl": "De gebruikerstaal is {locale}", + "de": "Usersprache ist {locale}" } }, { "id": "host", "render": { - "en": "Change with {host}", - "nl": "Wijziging gemaakt met {host}" + "en": "Change made with {host}", + "nl": "Wijziging gemaakt met {host}", + "de": "Änderung vorgenommen mit {host}" }, "question": { "en": "What host (website) was this change made with?", - "nl": "Met welke host (website) werd deze wijziging gemaakt?" + "nl": "Met welke host (website) werd deze wijziging gemaakt?", + "de": "Mit welchem Host / welcher Website wurde diese Änderung gemacht?" }, "freeform": { "key": "host" @@ -118,10 +133,12 @@ { "id": "version", "question": { - "en": "What version of MapComplete was used to make this change?" + "en": "What version of MapComplete was used to make this change?", + "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?" }, "render": { - "en": "Made with {editor}" + "en": "Made with {editor}", + "de": "Erstellt mit {editor}" }, "freeform": { "key": "editor" @@ -455,8 +472,9 @@ } ], "question": { - "en": "Themename contains {search}", - "nl": "Themenaam bevat {search}" + "en": "Theme name contains {search}", + "nl": "Themenaam bevat {search}", + "de": "Themenname enthält {search}" } } ] @@ -473,7 +491,8 @@ ], "question": { "en": "Made by contributor {search}", - "nl": "Gemaakt door bijdrager {search}" + "nl": "Gemaakt door bijdrager {search}", + "de": "Erstellt von {search}" } } ] @@ -490,7 +509,8 @@ ], "question": { "en": "Not made by contributor {search}", - "nl": "Niet gemaakt door bijdrager {search}" + "nl": "Niet gemaakt door bijdrager {search}", + "de": "Nicht erstellt von {search}" } } ] @@ -508,7 +528,8 @@ ], "question": { "en": "Made before {search}", - "nl": "Gemaakt voor {search}" + "nl": "Gemaakt voor {search}", + "de": "Erstellt vor {search}" } } ] @@ -526,7 +547,8 @@ ], "question": { "en": "Made after {search}", - "nl": "Gemaakt na {search}" + "nl": "Gemaakt na {search}", + "de": "Erstellt nach {search}" } } ] @@ -543,7 +565,8 @@ ], "question": { "en": "User language (iso-code) {search}", - "nl": "De taal van de bijdrager is {search}" + "nl": "De taal van de bijdrager is {search}", + "de": "Benutzersprache (ISO-Code) {search}" } } ] @@ -560,7 +583,8 @@ ], "question": { "en": "Made with host {search}", - "nl": "Gemaakt met host {search}" + "nl": "Gemaakt met host {search}", + "de": "Erstellt mit Host {search}" } } ] @@ -572,7 +596,8 @@ "osmTags": "add-image>0", "question": { "en": "Changeset added at least one image", - "nl": "Changeset bevat minstens één afbeelding" + "nl": "Changeset bevat minstens één afbeelding", + "de": "Changeset fügte mindestens ein Bild hinzu" } } ] @@ -587,7 +612,8 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here" + "en": "More statistics can be found here", + "de": "Mehr Statistiken gibt es hier" } }, { diff --git a/assets/themes/maproulette/maproulette.json b/assets/themes/maproulette/maproulette.json index 4d8d80b38..0c27f2396 100644 --- a/assets/themes/maproulette/maproulette.json +++ b/assets/themes/maproulette/maproulette.json @@ -9,7 +9,8 @@ "pa_PK": "میپ‌رولیٹ دے کم", "nl": "MapRoulette taken", "es": "Tareas de MapRoulette", - "cs": "Úkoly MapRoulette" + "cs": "Úkoly MapRoulette", + "zh_Hant": "MapRoulette 任務" }, "description": { "en": "Theme showing MapRoulette tasks, allowing you to search, filter and fix them.", diff --git a/assets/themes/maxspeed/maxspeed.json b/assets/themes/maxspeed/maxspeed.json index a64cf9ee1..dd289fd63 100644 --- a/assets/themes/maxspeed/maxspeed.json +++ b/assets/themes/maxspeed/maxspeed.json @@ -10,7 +10,8 @@ "nl": "Maximale snelheden", "pa_PK": "حد رفتار", "cs": "Maximální rychlost", - "ru": "Ограничения скорости" + "ru": "Ограничения скорости", + "zh_Hant": "最高速限" }, "shortDescription": { "en": "This map shows the legally allowed maximum speed on every road.", @@ -20,7 +21,8 @@ "da": "Dette kort viser den lovligt tilladte maksimale hastighed på hver vej.", "cs": "Tato mapa zobrazuje zákonem povolenou maximální rychlost na každé silnici.", "es": "Este mapa muestra la velocidad máxima permitida legalmente en cada carretera.", - "ca": "Aquest mapa mostra la velocitat màxima permesa legalment a cada carretera." + "ca": "Aquest mapa mostra la velocitat màxima permesa legalment a cada carretera.", + "zh_Hant": "這份地圖顯示每一條道路的法定允許的最高速限。" }, "description": { "en": "This map shows the legally allowed maximum speed on every road. If a maxspeed is missing or wrong, you can correct it here.", @@ -30,7 +32,8 @@ "nl": "Deze kaart toont de maximum toegestane snelheid voor elke weg. Als er een maximumsnelheid mist of niet klopt, kan je hem hier aanpassen.", "cs": "Tato mapa zobrazuje zákonem povolenou maximální rychlost na každé silnici. Pokud maximální rychlost chybí nebo je nesprávná, můžete ji zde opravit.", "es": "Este mapa muestra la velocidad máxima legalmente permitida en cada carretera. Si falta una velocidad máxima o es incorrecta, puedes corregirla aquí.", - "ca": "Aquest mapa mostra la velocitat màxima permesa legalment a cada carretera. Si falta una velocitat màxima o és incorrecta, podeu corregir-la aquí." + "ca": "Aquest mapa mostra la velocitat màxima permesa legalment a cada carretera. Si falta una velocitat màxima o és incorrecta, podeu corregir-la aquí.", + "zh_Hant": "這份地圖顯示每一條道路的法定允許的最高速限,如果有缺漏的最高速限或是標示錯誤,你可以在這邊更正資訊。" }, "icon": "./assets/themes/maxspeed/maxspeed_logo.svg", "startLat": 0, diff --git a/assets/themes/nature/nature.json b/assets/themes/nature/nature.json index fd4582ce7..480187491 100644 --- a/assets/themes/nature/nature.json +++ b/assets/themes/nature/nature.json @@ -9,7 +9,8 @@ "da": "Ud i naturen", "nb_NO": "Inn i naturen", "cs": "Do přírody", - "es": "En la naturaleza" + "es": "En la naturaleza", + "zh_Hant": "投入自然懷抱" }, "shortDescription": { "en": "A map for nature lovers, with interesting POI's", @@ -19,7 +20,8 @@ "fr": "Une carte pour les amoureux de la nature", "da": "Et kort for naturelskere med interessante POI'er", "cs": "Mapa pro milovníky přírody se zajímavými body zájmu", - "ca": "Un mapa per als amants de la natura, amb PDI interessants" + "ca": "Un mapa per als amants de la natura, amb PDI interessants", + "zh_Hant": "為了自然愛好者,以及有趣的興趣點的地圖" }, "description": { "en": "On this map, one can find interesting information for tourists and nature lovers.", @@ -29,7 +31,8 @@ "fr": "Retrouvez sur cette carte des informations pour les touristes et les amoureux de la nature, telles que ", "da": "På dette kort kan man finde interessant information for turister og naturelskere, som f.eks ", "cs": "Na této mapě najdete zajímavé informace pro turisty a milovníky přírody.", - "ca": "En aquest mapa es pot trobar informació interessant per a turistes i amants de la natura." + "ca": "En aquest mapa es pot trobar informació interessant per a turistes i amants de la natura.", + "zh_Hant": "在這份地圖,你可以找到觀光客與自然愛好者感興趣的資訊..." }, "icon": "./assets/themes/nature/logo.svg", "startLat": 51.20875, diff --git a/assets/themes/notes/notes.json b/assets/themes/notes/notes.json index a5c156e71..17f476cea 100644 --- a/assets/themes/notes/notes.json +++ b/assets/themes/notes/notes.json @@ -13,7 +13,8 @@ "nb_NO": "Notater på OpenStreetMap", "fr": "Notes sur OpenStreetMap", "da": "Noter på OpenStreetMap", - "cs": "Poznámky k OpenStreetMap" + "cs": "Poznámky k OpenStreetMap", + "zh_Hant": "開放街圖上的註解" }, "description": { "en": "A note is a pin on the map with some text to indicate something wrong.

Make sure to checkout the filter view to search for users and text.", @@ -24,7 +25,8 @@ "fr": "Une note est une épingle sur la carte avec du text pour indiquer une erreur.

Assurez-vous d’utiliser le filtre pour chercher des utilisateurs and du texte.", "da": "En note er en nål på kortet med noget tekst, der indikerer, at noget er forkert.

Sørg for at tjekke filtervisningen for at søge efter brugere og tekst .", "cs": "Poznámka je špendlík na mapě s textem, jež označuje, že něco není v pořádku.

Nezapomeňte si prohlédnout zobrazení filtru pro vyhledávání uživatelů a textu.", - "ca": "Una nota és un marcador al mapa amb un text per indicar alguna cosa incorrecta.

Assegureu-vos de revisar la visualització de filtres per cercar usuaris i text." + "ca": "Una nota és un marcador al mapa amb un text per indicar alguna cosa incorrecta.

Assegureu-vos de revisar la visualització de filtres per cercar usuaris i text.", + "zh_Hant": "註解會散佈在地圖上並且有一些文字說明,來顯示那邊有錯誤。

請確認用過濾檢視來搜尋使用者或是文字。" }, "icon": "./assets/themes/notes/logo.svg", "clustering": false, diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json index 1a793abab..e671edd9d 100644 --- a/assets/themes/pets/pets.json +++ b/assets/themes/pets/pets.json @@ -8,7 +8,8 @@ "fr": "Vétérinaires, parcs à chiens et autres endroits pour chiens", "ca": "Veterinaris, parcs canins i altres instal·lacions per a mascotes", "es": "Veterinarios, parques para perros y otros servicios para mascotas", - "cs": "Veterináři, psí parky a další služby pro domácí zvířata" + "cs": "Veterináři, psí parky a další služby pro domácí zvířata", + "zh_Hant": "獸醫院、寵物公園以及其他寵物設施" }, "description": { "en": "On this map, you'll find various interesting places for you pets: veterinarians, dog parks, pet shops, dog-friendly restaurants, ...", @@ -39,7 +40,8 @@ "fr": "Restaurants acceptant les chiens", "ca": "Restaurants que accepten gossos", "es": "Restaurantes que admiten perros", - "cs": "Restaurace vhodné pro vstup se psy" + "cs": "Restaurace vhodné pro vstup se psy", + "zh_Hant": "寵物友善餐廳" }, "mapRendering": [ { @@ -88,7 +90,8 @@ "ca": "Botigues amigues dels gossos", "pa_PK": "کُتیاں دی اِجازت دیاں دکاناں", "es": "Tiendas aptas para perros", - "cs": "Obchody vhodné pro vstup se psy" + "cs": "Obchody vhodné pro vstup se psy", + "zh_Hant": "寵物友善商家" }, "title": { "render": { @@ -101,7 +104,8 @@ "ca": "Botigues amigues dels gossos", "pa_PK": "کُتیاں دی اِجازت دیاں دکاناں", "es": "Tiendas aptas para perros", - "cs": "Obchody vhodné pro vstup se psy" + "cs": "Obchody vhodné pro vstup se psy", + "zh_Hant": "寵物友善商家" }, "mappings": [ { @@ -197,7 +201,8 @@ "ca": "botiga amiga dels gossos", "pa_PK": "کُتیاں دی اِجازت دی دکان", "es": "Tienda adaptada para perros", - "cs": "obchod vhodný pro vstup se psem" + "cs": "obchod vhodný pro vstup se psem", + "zh_Hant": "寵物友善商家" }, "tags": [ "dog=yes", @@ -211,7 +216,8 @@ "fr": "Un magasin où vous pouvez amener votre chien presque partout", "ca": "Una botiga on pots dur al gos gairebé a tot arreu", "es": "Una tienda a la que se puede llevar un perro a casi todas partes", - "cs": "Obchod, ve kterém si můžete vzít psa téměř kamkoli" + "cs": "Obchod, ve kterém si můžete vzít psa téměř kamkoli", + "zh_Hant": "你幾乎可以攜帶寵物到處去的商店" } } ], diff --git a/assets/themes/postal_codes/postal_codes.json b/assets/themes/postal_codes/postal_codes.json index f68fba37e..1b4152edb 100644 --- a/assets/themes/postal_codes/postal_codes.json +++ b/assets/themes/postal_codes/postal_codes.json @@ -12,7 +12,8 @@ "fr": "Codes postaux", "da": "Postnumre", "pa_PK": "ڈاک کوڈ", - "cs": "Poštovní směrovací čísla" + "cs": "Poštovní směrovací čísla", + "zh_Hant": "郵遞區號" }, "shortDescription": { "en": "Postal codes", @@ -26,7 +27,8 @@ "fr": "Codes postaux", "da": "Postnumre", "pa_PK": "ڈاک کوڈ", - "cs": "Poštovní směrovací čísla" + "cs": "Poštovní směrovací čísla", + "zh_Hant": "郵遞區號" }, "description": { "en": "Postal codes", @@ -40,7 +42,8 @@ "da": "Postnumre", "nb_NO": "Postnummer", "pa_PK": "ڈاک کوڈ", - "cs": "Poštovní směrovací čísla" + "cs": "Poštovní směrovací čísla", + "zh_Hant": "郵遞區號" }, "icon": "./assets/themes/postal_codes/townhall.svg", "startLat": 0, @@ -65,7 +68,8 @@ "fr": "codes postaux", "da": "postnumre", "pa_PK": "ڈاک کوڈ", - "cs": "poštovní směrovací čísla" + "cs": "poštovní směrovací čísla", + "zh_Hant": "郵遞區號" }, "minzoom": 8, "title": { @@ -80,7 +84,8 @@ "fr": "Code postal {postal_code}", "da": "Postnummer {postal_code}", "ca": "Codi postal {postal_code}", - "cs": "Poštovní směrovací číslo {postal_code}" + "cs": "Poštovní směrovací číslo {postal_code}", + "zh_Hant": "郵遞區號 {postal_code}" } }, "description": {}, @@ -98,7 +103,8 @@ "nb_NO": "Postnummeret er {postal_code}", "da": "Postnummeret er {postal_code}", "ca": "El codi postal és {postal_code}", - "cs": "Poštovní směrovací číslo je {postal_code}" + "cs": "Poštovní směrovací číslo je {postal_code}", + "zh_Hant": "郵遞區號是 {postal_code}" } } ], @@ -163,7 +169,8 @@ "nb_NO": "rådhus", "da": "rådhuse", "es": "Municipios", - "cs": "radnice" + "cs": "radnice", + "zh_Hant": "城鎮" }, "minzoom": 12, "title": { @@ -178,7 +185,8 @@ "nb_NO": "{name}-rådhuset", "ca": "Ajuntament de {name}", "es": "Municipio {name}", - "cs": "Radnice {name}" + "cs": "Radnice {name}", + "zh_Hant": "城鎮 {name}" } }, "calculatedTags": [ diff --git a/assets/themes/rainbow_crossings/rainbow_crossings.json b/assets/themes/rainbow_crossings/rainbow_crossings.json index 46b4810b6..689c29df9 100644 --- a/assets/themes/rainbow_crossings/rainbow_crossings.json +++ b/assets/themes/rainbow_crossings/rainbow_crossings.json @@ -9,7 +9,8 @@ "ru": "Радужные пешеходные переходы", "ca": "Pasos de vianants amb l'arc de Sant Martí", "es": "Pasos de peatones arco iris", - "cs": "Přechody s duhovými barvami" + "cs": "Přechody s duhovými barvami", + "zh_Hant": "彩虹人行穿越道" }, "description": { "en": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added", diff --git a/assets/themes/shops/shops.json b/assets/themes/shops/shops.json index b24954c4d..1d7b4a852 100644 --- a/assets/themes/shops/shops.json +++ b/assets/themes/shops/shops.json @@ -4,7 +4,7 @@ "en": "Shops", "fr": "Carte des magasins", "ja": "オープン ショップ マップ", - "zh_Hant": "開放商店地圖", + "zh_Hant": "商店", "ru": "Открытая карта магазинов", "de": "Geschäfte", "it": "Mappa dei negozi", @@ -27,7 +27,8 @@ "nl": "Een bewerkbare kaart met simpele informatie over winkels", "da": "Et redigerbart kort med grundlæggende butiksoplysninger", "ca": "Un mapa editable amb informació bàsica sobre botigues", - "cs": "Upravitelná mapa se základními informacemi o obchodech" + "cs": "Upravitelná mapa se základními informacemi o obchodech", + "zh_Hant": "有基本商家資訊的可編輯性的地圖" }, "description": { "en": "On this map, one can mark basic information about shops, add opening hours and phone numbers", diff --git a/assets/themes/sidewalks/sidewalks.json b/assets/themes/sidewalks/sidewalks.json index 16bc1b8ca..ed0444a3b 100644 --- a/assets/themes/sidewalks/sidewalks.json +++ b/assets/themes/sidewalks/sidewalks.json @@ -12,7 +12,8 @@ "it": "Marciapiede", "da": "Fortove", "pa_PK": "فُٹ‌پاتھ", - "cs": "Chodníky" + "cs": "Chodníky", + "zh_Hant": "人行道" }, "shortDescription": { "en": "Sidewalk mapping", @@ -37,7 +38,8 @@ "nb_NO": "Eksperimentelt tema", "da": "Eksperimentelt tema", "pa_PK": "آزمائش تھیم", - "cs": "Experimentální téma" + "cs": "Experimentální téma", + "zh_Hant": "實驗性的主題" }, "icon": "./assets/svg/bug.svg", "startLat": 0, @@ -60,7 +62,8 @@ "it": "Marciapiedi", "da": "Fortove", "pa_PK": "فُٹ‌پاتھ", - "cs": "Chodníky" + "cs": "Chodníky", + "zh_Hant": "人行道" }, "minzoom": 12, "source": { @@ -101,7 +104,8 @@ "fr": "Calque montrant les trottoirs", "da": "Lag, der viser fortove på motorveje", "ca": "Una capa que mostra les voreres de les vies", - "cs": "Vrstva zobrazující chodníky silnic" + "cs": "Vrstva zobrazující chodníky silnic", + "zh_Hant": "顯示道路的人行穿越道的圖層" }, "tagRenderings": [ { diff --git a/assets/themes/sports/sports.json b/assets/themes/sports/sports.json index 56a6e52be..2c716fb87 100644 --- a/assets/themes/sports/sports.json +++ b/assets/themes/sports/sports.json @@ -8,7 +8,8 @@ "fr": "Sports", "ca": "Esports", "es": "Deportes", - "cs": "Sport" + "cs": "Sport", + "zh_Hant": "運動" }, "shortDescription": { "en": "Map showing sport facilities.", @@ -17,7 +18,8 @@ "fr": "Carte des équipements sportifs.", "ca": "Mapa amb instal·lacions esportives.", "es": "Mapa con instalaciones deportivas.", - "cs": "Mapa se sportovními zařízeními." + "cs": "Mapa se sportovními zařízeními.", + "zh_Hant": "顯示運動設施的地圖。" }, "description": { "en": "All about sports, find sport pitches, fitness centres and more.", @@ -58,7 +60,8 @@ "de": "ein Sportgeschäft", "ca": "una tenda d'esports", "es": "una tienda de deportes", - "cs": "sportovní obchod" + "cs": "sportovní obchod", + "zh_Hant": "運動用品店" }, "description": { "en": "Add a new shop selling sports goods.", diff --git a/assets/themes/stations/stations.json b/assets/themes/stations/stations.json index afeff3bc7..6cba6f251 100644 --- a/assets/themes/stations/stations.json +++ b/assets/themes/stations/stations.json @@ -8,7 +8,8 @@ "fr": "Gares ferroviaires", "ca": "Estacions de tren", "es": "Estaciones de tren", - "cs": "Vlaková nádraží" + "cs": "Vlaková nádraží", + "zh_Hant": "火車站" }, "description": { "en": "View, edit and add details to a train station", @@ -88,7 +89,8 @@ "fr": "Couche montrant les gares", "ca": "Capa que mostra les estacions de tren", "es": "Capa que muestra las estaciones de tren", - "cs": "Vrstva zobrazující vlaková nádraží" + "cs": "Vrstva zobrazující vlaková nádraží", + "zh_Hant": "顯示火車站的圖層" }, "mapRendering": [ { @@ -281,7 +283,8 @@ "fr": "Tableau des départs", "ca": "Tauler de sortides", "es": "Tablero de salidas", - "cs": "Odjezdová tabule" + "cs": "Odjezdová tabule", + "zh_Hant": "時刻表" } }, "minzoom": 19, @@ -305,7 +308,8 @@ "fr": "De quel type de panneau de départs s'agit-il ?", "ca": "Quin tipus de tauler de sortides és aquest?", "es": "¿Qué tipo de tablero de salidas es éste?", - "cs": "Co je to za odjezdovou tabuli?" + "cs": "Co je to za odjezdovou tabuli?", + "zh_Hant": "這是那種類型的時刻表?" }, "mappings": [ { @@ -342,7 +346,8 @@ "fr": "Tableau des départs papier", "ca": "Aquest és un horari en paper", "es": "Este es un horario en papel", - "cs": "Jedná se o papírový rozvrh" + "cs": "Jedná se o papírový rozvrh", + "zh_Hant": "這份是紙本時刻表" } }, { @@ -372,7 +377,8 @@ "fr": "un panneaux des départs", "ca": "un tauler de sortides", "es": "un tablero de salidas", - "cs": "odjezdová tabule" + "cs": "odjezdová tabule", + "zh_Hant": "時刻表" }, "description": { "en": "Add a board showing departures, either electronic or paper", diff --git a/assets/themes/toilets/toilets.json b/assets/themes/toilets/toilets.json index 65419cb2c..f5d42057b 100644 --- a/assets/themes/toilets/toilets.json +++ b/assets/themes/toilets/toilets.json @@ -7,7 +7,7 @@ "nl": "Publieke Toiletten", "ru": "Открытая карта туалетов", "ja": "オープントイレマップ", - "zh_Hant": "開放廁所地圖", + "zh_Hant": "公共廁所", "pl": "Mapa otwartych toalet", "it": "Mappa libera delle toilet", "nb_NO": "Åpent toalettkart", diff --git a/assets/themes/transit/transit.json b/assets/themes/transit/transit.json index 595ddd25f..165cfd1d4 100644 --- a/assets/themes/transit/transit.json +++ b/assets/themes/transit/transit.json @@ -10,7 +10,8 @@ "pa_PK": "بس روٹ", "nl": "Busroutes", "es": "Rutas de autobús", - "cs": "Autobusové linky" + "cs": "Autobusové linky", + "zh_Hant": "公車路線" }, "description": { "en": "Plan your trip with the help of the public transport system.", @@ -21,7 +22,8 @@ "nb_NO": "Planlegg turen din med offentlig transport", "ca": "Planifica el teu viatge amb l'ajuda del sistema públic de transport.", "es": "Planifique su viaje con ayuda del sistema de transporte público.", - "cs": "Naplánujte si cestu pomocí systému veřejné dopravy." + "cs": "Naplánujte si cestu pomocí systému veřejné dopravy.", + "zh_Hant": "藉由大眾運輸系統來計畫你的旅程。" }, "icon": "./assets/layers/transit_stops/bus_stop.svg", "startZoom": 20, diff --git a/assets/themes/walls_and_buildings/walls_and_buildings.json b/assets/themes/walls_and_buildings/walls_and_buildings.json index c177e7ab9..d0b9c21d8 100644 --- a/assets/themes/walls_and_buildings/walls_and_buildings.json +++ b/assets/themes/walls_and_buildings/walls_and_buildings.json @@ -9,7 +9,8 @@ "nl": "Muren en gebouwen", "ca": "Murs i edificis", "es": "Muros y edificios", - "cs": "Stěny a budovy" + "cs": "Stěny a budovy", + "zh_Hant": "牆壁與建築" }, "description": { "en": "Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, …). This layer is invisible by default and not toggleable by the user.", @@ -19,7 +20,8 @@ "nl": "Speciale ingebouwde laag voor alle muren en gebouwen. Deze laag is nuttig in voorkeuzen voor objecten die tegen muren geplaatst kunnen worden (bv. AEDs, brievenbussen, ingangen, adressen, beveiligingscamera's,…). Deze laag is standaard onzichtbaar en niet in te schakelen door de gebruiker.", "ca": "Capa construïda especial que proporciona totes les parets i edificis. Aquesta capa és útil als predefinits per a objectes que es poden col·locar a les parets (p. ex. DEA, bústies de correus, entrades, adreces, càmeres de vigilància, ...). Aquesta capa és invisible per defecte i no es pot activar per l'usuari.", "es": "Capa especial incorporada que proporciona todas las paredes y edificios. Esta capa es útil en los preajustes para objetos que pueden colocarse contra las paredes (por ejemplo: AEDs, buzones de correos, entradas, direcciones, cámaras de vigilancia, ...). Esta capa es invisible por defecto y no puede ser activada por el usuario.", - "cs": "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." + "cs": "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.", + "zh_Hant": "特殊的內建圖層顯示所有牆壁與建築。這個圖層對於規畫要靠牆的東西 (例如 AED、郵筒、入口、地址、監視器等) 相當實用。這個圖層預設顯示而且無法由使用者開關。" }, "icon": "./assets/layers/walls_and_buildings/walls_and_buildings.png", "startLat": 50.8465573, diff --git a/assets/themes/waste/waste.json b/assets/themes/waste/waste.json index 174d5158f..ca29f00e9 100644 --- a/assets/themes/waste/waste.json +++ b/assets/themes/waste/waste.json @@ -11,7 +11,8 @@ "da": "Affald", "es": "Basura y reciclaje", "ru": "Мусор", - "cs": "Odpad" + "cs": "Odpad", + "zh_Hant": "廢棄物" }, "description": { "en": "Map showing waste baskets and recycling facilities.", @@ -22,7 +23,8 @@ "ca": "Mapa que mostra papereres i infraestructures de reciclatge.", "da": "Kort over affaldskurve og genbrugsanlæg.", "es": "Mapa que muestra las papeleras y las instalaciones de reciclaje.", - "cs": "Mapa zobrazující koše na odpadky a recyklační zařízení." + "cs": "Mapa zobrazující koše na odpadky a recyklační zařízení.", + "zh_Hant": "顯示垃圾筒與回收設施的地圖。" }, "icon": "./assets/layers/recycling/recycling-14.svg", "startZoom": 19, diff --git a/langs/layers/de.json b/langs/layers/de.json index 203fda25d..ace96fb33 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,16 +35,6 @@ "1": { "title": "eine freistehende Posterbox" }, - "10": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "11": { - "title": "eine Skulptur" - }, - "12": { - "title": "eine Wandmalerei" - }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -71,6 +61,16 @@ }, "9": { "title": "ein Totem" + }, + "10": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "11": { + "title": "eine Skulptur" + }, + "12": { + "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -165,9 +165,6 @@ "1": { "then": "Dies ist ein Brett" }, - "10": { - "then": "Dies ist eine Wandmalerei" - }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -191,6 +188,9 @@ }, "9": { "then": "Dies ist ein Totem" + }, + "10": { + "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -205,9 +205,6 @@ "1": { "then": "Brett" }, - "10": { - "then": "Wandmalerei" - }, "2": { "then": "Posterbox" }, @@ -231,6 +228,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Wandmalerei" } } } @@ -312,15 +312,6 @@ "1": { "then": "Wandbild" }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" - }, "2": { "then": "Malerei" }, @@ -344,6 +335,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -1830,27 +1830,6 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" - }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -1874,6 +1853,27 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" + }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -1929,6 +1929,30 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" + }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -1959,9 +1983,6 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -1992,32 +2013,11 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -3555,15 +3555,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3587,6 +3578,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3635,15 +3635,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3667,6 +3658,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4599,6 +4599,30 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." + }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4629,9 +4653,6 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4646,27 +4667,6 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -4773,21 +4773,6 @@ "1": { "then": "Dies ist eine Pommesbude" }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" - }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -4811,6 +4796,21 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" + }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5975,19 +5975,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } - }, "2": { "options": { "0": { @@ -6043,6 +6030,19 @@ "question": "Nur offene Notizen anzeigen" } } + }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } } }, "name": "OpenStreetMap-Hinweise", @@ -6371,21 +6371,6 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, - "10": { - "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "14": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." - }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6409,6 +6394,21 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Motorräder reserviert ist." + }, + "10": { + "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "14": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -7035,6 +7035,30 @@ "1": { "question": "Recycling von Batterien" }, + "2": { + "question": "Recycling von Getränkekartons" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" + }, "10": { "question": "Recycling von Glas" }, @@ -7065,35 +7089,11 @@ "19": { "question": "Recycling von Restabfällen" }, - "2": { - "question": "Recycling von Getränkekartons" - }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" } } }, @@ -7161,6 +7161,30 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" + }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -7191,9 +7215,6 @@ "19": { "then": "Schuhe können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -7208,27 +7229,6 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -7813,12 +7813,6 @@ }, "question": "Hat die Treppe einen Handlauf?" }, - "multilevels": { - "override": { - "question": "Zwischen welchen Stockwerken befindet sich diese Treppe?", - "render": "Diese Treppe ist zwischen den Stockwerken {level}" - } - }, "ramp": { "mappings": { "0": { @@ -7945,12 +7939,6 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" - }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -7974,6 +7962,12 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" + }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -8232,18 +8226,6 @@ }, "render": "Dieser Fahrkartenentwerter ist Teil einer Zugangsbarriere vom Typ {barrier}" }, - "payment-options": { - "override": { - "mappings+": { - "0": { - "then": "Dieser Fahrkartenentwerter akzeptiert die OV-Chipkaart" - }, - "1": { - "then": "Dieser Ticketentwerter akzeptiert die OV-Chipkaart" - } - } - } - }, "validator-operator": { "freeform": { "placeholder": "Name des Betreibers" @@ -8461,11 +8443,6 @@ }, "name": "Toiletten in anderen Einrichtungen", "tagRenderings": { - "opening_hours": { - "override": { - "question": "Wann ist der Ort, an dem sich diese Toiletten befinden, geöffnet?" - } - }, "toilet-access": { "mappings": { "0": { @@ -9352,4 +9329,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/en.json b/langs/layers/en.json index d82a0280c..48da2604e 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -35,16 +35,6 @@ "1": { "title": "a freestanding poster box" }, - "10": { - "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", - "title": "a sign" - }, - "11": { - "title": "a sculpture" - }, - "12": { - "title": "a wall painting" - }, "2": { "title": "a poster box mounted on a wall" }, @@ -71,6 +61,16 @@ }, "9": { "title": "a totem" + }, + "10": { + "description": "Used for advertising signs, neon signs, logos & institutional entrance signs", + "title": "a sign" + }, + "11": { + "title": "a sculpture" + }, + "12": { + "title": "a wall painting" } }, "tagRenderings": { @@ -165,9 +165,6 @@ "1": { "then": "This is a board" }, - "10": { - "then": "This is a wall painting" - }, "2": { "then": "This is a column" }, @@ -191,6 +188,9 @@ }, "9": { "then": "This is a totem" + }, + "10": { + "then": "This is a wall painting" } }, "question": "Which type of advertising feature is this?", @@ -205,9 +205,6 @@ "1": { "then": "Board" }, - "10": { - "then": "Wall painting" - }, "2": { "then": "Poster Box" }, @@ -231,6 +228,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Wall painting" } } } @@ -312,15 +312,6 @@ "1": { "then": "Mural" }, - "10": { - "then": "Azulejo (Spanish decorative tilework)" - }, - "11": { - "then": "Tilework" - }, - "12": { - "then": "Woodcarving" - }, "2": { "then": "Painting" }, @@ -344,6 +335,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (Spanish decorative tilework)" + }, + "11": { + "then": "Tilework" + }, + "12": { + "then": "Woodcarving" } }, "question": "What is the type of this artwork?", @@ -1830,27 +1830,6 @@ "1": { "question": "Has a
Schuko wall plug without ground pin (CEE7/4 type F)
connector" }, - "10": { - "question": "Has a
Type 2 with cable (mennekes)
connector" - }, - "11": { - "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" - }, - "12": { - "question": "Has a
Tesla Supercharger (destination)
connector" - }, - "13": { - "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" - }, - "14": { - "question": "Has a
USB to charge phones and small electronics
connector" - }, - "15": { - "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" - }, - "16": { - "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" - }, "2": { "question": "Has a
European wall plug with ground pin (CEE7/4 type E)
connector" }, @@ -1874,6 +1853,27 @@ }, "9": { "question": "Has a
Type 2 CCS (mennekes)
connector" + }, + "10": { + "question": "Has a
Type 2 with cable (mennekes)
connector" + }, + "11": { + "question": "Has a
Tesla Supercharger CCS (a branded type2_css)
connector" + }, + "12": { + "question": "Has a
Tesla Supercharger (destination)
connector" + }, + "13": { + "question": "Has a
Tesla Supercharger (Destination) (A Type 2 with cable branded as tesla)
connector" + }, + "14": { + "question": "Has a
USB to charge phones and small electronics
connector" + }, + "15": { + "question": "Has a
Bosch Active Connect with 3 pins and cable
connector" + }, + "16": { + "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" } } } @@ -1929,6 +1929,30 @@ "1": { "then": "Schuko wall plug without ground pin (CEE7/4 type F)" }, + "2": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, + "3": { + "then": "European wall plug with ground pin (CEE7/4 type E)" + }, + "4": { + "then": "Chademo" + }, + "5": { + "then": "Chademo" + }, + "6": { + "then": "Type 1 with cable (J1772)" + }, + "7": { + "then": "Type 1 with cable (J1772)" + }, + "8": { + "then": "Type 1 without cable (J1772)" + }, + "9": { + "then": "Type 1 without cable (J1772)" + }, "10": { "then": "Type 1 CCS (aka Type 1 Combo)" }, @@ -1959,9 +1983,6 @@ "19": { "then": "Type 2 with cable (mennekes)" }, - "2": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, "20": { "then": "Tesla Supercharger CCS (a branded type2_css)" }, @@ -1992,32 +2013,11 @@ "29": { "then": "Bosch Active Connect with 3 pins and cable" }, - "3": { - "then": "European wall plug with ground pin (CEE7/4 type E)" - }, "30": { "then": "Bosch Active Connect with 5 pins and cable" }, "31": { "then": "Bosch Active Connect with 5 pins and cable" - }, - "4": { - "then": "Chademo" - }, - "5": { - "then": "Chademo" - }, - "6": { - "then": "Type 1 with cable (J1772)" - }, - "7": { - "then": "Type 1 with cable (J1772)" - }, - "8": { - "then": "Type 1 without cable (J1772)" - }, - "9": { - "then": "Type 1 without cable (J1772)" } }, "question": "Which charging connections are available here?" @@ -3555,15 +3555,6 @@ "1": { "then": "This cycleway is paved" }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" - }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3587,6 +3578,15 @@ }, "9": { "then": "This cycleway is made of gravel" + }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the cycleway made from?", @@ -3635,15 +3635,6 @@ "1": { "then": "This cycleway is paved" }, - "10": { - "then": "This cycleway is made of fine gravel" - }, - "11": { - "then": "This cycleway is made of pebblestone" - }, - "12": { - "then": "This cycleway is made from raw ground" - }, "2": { "then": "This cycleway is made of asphalt" }, @@ -3667,6 +3658,15 @@ }, "9": { "then": "This cycleway is made of gravel" + }, + "10": { + "then": "This cycleway is made of fine gravel" + }, + "11": { + "then": "This cycleway is made of pebblestone" + }, + "12": { + "then": "This cycleway is made from raw ground" } }, "question": "What is the surface of the street made from?", @@ -4599,6 +4599,30 @@ "1": { "then": "This fitness station has a sign with instructions for a specific exercise." }, + "2": { + "then": "This fitness station has a facility for sit-ups." + }, + "3": { + "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." + }, + "4": { + "then": "This fitness station has bars for stretching." + }, + "5": { + "then": "This fitness station has a station for making hyperextensions." + }, + "6": { + "then": "This fitness station has rings for gymnastic exercises." + }, + "7": { + "then": "This fitness station has a horizontal ladder, also known as monkey bars." + }, + "8": { + "then": "This fitness station has wall bars to climb on." + }, + "9": { + "then": "This fitness station has posts for performing slalom exercises." + }, "10": { "then": "This fitness station has stepping stones." }, @@ -4629,9 +4653,6 @@ "19": { "then": "This fitness station has battling ropes." }, - "2": { - "then": "This fitness station has a facility for sit-ups." - }, "20": { "then": "This fitness station has a stationary bicycle." }, @@ -4646,27 +4667,6 @@ }, "24": { "then": "This fitness station has a slackline." - }, - "3": { - "then": "This fitness station has a facility for push-ups. Usually consists of one or more low horizontal bars." - }, - "4": { - "then": "This fitness station has bars for stretching." - }, - "5": { - "then": "This fitness station has a station for making hyperextensions." - }, - "6": { - "then": "This fitness station has rings for gymnastic exercises." - }, - "7": { - "then": "This fitness station has a horizontal ladder, also known as monkey bars." - }, - "8": { - "then": "This fitness station has wall bars to climb on." - }, - "9": { - "then": "This fitness station has posts for performing slalom exercises." } }, "question": "What kind of equipment does this fitness station have?" @@ -4773,21 +4773,6 @@ "1": { "then": "This is a friture" }, - "10": { - "then": "Chinese dishes are served here" - }, - "11": { - "then": "Greek dishes are served here" - }, - "12": { - "then": "Indian dishes are served here" - }, - "13": { - "then": "Turkish dishes are served here" - }, - "14": { - "then": "Thai dishes are served here" - }, "2": { "then": "Mainly serves pasta" }, @@ -4811,6 +4796,21 @@ }, "9": { "then": "French dishes are served here" + }, + "10": { + "then": "Chinese dishes are served here" + }, + "11": { + "then": "Greek dishes are served here" + }, + "12": { + "then": "Indian dishes are served here" + }, + "13": { + "then": "Turkish dishes are served here" + }, + "14": { + "then": "Thai dishes are served here" } }, "question": "Which food is served here?", @@ -5975,19 +5975,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "All Notes" - }, - "1": { - "question": "Hide import notes" - }, - "2": { - "question": "Show only import Notes" - } - } - }, "2": { "options": { "0": { @@ -6043,6 +6030,19 @@ "question": "Only show open notes" } } + }, + "10": { + "options": { + "0": { + "question": "All Notes" + }, + "1": { + "question": "Hide import notes" + }, + "2": { + "question": "Show only import Notes" + } + } } }, "name": "OpenStreetMap notes", @@ -6371,21 +6371,6 @@ "1": { "then": "This is a normal parking space." }, - "10": { - "then": "This is a parking space reserved for parents with children." - }, - "11": { - "then": "This is a parking space reserved for staff." - }, - "12": { - "then": "This is a parking space reserved for taxis." - }, - "13": { - "then": "This is a parking space reserved for vehicles towing a trailer." - }, - "14": { - "then": "This is a parking space reserved for car sharing." - }, "2": { "then": "This is a disabled parking space." }, @@ -6409,6 +6394,21 @@ }, "9": { "then": "This is parking space reserved for motorcycles." + }, + "10": { + "then": "This is a parking space reserved for parents with children." + }, + "11": { + "then": "This is a parking space reserved for staff." + }, + "12": { + "then": "This is a parking space reserved for taxis." + }, + "13": { + "then": "This is a parking space reserved for vehicles towing a trailer." + }, + "14": { + "then": "This is a parking space reserved for car sharing." } }, "question": "What kind of parking space is this?" @@ -7035,6 +7035,30 @@ "1": { "question": "Recycling of batteries" }, + "2": { + "question": "Recycling of beverage cartons" + }, + "3": { + "question": "Recycling of cans" + }, + "4": { + "question": "Recycling of clothes" + }, + "5": { + "question": "Recycling of cooking oil" + }, + "6": { + "question": "Recycling of engine oil" + }, + "7": { + "question": "Recycling of fluorescent tubes" + }, + "8": { + "question": "Recycling of green waste" + }, + "9": { + "question": "Recycling of glass bottles" + }, "10": { "question": "Recycling of glass" }, @@ -7065,35 +7089,11 @@ "19": { "question": "Recycling of residual waste" }, - "2": { - "question": "Recycling of beverage cartons" - }, "20": { "question": "Recycling of printer cartridges" }, "21": { "question": "Recycling of bicycles" - }, - "3": { - "question": "Recycling of cans" - }, - "4": { - "question": "Recycling of clothes" - }, - "5": { - "question": "Recycling of cooking oil" - }, - "6": { - "question": "Recycling of engine oil" - }, - "7": { - "question": "Recycling of fluorescent tubes" - }, - "8": { - "question": "Recycling of green waste" - }, - "9": { - "question": "Recycling of glass bottles" } } }, @@ -7161,6 +7161,30 @@ "1": { "then": "Beverage cartons can be recycled here" }, + "2": { + "then": "Cans can be recycled here" + }, + "3": { + "then": "Clothes can be recycled here" + }, + "4": { + "then": "Cooking oil can be recycled here" + }, + "5": { + "then": "Engine oil can be recycled here" + }, + "6": { + "then": "Fluorescent tubes can be recycled here" + }, + "7": { + "then": "Green waste can be recycled here" + }, + "8": { + "then": "Organic waste can be recycled here" + }, + "9": { + "then": "Glass bottles can be recycled here" + }, "10": { "then": "Glass can be recycled here" }, @@ -7191,9 +7215,6 @@ "19": { "then": "Shoes can be recycled here" }, - "2": { - "then": "Cans can be recycled here" - }, "20": { "then": "Small electrical appliances can be recycled here" }, @@ -7208,27 +7229,6 @@ }, "24": { "then": "Bicycles can be recycled here" - }, - "3": { - "then": "Clothes can be recycled here" - }, - "4": { - "then": "Cooking oil can be recycled here" - }, - "5": { - "then": "Engine oil can be recycled here" - }, - "6": { - "then": "Fluorescent tubes can be recycled here" - }, - "7": { - "then": "Green waste can be recycled here" - }, - "8": { - "then": "Organic waste can be recycled here" - }, - "9": { - "then": "Glass bottles can be recycled here" } }, "question": "What can be recycled here?" @@ -7945,12 +7945,6 @@ "1": { "then": "This lamp uses LEDs" }, - "10": { - "then": "This lamp uses high pressure sodium lamps (orange with white)" - }, - "11": { - "then": "This lamp is lit using gas" - }, "2": { "then": "This lamp uses incandescent lighting" }, @@ -7974,6 +7968,12 @@ }, "9": { "then": "This lamp uses low pressure sodium lamps (monochrome orange)" + }, + "10": { + "then": "This lamp uses high pressure sodium lamps (orange with white)" + }, + "11": { + "then": "This lamp is lit using gas" } }, "question": "What kind of lighting does this lamp use?" @@ -9352,4 +9352,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/zh_Hant.json b/langs/layers/zh_Hant.json index 14ad256f7..c13bd051c 100644 --- a/langs/layers/zh_Hant.json +++ b/langs/layers/zh_Hant.json @@ -36,12 +36,6 @@ "1": { "then": "壁畫" }, - "10": { - "then": "Azulejo (西班牙雕塑作品名稱)" - }, - "11": { - "then": "瓷磚" - }, "2": { "then": "繪畫" }, @@ -65,6 +59,12 @@ }, "9": { "then": "寬慰" + }, + "10": { + "then": "Azulejo (西班牙雕塑作品名稱)" + }, + "11": { + "then": "瓷磚" } }, "question": "這是什麼類型的藝術品?", @@ -678,4 +678,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/shared-questions/de.json b/langs/shared-questions/de.json index ef0983431..4c25a79e0 100644 --- a/langs/shared-questions/de.json +++ b/langs/shared-questions/de.json @@ -324,4 +324,4 @@ "question": "Wie lautet das zugehörige Wikidata Element?" } } -} +} \ No newline at end of file diff --git a/langs/shared-questions/en.json b/langs/shared-questions/en.json index 9aa110d81..8d686d5a2 100644 --- a/langs/shared-questions/en.json +++ b/langs/shared-questions/en.json @@ -324,4 +324,4 @@ "question": "What is the corresponding Wikidata entity?" } } -} +} \ No newline at end of file diff --git a/langs/themes/de.json b/langs/themes/de.json index 6da33f299..36353d8fe 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -936,33 +936,6 @@ "onwheels": { "description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistik" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Alle vorgeschlagenen Tags hinzufügen" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1005,6 +978,33 @@ "override": { "name": "Barrierefreie Parkplätze" } + }, + "19": { + "override": { + "=title": { + "render": "Statistik" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Alle vorgeschlagenen Tags hinzufügen" + } + } + } + } + } } }, "title": "Auf Rädern" @@ -1165,6 +1165,10 @@ "stations": { "description": "Bahnhofsdetails ansehen, bearbeiten und hinzufügen", "layers": { + "3": { + "description": "Ebene mit Bahnhöfen", + "name": "Bahnhöfe" + }, "16": { "description": "Anzeigen der Züge, die von diesem Bahnhof abfahren", "name": "Abfahrtstafeln", @@ -1196,10 +1200,6 @@ "title": { "render": "Abfahrtstafel" } - }, - "3": { - "description": "Ebene mit Bahnhöfen", - "name": "Bahnhöfe" } }, "title": "Bahnhöfe" @@ -1291,4 +1291,4 @@ "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" } -} +} \ No newline at end of file diff --git a/langs/themes/en.json b/langs/themes/en.json index a0b02ebe9..382ec151a 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -936,33 +936,6 @@ "onwheels": { "description": "On this map, publicly weelchair accessible places are shown and can be easily added", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistics" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Add all the suggested tags" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1005,6 +978,33 @@ "override": { "name": "Disabled parking spaces" } + }, + "19": { + "override": { + "=title": { + "render": "Statistics" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Add all the suggested tags" + } + } + } + } + } } }, "title": "OnWheels" @@ -1165,6 +1165,10 @@ "stations": { "description": "View, edit and add details to a train station", "layers": { + "3": { + "description": "Layer showing train stations", + "name": "Train Stations" + }, "16": { "description": "Displays showing the trains that will leave from this station", "name": "Departures boards", @@ -1196,10 +1200,6 @@ "title": { "render": "Departures board" } - }, - "3": { - "description": "Layer showing train stations", - "name": "Train Stations" } }, "title": "Train Stations" @@ -1291,4 +1291,4 @@ "shortDescription": "A map with waste baskets", "title": "Waste Basket" } -} +} \ No newline at end of file diff --git a/langs/themes/zh_Hant.json b/langs/themes/zh_Hant.json index 3913b5de9..f209bca65 100644 --- a/langs/themes/zh_Hant.json +++ b/langs/themes/zh_Hant.json @@ -513,6 +513,9 @@ }, "stations": { "layers": { + "3": { + "description": "顯示火車站的圖層" + }, "16": { "presets": { "0": { @@ -532,9 +535,6 @@ "title": { "render": "時刻表" } - }, - "3": { - "description": "顯示火車站的圖層" } }, "title": "火車站" @@ -626,4 +626,4 @@ "shortDescription": "垃圾筒的地圖", "title": "垃圾筒" } -} +} \ No newline at end of file From 9e911ef92abc48c8e0b32717f71ba670bdd42410 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 28 Jun 2023 22:43:06 +0200 Subject: [PATCH 27/27] Chore: fix and regenerate docs --- Docs/BuiltinQuestions.md | 2 +- Docs/Layers/advertising.md | 2 +- Docs/Layers/bicycle_library.md | 2 +- Docs/Layers/bike_cleaning.md | 2 +- Docs/Layers/bike_shop.md | 2 +- Docs/Layers/bike_themed_object.md | 2 +- Docs/Layers/climbing_route.md | 2 +- Docs/Layers/toilet.md | 2 +- Docs/Layers/toilet_at_amenity.md | 2 +- Docs/TagInfo/mapcomplete_advertising.json | 2 +- Docs/TagInfo/mapcomplete_cyclofix.json | 2 +- Docs/TagInfo/mapcomplete_personal.json | 4 +- Docs/Themes/advertising.md | 1 + Docs/Themes/atm.md | 1 + Docs/Themes/bag.md | 1 + Docs/Themes/bicycle_rental.md | 1 + Docs/Themes/maproulette.md | 1 + Docs/Themes/maxspeed.md | 1 + Docs/Themes/nature.md | 1 + Docs/Themes/notes.md | 1 + Docs/Themes/pets.md | 1 + Docs/Themes/postal_codes.md | 1 + Docs/Themes/rainbow_crossings.md | 1 + Docs/Themes/sidewalks.md | 1 + Docs/Themes/sports.md | 1 + Docs/Themes/stations.md | 1 + Docs/Themes/transit.md | 1 + Docs/Themes/walls_and_buildings.md | 1 + Docs/Themes/waste.md | 1 + Docs/wikiIndex.txt | 20 ++-- .../mapcomplete-changes.json | 97 +++++-------------- scripts/generateDocs.ts | 6 +- 32 files changed, 71 insertions(+), 95 deletions(-) diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md index aa7daa342..ccbfca14a 100644 --- a/Docs/BuiltinQuestions.md +++ b/Docs/BuiltinQuestions.md @@ -233,7 +233,7 @@ Are dogs allowed in this business? {description} -Is there still something relevant you couldn't give in the previous questions? Add it here. +Is there still some relevant info that the previous questions did not cover? Feel free to add it here. diff --git a/Docs/Layers/advertising.md b/Docs/Layers/advertising.md index 9e716e0df..749cd262a 100644 --- a/Docs/Layers/advertising.md +++ b/Docs/Layers/advertising.md @@ -191,7 +191,7 @@ The question is *What kind of message is shown?* - Unselecting this answer will add - *Electoral advertising* corresponds with `message=political` - Unselecting this answer will add - - *Inormation related to theatre, concerts, ...* corresponds with `message=showbiz` + - *Information related to theatre, concerts, …* corresponds with `message=showbiz` - Unselecting this answer will add - *Message from non-profit organizations* corresponds with `message=non_profit` - Unselecting this answer will add diff --git a/Docs/Layers/bicycle_library.md b/Docs/Layers/bicycle_library.md index 06a7087c9..fff4eecf6 100644 --- a/Docs/Layers/bicycle_library.md +++ b/Docs/Layers/bicycle_library.md @@ -226,7 +226,7 @@ The question is *Who can loan bicycles here?* -The question is *Is there still something relevant you couldn't give in the previous questions? Add it here.* +The question is *Is there still some relevant info that the previous questions did not cover? Feel free to add it here.* This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) diff --git a/Docs/Layers/bike_cleaning.md b/Docs/Layers/bike_cleaning.md index 22ad6baf2..1edfd3cb4 100644 --- a/Docs/Layers/bike_cleaning.md +++ b/Docs/Layers/bike_cleaning.md @@ -120,7 +120,7 @@ This is rendered with `Using the cleaning service costs {charge}` - *This cleaning service is free to use* corresponds with `fee=no` - - *This cleaning service is paid* corresponds with `fee=yes` + - *There is a fee to use this cleaning service* corresponds with `fee=yes` This tagrendering is only visible in the popup if the following condition is met: `amenity=bike_wash|amenity=bicycle_wash` diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index cc22ed596..2aa996d07 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -530,7 +530,7 @@ This is rendered with `Using the cleaning service costs {service:bicycle:cleani -The question is *Is there still something relevant you couldn't give in the previous questions? Add it here.* +The question is *Is there still some relevant info that the previous questions did not cover? Feel free to add it here.* This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) diff --git a/Docs/Layers/bike_themed_object.md b/Docs/Layers/bike_themed_object.md index 648e6b5d8..8a66060f8 100644 --- a/Docs/Layers/bike_themed_object.md +++ b/Docs/Layers/bike_themed_object.md @@ -91,7 +91,7 @@ This tagrendering has no question and is thus read-only -The question is *Is there still something relevant you couldn't give in the previous questions? Add it here.* +The question is *Is there still some relevant info that the previous questions did not cover? Feel free to add it here.* This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description) diff --git a/Docs/Layers/climbing_route.md b/Docs/Layers/climbing_route.md index 668898b8b..12e079584 100644 --- a/Docs/Layers/climbing_route.md +++ b/Docs/Layers/climbing_route.md @@ -159,7 +159,7 @@ This is rendered with `This route has {climbing:bolts} bolts
{id}", - "de": "Änderungssatz {id}" + "en": "Changeset {id}" } }, { "id": "contributor", "question": { - "en": "Which contributor made this change?", - "nl": "Welke bijdrager maakte deze wijziging?", - "de": "Welcher Mitwirkende hat diese Änderung vorgenommen?" + "en": "What contributor did make this change?" }, "freeform": { "key": "user" }, "render": { - "en": "Change made by {user}", - "nl": "Wijziging gemaakt door {user}", - "de": "Änderung gemacht von {user}" + "en": "Change made by {user}" } }, { "id": "theme-id", "question": { - "en": "What theme was used to make this change?", - "de": "Welches Thema wurde für diese Änderung verwendet?\"" + "en": "What theme was used to make this change?" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}", - "de": "Geändert mit Thema {theme}" + "en": "Change with theme {theme}" } }, { @@ -92,27 +74,19 @@ "key": "locale" }, "question": { - "en": "What locale (language) was this change made in?", - "nl": "In welke locale (taal) werd deze wijziging gemaakt?", - "de": "In welcher Sprache wurde diese Änderung vorgenommen?" + "en": "What locale (language) was this change made in?" }, "render": { - "en": "User locale is {locale}", - "nl": "De gebruikerstaal is {locale}", - "de": "Usersprache ist {locale}" + "en": "User locale is {locale}" } }, { "id": "host", "render": { - "en": "Change made with {host}", - "nl": "Wijziging gemaakt met {host}", - "de": "Änderung vorgenommen mit {host}" + "en": "Change with with {host}" }, "question": { - "en": "What host (website) was this change made with?", - "nl": "Met welke host (website) werd deze wijziging gemaakt?", - "de": "Mit welchem Host / welcher Website wurde diese Änderung gemacht?" + "en": "What host (website) was this change made with?" }, "freeform": { "key": "host" @@ -133,12 +107,10 @@ { "id": "version", "question": { - "en": "What version of MapComplete was used to make this change?", - "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?" + "en": "What version of MapComplete was used to make this change?" }, "render": { - "en": "Made with {editor}", - "de": "Erstellt mit {editor}" + "en": "Made with {editor}" }, "freeform": { "key": "editor" @@ -472,9 +444,7 @@ } ], "question": { - "en": "Theme name contains {search}", - "nl": "Themenaam bevat {search}", - "de": "Themenname enthält {search}" + "en": "Themename contains {search}" } } ] @@ -490,9 +460,7 @@ } ], "question": { - "en": "Made by contributor {search}", - "nl": "Gemaakt door bijdrager {search}", - "de": "Erstellt von {search}" + "en": "Made by contributor {search}" } } ] @@ -508,9 +476,7 @@ } ], "question": { - "en": "Not made by contributor {search}", - "nl": "Niet gemaakt door bijdrager {search}", - "de": "Nicht erstellt von {search}" + "en": "Not made by contributor {search}" } } ] @@ -527,9 +493,7 @@ } ], "question": { - "en": "Made before {search}", - "nl": "Gemaakt voor {search}", - "de": "Erstellt vor {search}" + "en": "Made before {search}" } } ] @@ -546,9 +510,7 @@ } ], "question": { - "en": "Made after {search}", - "nl": "Gemaakt na {search}", - "de": "Erstellt nach {search}" + "en": "Made after {search}" } } ] @@ -564,9 +526,7 @@ } ], "question": { - "en": "User language (iso-code) {search}", - "nl": "De taal van de bijdrager is {search}", - "de": "Benutzersprache (ISO-Code) {search}" + "en": "User language (iso-code) {search}" } } ] @@ -582,9 +542,7 @@ } ], "question": { - "en": "Made with host {search}", - "nl": "Gemaakt met host {search}", - "de": "Erstellt mit Host {search}" + "en": "Made with host {search}" } } ] @@ -595,9 +553,7 @@ { "osmTags": "add-image>0", "question": { - "en": "Changeset added at least one image", - "nl": "Changeset bevat minstens één afbeelding", - "de": "Changeset fügte mindestens ein Bild hinzu" + "en": "Changeset added at least one image" } } ] @@ -612,8 +568,7 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here", - "de": "Mehr Statistiken gibt es hier" + "en": "More statistics can be found here" } }, { diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts index ed2e0c639..9d0e90c48 100644 --- a/scripts/generateDocs.ts +++ b/scripts/generateDocs.ts @@ -34,6 +34,9 @@ function WriteFile( noTableOfContents: boolean } ): void { + if (!html) { + return + } for (const source of autogenSource) { if (source.indexOf("*") > 0) { continue @@ -106,7 +109,8 @@ function GenerateDocumentationForTheme(theme: LayoutConfig): BaseUIElement { function GenLayerOverviewText(): BaseUIElement { for (const id of Constants.priviliged_layers) { if (!AllSharedLayers.sharedLayers.has(id)) { - throw "Priviliged layer definition not found: " + id + console.error("Priviliged layer definition not found: " + id) + return undefined } }