Chore: fix test, translation sync

This commit is contained in:
Pieter Vander Vennet 2025-06-06 20:14:57 +02:00
parent afc93d8973
commit 5fa524cc92
7 changed files with 65 additions and 90 deletions

View file

@ -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)}",

View file

@ -12872,7 +12872,7 @@
},
"name": "Toilets at other amenities",
"tagRenderings": {
"images": {
"images_toilet": {
"render": {
"special": {
"label": "Add a picture of the toilets"

View file

@ -12753,7 +12753,7 @@
},
"name": "Bagni presso altre strutture",
"tagRenderings": {
"images": {
"images_toilet": {
"render": {
"special": {
"label": "Aggiungi una foto dei bagni"

View file

@ -10299,7 +10299,7 @@
},
"name": "Toilet in een voorziening",
"tagRenderings": {
"images": {
"images_toilet": {
"render": {
"special": {
"label": "Voeg een foto van de toiletten toe"

View file

@ -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": "無法上傳您的圖片。您是否已連線至網際網路,並允許第三方 APIBrave 瀏覽器或 uMatrix 外掛程式都可能會封鎖它們。",
"openOnWebsite": "在 {name} 開啟這個影像"
"uploadFailed": "無法上傳您的圖片。您是否已連線至網際網路,並允許第三方 APIBrave 瀏覽器或 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": "<a href='https://plantnet.org/' target='_blank'>plantnet.org</a> 的 AI 認為照片中是以下的物種。",
"overviewTitle": "自動偵測物種",
"overviewVerify": "請驗證是否是正確的物種,以及連結到樹木",
"poweredByPlantnet": "由 <a href='https://plantnet.org' target='_blank'>plantnet.org</a> 驅動",
"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": "如果你創建審核,你同意<a href=\"https://mangrove.reviews/terms\" target=\"_blank\">TOS 與 Mangrove.reviews 的隱私權政策</a>",
"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": "目前位置的測量"
}
}
}
}

View file

@ -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<string, string> }) {
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(/&lt;/g, "<")?.replace(/&gt;/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<string, string>}) {
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(/&lt;/g,'<')?.replace(/&gt;/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'
}
}

View file

@ -174,6 +174,7 @@ export class AddQuestionBox extends DesugaringStep<LayerConfigJson> {
}
/**
* // 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<LayerConfigJson> {
questionBoxes.push({ blacklist, whitelist })
}
if (noLabels.length == 0) {
if (noLabels.length == 1) {
// We already have a questionbox handling _all_ questions
return json
}