Add the Data Library: live regional datasets, tiles and packs

DATA LAYERS keeps its curated core layers; regional and niche sources
live in the Data Library, opened from Browse data library at the foot
of the panel. Each entry is a JSON manifest in src/library/entries/
pointing at a live upstream (query API, provider-hosted file or tile
endpoint), so nothing is bundled and a self-hosted instance hosts no
data. Sources without CORS go through one allowlisted /api/library
route. Kinds: dataset (GeoJSON, CSV, JSON records, ArcGIS, partitioned
GeoParquet), tiles (XYZ, WMS/ArcGIS bbox export, terrarium relief) and
pack. Selections persist and travel in share links as lib=, separate
from the core layer tokens. Library rows get Zoom and Remove icon
chips that work while the layer is off, rendered through RailChips.
Strings are translated in every locale.
This commit is contained in:
Said Turksever committed 2026-11-12 12:26:45 +00:00
1 parent 10a788db78
commit db80d82b8d
182 files changed
+15805 -44

No files matched your search

+104 -1
View File
@@ -3587,5 +3587,108 @@
"{source} imagery could not be opened": "לא ניתן היה לפתוח את הצילומים של {source}",
"{place} has no position to look for imagery at": "ל-{place} אין מיקום לחיפוש צילומים",
"No {source} imagery near {place}": "אין צילומים של {source} ליד {place}",
"{reason} (filters on: {filters})": "{reason} (מסננים פעילים: {filters})"
"{reason} (filters on: {filters})": "{reason} (מסננים פעילים: {filters})",
"tiles unavailable": "האריחים אינם זמינים",
"zoom in to load this layer": "התקרב כדי לטעון את השכבה הזאת",
"Zoom to layer": "התקרבות לשכבה",
"Zoom to layer · fly to where this layer has data": "התקרבות לשכבה · טיסה למקום שבו יש לשכבה נתונים",
"Remove from Data Layers": "הסרה משכבות נתונים",
"Remove from Data Layers · add it again from the library": "הסרה משכבות נתונים · אפשר להוסיף אותה שוב מהספרייה",
"Coverage outline": "קו מתאר של הכיסוי",
"DRAPED": "פרוש על הקרקע",
"Below 250 m": "מתחת ל-250 מ׳",
"250–500 m": "250–500 מ׳",
"500–1,000 m": "500–1,000 מ׳",
"1,000–2,000 m": "1,000–2,000 מ׳",
"2,000–3,000 m": "2,000–3,000 מ׳",
"3,000 m and above": "3,000 מ׳ ומעלה",
"Exit cockpit to fly to a layer": "צא מתא הטייס כדי לטוס אל שכבה",
"Library": "ספרייה",
"Environment": "סביבה",
"Imagery": "צילומים",
"Demographics": "דמוגרפיה",
"DATASET": "מערך נתונים",
"TILES": "אריחים",
"PACK": "חבילה",
"INCUBATING": "בהבשלה",
"COMMUNITY": "קהילה",
"VERIFIED": "מאומת",
"ARCHIVED": "בארכיון",
"Datasets": "מערכי נתונים",
"{datasets} · {tiles} · {packs}": "{datasets} · {tiles} · {packs}",
"{count} datasets": {
"one": "{count} מערך נתונים",
"two": "{count} מערכי נתונים",
"other": "{count} מערכי נתונים"
},
"{count} tile layers": {
"one": "{count} שכבת אריחים",
"two": "{count} שכבות אריחים",
"other": "{count} שכבות אריחים"
},
"{count} packs": {
"one": "{count} חבילה",
"two": "{count} חבילות",
"other": "{count} חבילות"
},
"Themes": "נושאים",
"Added": "נוספו",
"{count} on the map": {
"one": "{count} על המפה",
"two": "{count} על המפה",
"other": "{count} על המפה"
},
"none yet": "אין עדיין",
"Map features": "ישויות במפה",
"from {count} datasets": {
"one": "מ-{count} מערך נתונים",
"two": "מ-{count} מערכי נתונים",
"other": "מ-{count} מערכי נתונים"
},
"switch on a dataset to load features": "הפעל מערך נתונים כדי לטעון ישויות",
"Switched on by this instance · part of the CCTV layer": "מופעל במופע הזה · חלק משכבת CCTV",
"Operator opt-in: set {env}=1 on the server": "הפעלה ביוזמת המפעיל: הגדר {env}=1 בשרת",
"Operator opt-in: add {id} to GEV_LIBRARY_ENABLE on the server": "הפעלה ביוזמת המפעיל: הוסף את {id} ל-GEV_LIBRARY_ENABLE בשרת",
"Turned off by this instance's operator": "כובה על ידי המפעיל של המופע הזה",
"Needs a provider key on the server": "נדרש מפתח ספק בשרת",
"Needs this app's server · not available in a static build": "נדרש השרת של האפליקציה · לא זמין בבנייה סטטית",
"Checking what this instance serves…": "בודק מה המופע הזה מספק…",
"Regional": "אזורי",
"Orthophoto": "אורתופוטו",
"Satellite mosaic": "פסיפס לוויני",
"Oblique": "צילום אלכסוני",
"Historic imagery": "צילומים היסטוריים",
"True orthophoto": "אורתופוטו אמיתי",
"Type": "סוג",
"Resolution": "רזולוציה",
"Flown": "צולם מהאוויר",
"Updates": "עדכונים",
"Ortho quality": "איכות האורתו",
"DATA LIBRARY": "ספריית נתונים",
"Close data library": "סגירת ספריית הנתונים",
"Data Library at a glance": "ספריית הנתונים במבט חטוף",
"Live sources beyond the core layers. Each one is fetched from its provider while it is on; nothing is stored in this app. Add one and it appears in Data Layers under Library.": "מקורות חיים מעבר לשכבות הליבה. כל מקור נטען מהספק שלו כל עוד הוא מופעל; דבר אינו נשמר באפליקציה. הוסף מקור והוא יופיע בשכבות נתונים תחת ספרייה.",
"Name, provider or country": "שם, ספק או מדינה",
"Theme": "נושא",
"All themes": "כל הנושאים",
"Only what this instance serves": "רק מה שהמופע הזה מספק",
"OPT-IN": "בהפעלה ידנית",
"KEY": "מפתח",
"KEYLESS": "ללא מפתח",
"ZOOM": "התקרבות",
"Zoom to {name}": "התקרבות אל {name}",
"WORKING…": "מבצע…",
"ADD": "הוספה",
"Remove {name} from Data Layers": "הסרת {name} משכבות נתונים",
"Add {name} to Data Layers": "הוספת {name} לשכבות נתונים",
"CONFIRM · REMOVE ALL {count}": {
"one": "אישור · הסרת {count}",
"two": "אישור · הסרת כל {count}",
"other": "אישור · הסרת כל {count}"
},
"REMOVE ALL": "הסרת הכול",
"Confirm: remove every added entry from Data Layers": "אישור: הסרת כל הפריטים שנוספו משכבות נתונים",
"Remove every added entry from Data Layers": "הסרת כל הפריטים שנוספו משכבות נתונים",
"Showing {shown} of {total}": "מוצגים {shown} מתוך {total}",
"BROWSE DATA LIBRARY": "עיון בספריית הנתונים"
}