From 5fa524cc92f8843d9eba39d7e847c4c46ed4ac9a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 6 Jun 2025 20:14:57 +0200 Subject: [PATCH] Chore: fix test, translation sync --- .../toilet_at_amenity/toilet_at_amenity.json | 4 +- langs/layers/en.json | 2 +- langs/layers/it.json | 2 +- langs/layers/nl.json | 2 +- langs/zh_Hant.json | 94 +++++++++---------- src/Logic/State/UserSettingsMetaTagging.ts | 48 ++-------- .../ThemeConfig/Conversion/PrepareLayer.ts | 3 +- 7 files changed, 65 insertions(+), 90 deletions(-) diff --git a/assets/layers/toilet_at_amenity/toilet_at_amenity.json b/assets/layers/toilet_at_amenity/toilet_at_amenity.json index 1024a6c2e..4f967c5fb 100644 --- a/assets/layers/toilet_at_amenity/toilet_at_amenity.json +++ b/assets/layers/toilet_at_amenity/toilet_at_amenity.json @@ -146,7 +146,9 @@ "tagRenderings": [ { "id": "images_toilet", - "labels": ["relevant_questions"], + "labels": [ + "relevant_questions" + ], "render": { "special": { "before": "{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}", diff --git a/langs/layers/en.json b/langs/layers/en.json index fab0ae1e0..1647635bb 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -12872,7 +12872,7 @@ }, "name": "Toilets at other amenities", "tagRenderings": { - "images": { + "images_toilet": { "render": { "special": { "label": "Add a picture of the toilets" diff --git a/langs/layers/it.json b/langs/layers/it.json index 922fa403f..1bfea386b 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -12753,7 +12753,7 @@ }, "name": "Bagni presso altre strutture", "tagRenderings": { - "images": { + "images_toilet": { "render": { "special": { "label": "Aggiungi una foto dei bagni" diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 500333af2..923bb8811 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -10299,7 +10299,7 @@ }, "name": "Toilet in een voorziening", "tagRenderings": { - "images": { + "images_toilet": { "render": { "special": { "label": "Voeg een foto van de toiletten toe" diff --git a/langs/zh_Hant.json b/langs/zh_Hant.json index 4739e64e2..560456d41 100644 --- a/langs/zh_Hant.json +++ b/langs/zh_Hant.json @@ -2,6 +2,13 @@ "advanced": { "title": "進階功能" }, + "app": { + "back": "回到MapComplete", + "download": "下載應用程式", + "intro": "MapComplete可以在Android App直接下載。我們也計畫在Fdroid發佈。", + "older": "檢視較舊的軟體構建", + "title": "MapComplete Android App" + }, "centerMessage": { "allFilteredAway": "檢視畫面當中沒有滿足過瀘條件的圖徵", "loadingData": "載入資料中…", @@ -275,8 +282,8 @@ }, "levelSelection": { "addNewOnLevel": "這個新點位置在幾 {level} 樓?", - "confirmLevel": "是,在 {level} 樓新增 {preset}", - "cancel": "檢視所有階層" + "cancel": "檢視所有階層", + "confirmLevel": "是,在 {level} 樓新增 {preset}" }, "loading": "載入中…", "loadingTheme": "載入 {theme}…", @@ -327,6 +334,7 @@ "openTill": "結束時間", "open_24_7": "24小時營業", "open_during_ph": "國定假日的時候,這個場所是", + "open_until": "{date}關閉", "opensAt": "開始時間", "ph_closed": "無營業", "ph_not_known": " ", @@ -339,8 +347,7 @@ "thursday": "星期四時 {ranges}", "tuesday": "星期二時 {ranges}", "unknown": "營業時間未知", - "wednesday": "星期三時 {ranges}", - "open_until": "{date}關閉" + "wednesday": "星期三時 {ranges}" }, "pdf": { "attr": "地圖資料 @ 開放街圖貢獻者,採用 ODbL 授權可再利用", @@ -393,8 +400,8 @@ "recentThemes": "最近觀看的地圖", "recents": "最近看到的地方", "search": "搜尋地點", - "searching": "搜尋中…", - "searchShort": "搜尋…" + "searchShort": "搜尋…", + "searching": "搜尋中…" }, "searchAnswer": "搜尋選項", "seeIndex": "查看所有專題地圖的概覽", @@ -528,6 +535,7 @@ }, "hotkeyDocumentation": { "action": "行動", + "addNew": "開啟對話框來在地圖中央新增點位", "closeSidebar": "關閉側邊欄", "geolocate": "平移地圖或是縮放地圖到目前位置,請求地理位置權限", "homeLocation": "跳到你的家位置,只有在你在使用者設定有設定家位置才會運作", @@ -547,8 +555,7 @@ "selectSearch": "選擇搜尋欄位的搜尋位置", "shakePhone": "晃動你的手機", "title": "快速鍵", - "translationMode": "啟用翻譯模組的開關", - "addNew": "開啟對話框來在地圖中央新增點位" + "translationMode": "啟用翻譯模組的開關" }, "image": { "addPicture": "照相", @@ -562,20 +569,21 @@ "seeNearby": "瀏覽與連結附近圖片", "title": "附近的街景影像" }, + "openOnWebsite": "在 {name} 開啟這個影像", "panoramax": { "deletionRequested": "報告已經送出,管理員不久會觀看", "freeform": "還有其他相關資訊嗎?", "otherFreeform": "請指明為何需要移除這一圖片:", "placeholder": "請解釋為何這圖片需要刪除", "report": { - "copyright": "圖片內含有版權內容", - "inappropriate": "這圖片不洽當(有裸露、仇恨內容或是並非街景)", - "other": "如果是其他原因請指明", - "privacy": "圖片顯示私人產權", "blur_excess": "影像太模糊了,無法使用影像", "blur_missing": "有一個或更多張檢沒有適當模糊處理", + "copyright": "圖片內含有版權內容", + "inappropriate": "這圖片不洽當(有裸露、仇恨內容或是並非街景)", "mislocated": "這張影像位置錯誤", - "picture_low_quality": "這張影像品質低落並無法使用" + "other": "如果是其他原因請指明", + "picture_low_quality": "這張影像品質低落並無法使用", + "privacy": "圖片顯示私人產權" }, "requestDeletion": "請求刪除圖片", "title": "為什麼要永久刪除圖片?" @@ -607,8 +615,16 @@ "uploading": "你的影像已經上傳了…" } }, - "uploadFailed": "無法上傳您的圖片。您是否已連線至網際網路,並允許第三方 API?Brave 瀏覽器或 uMatrix 外掛程式都可能會封鎖它們。", - "openOnWebsite": "在 {name} 開啟這個影像" + "uploadFailed": "無法上傳您的圖片。您是否已連線至網際網路,並允許第三方 API?Brave 瀏覽器或 uMatrix 外掛程式都可能會封鎖它們。" + }, + "imageQueue": { + "confirmDelete": "永久刪除這張影像", + "confirmDeleteTitle": "刪除這張影像嗎?", + "delete": "刪除這一張影像", + "intro": "接下來的影像已經貯列上傳", + "menu": "影像上傳貯列 ({count})", + "noFailedImages": "目前上傳貯列沒有影像", + "retryAll": "重新上傳所有影像" }, "importInspector": { "title": "檢視與管理匯入註解" @@ -627,6 +643,11 @@ "recentThemes": "最近檢視的主題", "title": "MapComplete" }, + "input_helpers": { + "distance": { + "setFirst": "目前位置的測量" + } + }, "inspector": { "aggregateView": "總計", "answeredCountTimes": "回答 {count} 次數", @@ -718,14 +739,14 @@ }, "loadingWikidata": "載入 {species} 的資訊…", "matchPercentage": "{match}% 吻合", + "noPlantDetected": "在這些影像當中沒有偵測到植物", "overviewIntro": "plantnet.org 的 AI 認為照片中是以下的物種。", "overviewTitle": "自動偵測物種", "overviewVerify": "請驗證是否是正確的物種,以及連結到樹木", "poweredByPlantnet": "由 plantnet.org 驅動", "querying": "檢索 plantnet.org 上的 {length} 圖片", "takeImages": "拍攝樹木照片來自動偵測樹木類型", - "tryAgain": "選擇不同物種", - "noPlantDetected": "在這些影像當中沒有偵測到植物" + "tryAgain": "選擇不同物種" }, "preset_type": { "question": "這個物件屬於什麼類型?", @@ -761,6 +782,7 @@ }, "reviews": { "affiliated_reviewer_warning": "(關係者審核)", + "attribution": "經由 Mangrove.reviews", "averageRating": "平均評分 {n} 顆星", "i_am_affiliated": "我是這物件的相關關係者", "i_am_affiliated_explanation": "檢查你是否是店主、創造者或是員工…", @@ -783,8 +805,7 @@ "too_long": "最多允許 {max} 字元,你的評鑑有 {amount} 字元。", "tos": "如果你創建審核,你同意TOS 與 Mangrove.reviews 的隱私權政策", "your_reviews": "你先前的評鑑", - "your_reviews_empty": "我們無法找到任何你先前的評鑑", - "attribution": "經由 Mangrove.reviews" + "your_reviews_empty": "我們無法找到任何你先前的評鑑" }, "split": { "cancel": "取消", @@ -837,6 +858,12 @@ "description": "數字", "feedback": "這不是數字" }, + "generic": { + "suspiciouslyHigh": "這個數值異常的高,你確定正確嗎?", + "suspiciouslyLow": "這個數值異常低,你確定正確嗎?", + "tooHigh": "這個數值太高 - 超過最高允許值 {max}", + "tooLow": "這個數值太低 - 低於允許的數值 {min}" + }, "id": { "description": "一個識別碼", "invalidCharacter": "編號可以只有字母、數字或是底線", @@ -889,33 +916,6 @@ "description": "Wikidata 編號", "empty": "請輸入一些 Wikidata 項目", "startsWithQ": "維基數據編號以 Q 開頭後面接數字" - }, - "generic": { - "suspiciouslyHigh": "這個數值異常的高,你確定正確嗎?", - "suspiciouslyLow": "這個數值異常低,你確定正確嗎?", - "tooHigh": "這個數值太高 - 超過最高允許值 {max}", - "tooLow": "這個數值太低 - 低於允許的數值 {min}" - } - }, - "app": { - "back": "回到MapComplete", - "intro": "MapComplete可以在Android App直接下載。我們也計畫在Fdroid發佈。", - "download": "下載應用程式", - "older": "檢視較舊的軟體構建", - "title": "MapComplete Android App" - }, - "imageQueue": { - "intro": "接下來的影像已經貯列上傳", - "confirmDelete": "永久刪除這張影像", - "confirmDeleteTitle": "刪除這張影像嗎?", - "delete": "刪除這一張影像", - "menu": "影像上傳貯列 ({count})", - "noFailedImages": "目前上傳貯列沒有影像", - "retryAll": "重新上傳所有影像" - }, - "input_helpers": { - "distance": { - "setFirst": "目前位置的測量" } } -} +} \ No newline at end of file diff --git a/src/Logic/State/UserSettingsMetaTagging.ts b/src/Logic/State/UserSettingsMetaTagging.ts index 6e568c5c3..33a5ae85b 100644 --- a/src/Logic/State/UserSettingsMetaTagging.ts +++ b/src/Logic/State/UserSettingsMetaTagging.ts @@ -1,42 +1,14 @@ import { Utils } from "../../Utils" /** This code is autogenerated - do not edit. Edit ./assets/layers/usersettings/usersettings.json instead */ export class ThemeMetaTagging { - public static readonly themeName = "usersettings" + public static readonly themeName = "usersettings" - public metaTaggging_for_usersettings(feat: { properties: Record }) { - Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_md", () => - feat.properties._description - .match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/) - ?.at(1) - ) - Utils.AddLazyProperty( - feat.properties, - "_d", - () => feat.properties._description?.replace(/</g, "<")?.replace(/>/g, ">") ?? "" - ) - Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_a", () => - ((feat) => { - const e = document.createElement("div") - e.innerHTML = feat.properties._d - return Array.from(e.getElementsByTagName("a")).filter( - (a) => a.href.match(/mastodon|en.osm.town/) !== null - )[0]?.href - })(feat) - ) - Utils.AddLazyProperty(feat.properties, "_mastodon_link", () => - ((feat) => { - const e = document.createElement("div") - e.innerHTML = feat.properties._d - return Array.from(e.getElementsByTagName("a")).filter( - (a) => a.getAttribute("rel")?.indexOf("me") >= 0 - )[0]?.href - })(feat) - ) - Utils.AddLazyProperty( - feat.properties, - "_mastodon_candidate", - () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a - ) - feat.properties["__current_backgroun"] = "initial_value" - } -} + public metaTaggging_for_usersettings(feat: {properties: Record}) { + Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_md', () => feat.properties._description.match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/)?.at(1) ) + Utils.AddLazyProperty(feat.properties, '_d', () => feat.properties._description?.replace(/</g,'<')?.replace(/>/g,'>') ?? '' ) + Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_a', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.href.match(/mastodon|en.osm.town/) !== null)[0]?.href }) (feat) ) + Utils.AddLazyProperty(feat.properties, '_mastodon_link', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.getAttribute("rel")?.indexOf('me') >= 0)[0]?.href})(feat) ) + Utils.AddLazyProperty(feat.properties, '_mastodon_candidate', () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a ) + feat.properties['__current_backgroun'] = 'initial_value' + } +} \ No newline at end of file diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts index 795979d2f..bab78599d 100644 --- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts @@ -174,6 +174,7 @@ export class AddQuestionBox extends DesugaringStep { } /** + * // If a general questionbox is added, should not add a new * const action = new AddQuestionBox() * const tagRenderings = [{id:"questions", render: {"*": "{questions()}" } }] * const conv = action.convert({tagRenderings}, ConversionContext.construct(["test"], [])) @@ -255,7 +256,7 @@ export class AddQuestionBox extends DesugaringStep { questionBoxes.push({ blacklist, whitelist }) } - if (noLabels.length == 0) { + if (noLabels.length == 1) { // We already have a questionbox handling _all_ questions return json }