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
}