Add font-faces, sky, roll and centerAltitude (#2189)

After: 
<img width="425" height="366" alt="image"
src="https://github.com/user-attachments/assets/f737de31-57e8-4445-b114-a5acdabb619c"
/>



## Launch Checklist

 - [x] Briefly describe the changes in this PR.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
This commit is contained in:
Harel M
2026-09-27 20:05:23 +03:00
committed by GitHub
parent 2384adf517
commit 560478410a
16 changed files with 304 additions and 39 deletions
+18 -4
View File
@@ -10,12 +10,14 @@ import type { StylePropertySpecification } from "maplibre-gl";
import type { TransactionSpec } from "@codemirror/state";
export type InputJsonProps = {
value: object
value: object | undefined
className?: string
onChange(object: object): void
onChange(object: object | undefined): void
onFocus?(...args: unknown[]): unknown
onBlur?(...args: unknown[]): unknown
lintType: "layer" | "style" | "expression" | "json"
/** When set, an empty editor is valid and means the value is unset */
optional?: boolean
spec?: StylePropertySpecification | undefined
/**
* When setting this and using search and replace, the editor will scroll to the selected text
@@ -49,6 +51,10 @@ class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJso
}
getPrettyJson(data: any) {
// An unset value is shown as an empty editor
if (data === undefined) {
return "";
}
return stringifyPretty(data, {indent: 2, maxLength: 40});
}
@@ -57,10 +63,11 @@ class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJso
parent: this._el!,
value: this.getPrettyJson(this.props.value),
lintType: this.props.lintType || "layer",
onChange: (value:string) => this.onChange(value),
onChange: (value: string) => this.onChange(value),
onFocus: () => this.onFocus(),
onBlur: () => this.onBlur(),
spec: this.props.spec
spec: this.props.spec,
optional: this.props.optional
});
}
@@ -107,6 +114,13 @@ class InputJsonInternal extends React.Component<InputJsonInternalProps, InputJso
const newCode = this._view!.state.doc.toString();
if (this.state.prevValue !== newCode) {
if (this.props.optional && newCode.trim() === "") {
this.props.onChange(undefined);
this.setState({
prevValue: newCode,
});
return;
}
let parsedLayer, err;
try {
parsedLayer = JSON.parse(newCode);
+107 -1
View File
@@ -1,6 +1,6 @@
import React from "react";
import latest from "@maplibre/maplibre-gl-style-spec/dist/latest.json";
import type {LightSpecification, ProjectionSpecification, StyleSpecification, TerrainSpecification, TransitionSpecification} from "maplibre-gl";
import type {LightSpecification, ProjectionSpecification, SkySpecification, StyleSpecification, TerrainSpecification, TransitionSpecification} from "maplibre-gl";
import { type WithTranslation, withTranslation } from "react-i18next";
import { FieldArray } from "../FieldArray";
@@ -81,6 +81,24 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
});
}
changeSkyProperty(property: keyof SkySpecification, value: any) {
const sky = {
...this.props.mapStyle.sky,
};
if (value === undefined) {
delete sky[property];
}
else {
sky[property] = value;
}
this.props.onStyleChanged({
...this.props.mapStyle,
sky,
});
}
changeProjectionType(value: any) {
const projection = {
...this.props.mapStyle.projection,
@@ -124,6 +142,7 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
const transition = this.props.mapStyle.transition || {};
const terrain = this.props.mapStyle.terrain || {} as TerrainSpecification;
const projection = this.props.mapStyle.projection || {} as ProjectionSpecification;
const sky = this.props.mapStyle.sky || {};
return <Modal
data-wd-key="modal:settings"
@@ -149,6 +168,7 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
<Block label={t("Sprite URL")} fieldSpec={latest.$root.sprite} data-wd-key="modal:settings.sprite">
<FieldJson
lintType="json"
optional
value={this.props.mapStyle.sprite as any}
onChange={(value) => this.changeStyleProperty("sprite", value)}
/>
@@ -162,6 +182,15 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
onChange={(value) => this.changeStyleProperty("glyphs", value)}
/>
<Block label={t("Font faces")} fieldSpec={latest.$root["font-faces"]} data-wd-key="modal:settings.font-faces">
<FieldJson
lintType="json"
optional
value={this.props.mapStyle["font-faces"] as any}
onChange={(value) => this.changeStyleProperty("font-faces", value)}
/>
</Block>
<FieldString
label={fsa.maputnik.maptiler_access_token.label}
fieldSpec={fsa.maputnik.maptiler_access_token}
@@ -231,6 +260,23 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
onChange={(value) => this.changeStyleProperty("pitch", value)}
/>
<FieldNumber
label={t("Roll")}
data-wd-key="modal:settings.roll"
fieldSpec={latest.$root.roll}
value={mapStyle.roll}
default={latest.$root.roll.default}
onChange={(value) => this.changeStyleProperty("roll", value)}
/>
<FieldNumber
label={t("Center altitude")}
data-wd-key="modal:settings.center-altitude"
fieldSpec={latest.$root.centerAltitude}
value={mapStyle.centerAltitude}
onChange={(value) => this.changeStyleProperty("centerAltitude", value)}
/>
<FieldEnum
label={t("Light anchor")}
fieldSpec={latest.light.anchor}
@@ -285,6 +331,66 @@ class ModalSettingsInternal extends React.Component<ModalSettingsInternalProps>
onChange={(value) => this.changeTerrainProperty("exaggeration", value)}
/>
<FieldColor
label={t("Sky color")}
fieldSpec={latest.sky["sky-color"]}
value={sky["sky-color"] as string}
default={latest.sky["sky-color"].default}
onChange={(value) => this.changeSkyProperty("sky-color", value)}
/>
<FieldColor
label={t("Horizon color")}
fieldSpec={latest.sky["horizon-color"]}
value={sky["horizon-color"] as string}
default={latest.sky["horizon-color"].default}
onChange={(value) => this.changeSkyProperty("horizon-color", value)}
/>
<FieldColor
label={t("Fog color")}
fieldSpec={latest.sky["fog-color"]}
value={sky["fog-color"] as string}
default={latest.sky["fog-color"].default}
onChange={(value) => this.changeSkyProperty("fog-color", value)}
/>
<FieldNumber
label={t("Sky horizon blend")}
data-wd-key="modal:settings.sky-horizon-blend"
fieldSpec={latest.sky["sky-horizon-blend"]}
value={sky["sky-horizon-blend"] as number}
default={latest.sky["sky-horizon-blend"].default}
onChange={(value) => this.changeSkyProperty("sky-horizon-blend", value)}
/>
<FieldNumber
label={t("Horizon fog blend")}
data-wd-key="modal:settings.horizon-fog-blend"
fieldSpec={latest.sky["horizon-fog-blend"]}
value={sky["horizon-fog-blend"] as number}
default={latest.sky["horizon-fog-blend"].default}
onChange={(value) => this.changeSkyProperty("horizon-fog-blend", value)}
/>
<FieldNumber
label={t("Fog ground blend")}
data-wd-key="modal:settings.fog-ground-blend"
fieldSpec={latest.sky["fog-ground-blend"]}
value={sky["fog-ground-blend"] as number}
default={latest.sky["fog-ground-blend"].default}
onChange={(value) => this.changeSkyProperty("fog-ground-blend", value)}
/>
<FieldNumber
label={t("Atmosphere blend")}
data-wd-key="modal:settings.atmosphere-blend"
fieldSpec={latest.sky["atmosphere-blend"]}
value={sky["atmosphere-blend"] as number}
default={latest.sky["atmosphere-blend"].default}
onChange={(value) => this.changeSkyProperty("atmosphere-blend", value)}
/>
<FieldNumber
label={t("Transition delay")}
data-wd-key="modal:settings.transition-delay"
+19 -9
View File
@@ -15,6 +15,21 @@ type LinterError = {
message: string;
};
type EditorProps = {
parent: HTMLElement,
value: string,
lintType: LintType,
onChange: (value: string) => void,
onFocus: () => void,
onBlur: () => void,
spec?: StylePropertySpecification,
/**
* An empty optional editor means the value is unset, which is valid
*/
optional?: boolean,
};
function getDiagnosticsFromExpressionErrors(errors: LinterError[], ast: ValueNode | PropertyNode) {
const diagnostics: Diagnostic[] = [];
for (const error of errors) {
@@ -128,15 +143,7 @@ function createMaplibreExpressionLinter(spec?: StylePropertySpecification) {
};
}
export function createEditor(props: {
parent: HTMLElement,
value: string,
lintType: LintType,
onChange: (value: string) => void,
onFocus: () => void,
onBlur: () => void,
spec?: StylePropertySpecification,
}): EditorView {
export function createEditor(props: EditorProps): EditorView {
let specificLinter: (view: EditorView) => Diagnostic[] = () => [];
switch (props.lintType) {
case "style":
@@ -181,6 +188,9 @@ export function createEditor(props: {
}),
lintGutter(),
linter((view: EditorView) => {
if (props.optional && view.state.doc.toString().trim() === "") {
return [];
}
const jsonErrors = jsonParseLinter()(view);
if (jsonErrors.length > 0) {
return jsonErrors;
+13 -1
View File
@@ -13,10 +13,12 @@
"Add Variable": "Dəyişən Əlavə Et",
"any filter matches": "istənilən süzgəc uyğun gəlirsə",
"API key for Stadia Maps.": "Stadia Maps üçün API açarı.",
"Atmosphere blend": "Atmosfer qarışığı",
"Base": "Baza",
"Bearing": "İstiqamət",
"Cancel": "Ləğv et",
"Center": "Mərkəz",
"Center altitude": "Mərkəzin hündürlüyü",
"Choose Public Source": "İctimai Mənbə Seç",
"Choose the default Maputnik renderer for this style.": "Bu üslub üçün defolt Maputnik renderer-ini seçin.",
"Click to close the editor": "Redaktoru bağlamaq üçün klikləyin",
@@ -55,6 +57,8 @@
"Delete filter block": "Süzgəc blokunu sil",
"Deuteranopia filter": "Deuteranopiya süzgəci",
"Drag and drop a style JSON file here or click to browse": "Üslub JSON faylını buraya sürükləyib buraxın və ya seçmək üçün klikləyin",
"Drag to resize the layer list": "Qat siyahısının ölçüsünü dəyişmək üçün sürükləyin",
"Drag to resize the sidebar": "Yan panelin ölçüsünü dəyişmək üçün sürükləyin",
"Duplicate": "Dublikat et",
"Encoding": "Kodlaşdırma",
"Enter URL...": "URL daxil edin...",
@@ -63,6 +67,9 @@
"Export modal": "İxrac modalı",
"Filter": "Süzgəc",
"Focus map": "Xəritəyə fokuslan",
"Fog color": "Duman rəngi",
"Fog ground blend": "Duman-yer qarışığı",
"Font faces": "Şrift faylları",
"Function": "Funksiya",
"Gallery Styles": "Qalereya Üslubları",
"General layout properties": "Ümumi düzülüş xassələri",
@@ -75,6 +82,8 @@
"Glyphs URL": "Şriftlər URL-i",
"Help": "Kömək",
"Hide": "Gizlət",
"Horizon color": "Üfüq rəngi",
"Horizon fog blend": "Üfüq-duman qarışığı",
"Icon layout properties": "İkon düzülüş xassələri",
"Icon paint properties": "İkon boyama xassələri",
"If the Map is in focused you can use the following shortcuts": "Xəritə fokusdadırsa aşağıdakı qısayollardan istifadə edə bilərsiniz",
@@ -122,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "Heç bir qlobal vəziyyət dəyişəni təyin edilməyib. Üslubunuzda təkrar istifadə oluna bilən dəyərlər yaratmaq üçün dəyişən əlavə edin.",
"Open": "Aç",
"Open a local JSON style from your computer.": "Kompüterinizdən yerli JSON üslubunu açın.",
"OpenLayers (experimental)": "OpenLayers (eksperimental)",
"Open local Style": "Yerli Üslubu Aç",
"Open modal": "Modalı aç",
"Open one of the publicly available styles to start from.": "Başlamaq üçün ictimai üslublardan birini açın.",
"Open Style": "Üslubu Aç",
"OpenLayers (experimental)": "OpenLayers (eksperimental)",
"Options": "Seçimlər",
"Output value": "Çıxış dəyəri",
"Owner": "Sahib",
@@ -153,6 +162,7 @@
"Remove variable": "Dəyişəni sil",
"Remove zoom level from stop": "Dayanacaqdan yaxınlaşma səviyyəsini sil",
"Revert from expression": "İfadədən geri qaytar",
"Roll": "Fırlanma",
"Save": "Yadda saxla",
"Save as": "Fərqli yadda saxla",
"Save Style": "Üslubu Yadda Saxla",
@@ -163,6 +173,8 @@
"Shortcuts": "Qısayollar",
"Shortcuts menu": "Qısayollar menyusu",
"Show": "Göstər",
"Sky color": "Səma rəngi",
"Sky horizon blend": "Səma-üfüq qarışığı",
"Source": "Mənbə",
"Source ID": "Mənbə ID",
"Source Layer": "Mənbə Qatı",
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "Variable hinzufügen",
"any filter matches": "irgendein Filter passt",
"API key for Stadia Maps.": "API-Schlüssel für Stadia Maps.",
"Atmosphere blend": "Atmosphärenüberblendung",
"Base": "Basis",
"Bearing": "Ausrichtung",
"Cancel": "Abbrechen",
"Center": "Mittelpunkt",
"Center altitude": "Höhe des Mittelpunkts",
"Choose Public Source": "Öffentliche Quelle auswählen",
"Choose the default Maputnik renderer for this style.": "Wähle den Standard-Renderer für diesen Stil aus.",
"Click to close the editor": "Klicken Sie hier, um den Editor zu schließen",
@@ -54,6 +56,7 @@
"Delete expression": "Ausdruck löschen",
"Delete filter block": "Filterblock löschen",
"Deuteranopia filter": "Deuteranopie-Filter",
"Drag and drop a style JSON file here or click to browse": "Ziehen Sie eine Style-JSON-Datei hierher oder klicken Sie, um zu durchsuchen",
"Drag to resize the layer list": "Ziehen, um die Ebenenliste zu skalieren",
"Drag to resize the sidebar": "Ziehen, um die Seitenleiste zu skalieren",
"Duplicate": "Duplizieren",
@@ -64,6 +67,9 @@
"Export modal": "Modale Fenster exportieren",
"Filter": "Filter",
"Focus map": "Karte fokussieren",
"Fog color": "Nebelfarbe",
"Fog ground blend": "Nebel-Boden-Überblendung",
"Font faces": "Schriftdateien",
"Function": "Funktion",
"Gallery Styles": "Galerie-Stile",
"General layout properties": "Allgemeine Layouteigenschaften",
@@ -76,6 +82,8 @@
"Glyphs URL": "Glyphen-URL",
"Help": "Hilfe",
"Hide": "Verstecken",
"Horizon color": "Horizontfarbe",
"Horizon fog blend": "Horizont-Nebel-Überblendung",
"Icon layout properties": "Icon-Layouteigenschaften",
"Icon paint properties": "Icon-Darstellungseigenschaften",
"If the Map is in focused you can use the following shortcuts": "Wenn die Karte fokussiert ist, kannst du die folgenden Shortcuts benutzen",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "Keine globalen Zustandsvariablen definiert. Füge Variablen hinzu, um wiederverwendbare Werte in deinem Stil zu erstellen.",
"Open": "Öffnen",
"Open a local JSON style from your computer.": "Öffne einen lokalen JSON Stil von deinem Computer.",
"OpenLayers (experimental)": "OpenLayers (experimentell)",
"Open local Style": "Lokalen Stil öffnen",
"Open modal": "Modale Fenster öffnen",
"Open one of the publicly available styles to start from.": "Öffne einen der öffentlich verfügbaren Stile, um zu starten.",
"Open Style": "Stil öffnen",
"OpenLayers (experimental)": "OpenLayers (experimentell)",
"Options": "Optionen",
"Output value": "Ausgabewert",
"Owner": "Besitzer",
@@ -154,6 +162,7 @@
"Remove variable": "Variable entfernen",
"Remove zoom level from stop": "Zoom-Stufe vom Stopp entfernen",
"Revert from expression": "Vom Ausdruck zurücksetzen",
"Roll": "Rollwinkel",
"Save": "Speichern",
"Save as": "Speichern unter",
"Save Style": "Stil Speichern",
@@ -164,6 +173,8 @@
"Shortcuts": "Shortcuts",
"Shortcuts menu": "Shortcuts-Menü",
"Show": "Anzeigen",
"Sky color": "Himmelsfarbe",
"Sky horizon blend": "Himmel-Horizont-Überblendung",
"Source": "Quelle",
"Source ID": "Quellen-ID",
"Source Layer": "Quellenebene",
@@ -201,6 +212,5 @@
"Video URL": "Video-URL",
"View": "Ansicht",
"You've entered an old style filter.": "Du hast einen alten Filter-Stil eingegeben.",
"Zoom": "Zoom",
"Drag and drop a style JSON file here or click to browse": "Ziehen Sie eine Style-JSON-Datei hierher oder klicken Sie, um zu durchsuchen"
"Zoom": "Zoom"
}
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "Ajouter une variable",
"any filter matches": "l'un des filtres correspond",
"API key for Stadia Maps.": "Clé d'API pour Stadia Maps.",
"Atmosphere blend": "Fondu de l'atmosphère",
"Base": "Base",
"Bearing": "Orientation",
"Cancel": "Annuler",
"Center": "Centre",
"Center altitude": "Altitude du centre",
"Choose Public Source": "Choisir une source publique",
"Choose the default Maputnik renderer for this style.": "Choisissez le moteur de rendu Maputnik par défaut pour ce style.",
"Click to close the editor": "Cliquez pour fermer l'éditeur",
@@ -54,6 +56,7 @@
"Delete expression": "Supprimer l'expression",
"Delete filter block": "Supprimer le bloc de filtre",
"Deuteranopia filter": "Filtre Deutéranopie",
"Drag and drop a style JSON file here or click to browse": "Faites glisser un fichier JSON de style ici ou cliquez pour parcourir",
"Drag to resize the layer list": "Glisser pour redimensionner la liste des calques",
"Drag to resize the sidebar": "Glisser pour redimensionner la barre latérale",
"Duplicate": "Dupliquer",
@@ -64,6 +67,9 @@
"Export modal": "Exporter (modale)",
"Filter": "Filtre",
"Focus map": "Focus sur la carte",
"Fog color": "Couleur du brouillard",
"Fog ground blend": "Fondu brouillard-sol",
"Font faces": "Fichiers de police",
"Function": "Fonction",
"Gallery Styles": "Styles de la galerie",
"General layout properties": "Propriétés générales de mise en page",
@@ -76,6 +82,8 @@
"Glyphs URL": "URL des glyphes",
"Help": "Aide",
"Hide": "Cacher",
"Horizon color": "Couleur de l'horizon",
"Horizon fog blend": "Fondu horizon-brouillard",
"Icon layout properties": "Propriétés de mise en page de l'icône",
"Icon paint properties": "Propriétés de peinture de l'icône",
"If the Map is in focused you can use the following shortcuts": "Si la carte a le focus, vous pouvez utiliser les raccourcis suivants",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "Aucune variable d'état global définie. Ajoutez des variables pour créer des valeurs réutilisables dans votre style.",
"Open": "Ouvrir",
"Open a local JSON style from your computer.": "Ouvrir un style JSON local depuis votre ordinateur.",
"OpenLayers (experimental)": "OpenLayers (expérimental)",
"Open local Style": "Ouvrir un style local",
"Open modal": "Ouvrir (modale)",
"Open one of the publicly available styles to start from.": "Ouvrez l'un des styles publics disponibles pour commencer.",
"Open Style": "Ouvrir le style",
"OpenLayers (experimental)": "OpenLayers (expérimental)",
"Options": "Options",
"Output value": "Valeur de sortie",
"Owner": "Propriétaire",
@@ -154,6 +162,7 @@
"Remove variable": "Supprimer la variable",
"Remove zoom level from stop": "Supprimer le niveau de zoom de l'arrêt",
"Revert from expression": "Annuler l'expression",
"Roll": "Roulis",
"Save": "Enregistrer",
"Save as": "Enregistrer sous",
"Save Style": "Enregistrer le style",
@@ -164,6 +173,8 @@
"Shortcuts": "Raccourcis",
"Shortcuts menu": "Menu des raccourcis",
"Show": "Afficher",
"Sky color": "Couleur du ciel",
"Sky horizon blend": "Fondu ciel-horizon",
"Source": "Source",
"Source ID": "ID de la source",
"Source Layer": "Calque Source",
@@ -201,6 +212,5 @@
"Video URL": "URL de la vidéo",
"View": "Vue",
"You've entered an old style filter.": "Vous avez entré un ancien style de filtre.",
"Zoom": "Zoom",
"Drag and drop a style JSON file here or click to browse": "Faites glisser un fichier JSON de style ici ou cliquez pour parcourir"
"Zoom": "Zoom"
}
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "הוסף משתנה",
"any filter matches": "אחד הסינוים מתאימים",
"API key for Stadia Maps.": "API key for Stadia Maps",
"Atmosphere blend": "מיזוג אטמוספרה",
"Base": "בסיס",
"Bearing": "כיוון",
"Cancel": "ביטול",
"Center": "מרכז",
"Center altitude": "גובה המרכז",
"Choose Public Source": "בחירת מקור ציבורי",
"Choose the default Maputnik renderer for this style.": "בחירת צייר ברירת המחדל של מפוטניק עבור הסטייל הזה",
"Click to close the editor": "לחץ לסגירת העורך",
@@ -54,6 +56,7 @@
"Delete expression": "מחיקת ביטוי",
"Delete filter block": "מחיקת גוש מסנן",
"Deuteranopia filter": "Deuteranopia filter",
"Drag and drop a style JSON file here or click to browse": "גרור ושחרר כאן קובץ JSON של סגנון או לחץ כדי לעיין",
"Drag to resize the layer list": "יש לגרור כדי לשנות את גודל רשימת השכבות",
"Drag to resize the sidebar": "יש לגרור כדי לשנות את גודל סרגל הצד",
"Duplicate": "שכפול",
@@ -64,6 +67,9 @@
"Export modal": "חלונית ייצוא",
"Filter": "סינון",
"Focus map": "פיקוס המפה",
"Fog color": "צבע ערפל",
"Fog ground blend": "מיזוג ערפל עם הקרקע",
"Font faces": "קבצי גופנים",
"Function": "פונקציה",
"Gallery Styles": "גלריית סטיילים",
"General layout properties": "תכונות פריסה כלליות",
@@ -76,6 +82,8 @@
"Glyphs URL": "כתובת סמלילים",
"Help": "עזרה",
"Hide": "הסתרה",
"Horizon color": "צבע האופק",
"Horizon fog blend": "מיזוג ערפל באופק",
"Icon layout properties": "תכונות פריסה של סמליל",
"Icon paint properties": "תכונות ציור של סמליל",
"If the Map is in focused you can use the following shortcuts": "אם המפה נמצאת בפוקוס תוכלו להשתמש בקיצורי הדרך",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "לא הוגדרו משתני מצב גלובלי. הוסף משתנים כדי ליצור ערכים שניתן לעשות בהם שימוש חוזר בסטייל שלך.",
"Open": "פתיחה",
"Open a local JSON style from your computer.": "פתיחת סטייל JSON מקומי מהמחשב שלך.",
"OpenLayers (experimental)": "OpenLayers (experimental)",
"Open local Style": "פתיחת סטייל מקומי",
"Open modal": "פתיחת חלונית",
"Open one of the publicly available styles to start from.": "פתיחת אחד הסטייליםפ הציבוריים על מנת להתחיל מהם.",
"Open Style": "פתיחת סטייל",
"OpenLayers (experimental)": "OpenLayers (experimental)",
"Options": "אפשרויות",
"Output value": "ערך החזרה",
"Owner": "שייך ל",
@@ -154,6 +162,7 @@
"Remove variable": "הסר משתנה",
"Remove zoom level from stop": "הסרת רמת זום מעצירה",
"Revert from expression": "החזרה מביטוי",
"Roll": "גלגול",
"Save": "שמור",
"Save as": "שמירה בשם",
"Save Style": "שמירת הסטייל",
@@ -164,6 +173,8 @@
"Shortcuts": "קיצורי דרך",
"Shortcuts menu": "תפריט קיצורי דרך",
"Show": "הצגה",
"Sky color": "צבע השמיים",
"Sky horizon blend": "מיזוג שמיים ואופק",
"Source": "מקור",
"Source ID": "מזהה מקור",
"Source Layer": "שכבת מקור",
@@ -201,6 +212,5 @@
"Video URL": "כתובת וידאו",
"View": "תצוגה",
"You've entered an old style filter.": "הכנסתם סינון מסוג ישן,",
"Zoom": "זום",
"Drag and drop a style JSON file here or click to browse": "גרור ושחרר כאן קובץ JSON של סגנון או לחץ כדי לעיין"
"Zoom": "זום"
}
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "Aggiungi variabile",
"any filter matches": "qualsiasi filtro corrisponde",
"API key for Stadia Maps.": "Chiave API per Stadia Maps.",
"Atmosphere blend": "Sfumatura dell'atmosfera",
"Base": "Base",
"Bearing": "Direzione",
"Cancel": "Annulla",
"Center": "Centro",
"Center altitude": "Altitudine del centro",
"Choose Public Source": "Scegli una sorgente pubblica",
"Choose the default Maputnik renderer for this style.": "Scegli il renderer predefinito di Maputnik per questo stile.",
"Click to close the editor": "Clicca per chiudere l'editor",
@@ -54,6 +56,7 @@
"Delete expression": "Elimina espressione",
"Delete filter block": "Elimina blocco filtro",
"Deuteranopia filter": "Filtro deuteranopia",
"Drag and drop a style JSON file here or click to browse": "Trascina e rilascia qui un file JSON dello stile o fai clic per sfogliare",
"Drag to resize the layer list": "Trascina per ridimensionare l'elenco dei livelli",
"Drag to resize the sidebar": "Trascina per ridimensionare la barra laterale",
"Duplicate": "Duplica",
@@ -64,6 +67,9 @@
"Export modal": "Esporta finestra modale",
"Filter": "Filtro",
"Focus map": "Metti a fuoco la mappa",
"Fog color": "Colore della nebbia",
"Fog ground blend": "Sfumatura nebbia-suolo",
"Font faces": "File dei font",
"Function": "Funzione",
"Gallery Styles": "Galleria degli stili",
"General layout properties": "Proprietà generali del layout",
@@ -76,6 +82,8 @@
"Glyphs URL": "URL Glyphs",
"Help": "Aiuto",
"Hide": "Nascondi",
"Horizon color": "Colore dell'orizzonte",
"Horizon fog blend": "Sfumatura orizzonte-nebbia",
"Icon layout properties": "Proprietà di layout dell'icona",
"Icon paint properties": "Proprietà di pittura dell'icona",
"If the Map is in focused you can use the following shortcuts": "Se la mappa è attiva, puoi utilizzare le seguenti scorciatoie:",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "Nessuna variabile di stato globale definita. Aggiungi variabili per creare valori riutilizzabili nel tuo stile.",
"Open": "Apri",
"Open a local JSON style from your computer.": "Apri uno stile JSON dal tuo computer.",
"OpenLayers (experimental)": "OpenLayers (sperimentale)",
"Open local Style": "Apri stile locale",
"Open modal": "Apri finestra modale",
"Open one of the publicly available styles to start from.": "Apro uno degli stili pubblici a partire da.",
"Open Style": "Apri stile",
"OpenLayers (experimental)": "OpenLayers (sperimentale)",
"Options": "Opzioni",
"Output value": "Valore di output",
"Owner": "Proprietario",
@@ -154,6 +162,7 @@
"Remove variable": "Rimuovi variabile",
"Remove zoom level from stop": "Rimuovi il livello di zoom dalla fermata",
"Revert from expression": "Ripristina dall'espressione",
"Roll": "Rollio",
"Save": "Salva",
"Save as": "Salva con nome",
"Save Style": "Opzioni stile",
@@ -164,6 +173,8 @@
"Shortcuts": "Scorciatoie",
"Shortcuts menu": "Scorciatoie del menu",
"Show": "Mostra",
"Sky color": "Colore del cielo",
"Sky horizon blend": "Sfumatura cielo-orizzonte",
"Source": "Sorgente",
"Source ID": "ID sorgente",
"Source Layer": "Livello sorgente",
@@ -201,6 +212,5 @@
"Video URL": "Indirizzo video",
"View": "Vista",
"You've entered an old style filter.": "Hai inserito uno stile filtro obsoleto.",
"Zoom": "Zoom",
"Drag and drop a style JSON file here or click to browse": "Trascina e rilascia qui un file JSON dello stile o fai clic per sfogliare"
"Zoom": "Zoom"
}
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "変数を追加",
"any filter matches": "いずれかのフィルタが一致",
"API key for Stadia Maps.": "Stadia Maps の API キー",
"Atmosphere blend": "大気のブレンド",
"Base": "ベース",
"Bearing": "方位",
"Cancel": "キャンセル",
"Center": "中央",
"Center altitude": "中央の高度",
"Choose Public Source": "公開ソースから選択",
"Choose the default Maputnik renderer for this style.": "このスタイルのデフォルトの Maputnik レンダラを選択してください",
"Click to close the editor": "エディタを閉じるにはクリックしてください",
@@ -54,6 +56,7 @@
"Delete expression": "式を削除",
"Delete filter block": "フィルタブロックを削除",
"Deuteranopia filter": "緑色盲フィルタ",
"Drag and drop a style JSON file here or click to browse": "ここにスタイルのJSONファイルをドラッグ&ドロップするか、クリックして参照してください",
"Drag to resize the layer list": "ドラッグしてレイヤーリストのサイズを変更",
"Drag to resize the sidebar": "ドラッグしてサイドバーのサイズを変更",
"Duplicate": "複製",
@@ -64,6 +67,9 @@
"Export modal": "書き出しのモーダル",
"Filter": "フィルタ",
"Focus map": "地図にフォーカス",
"Fog color": "霧の色",
"Fog ground blend": "霧と地面のブレンド",
"Font faces": "フォントファイル",
"Function": "関数",
"Gallery Styles": "ギャラリースタイル",
"General layout properties": "一般レイアウトプロパティ",
@@ -76,6 +82,8 @@
"Glyphs URL": "フォントグリフURL",
"Help": "ヘルプ",
"Hide": "非表示",
"Horizon color": "地平線の色",
"Horizon fog blend": "地平線と霧のブレンド",
"Icon layout properties": "アイコンレイアウトプロパティ",
"Icon paint properties": "アイコンペイントプロパティ",
"If the Map is in focused you can use the following shortcuts": "地図がフォーカスされている場合、以下のショートカットを使用できます",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "グローバルステート変数が定義されていません。スタイルで再利用可能な値を作成するには、変数を追加してください。",
"Open": "開く",
"Open a local JSON style from your computer.": "コンピュータからローカルJSONスタイルを開きます。",
"OpenLayers (experimental)": "OpenLayers (実験的)",
"Open local Style": "ローカルスタイルを開く",
"Open modal": "モーダルを開く",
"Open one of the publicly available styles to start from.": "公開スタイルを選んで開始しましょう。",
"Open Style": "スタイルを開く",
"OpenLayers (experimental)": "OpenLayers (実験的)",
"Options": "設定",
"Output value": "値",
"Owner": "所有者",
@@ -154,6 +162,7 @@
"Remove variable": "変数を削除",
"Remove zoom level from stop": "ズームレベルをストップから削除",
"Revert from expression": "式から戻す",
"Roll": "ロール",
"Save": "保存",
"Save as": "名前を付けて保存",
"Save Style": "スタイルを保存",
@@ -164,6 +173,8 @@
"Shortcuts": "ショートカット",
"Shortcuts menu": "ショートカットメニュー",
"Show": "表示",
"Sky color": "空の色",
"Sky horizon blend": "空と地平線のブレンド",
"Source": "ソース",
"Source ID": "ソースID",
"Source Layer": "ソースレイヤ",
@@ -201,6 +212,5 @@
"Video URL": "動画URL",
"View": "表示",
"You've entered an old style filter.": "旧型フィルタを使用しております。",
"Zoom": "ズーム",
"Drag and drop a style JSON file here or click to browse": "ここにスタイルのJSONファイルをドラッグ&ドロップするか、クリックして参照してください"
"Zoom": "ズーム"
}
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "변수 추가",
"any filter matches": "일부 필터 일치",
"API key for Stadia Maps.": "Stadia Maps용 API 키 입니다.",
"Atmosphere blend": "대기 블렌드",
"Base": "베이스",
"Bearing": "방위각",
"Cancel": "취소",
"Center": "중심 좌표",
"Center altitude": "중심 고도",
"Choose Public Source": "공개 소스 선택",
"Choose the default Maputnik renderer for this style.": "이 스타일의 기본 Maputnik 렌더러를 선택하세요.",
"Click to close the editor": "편집기를 닫으려면 클릭하세요",
@@ -54,6 +56,7 @@
"Delete expression": "표현식 삭제",
"Delete filter block": "필터 블록 삭제",
"Deuteranopia filter": "녹색맹 필터",
"Drag and drop a style JSON file here or click to browse": "여기에 스타일 JSON 파일을 끌어다 놓거나 클릭하여 찾아보세요",
"Drag to resize the layer list": "드래그하여 레이어 목록 크기 조정",
"Drag to resize the sidebar": "드래그하여 사이드바 크기 조정",
"Duplicate": "복제",
@@ -64,6 +67,9 @@
"Export modal": "모달 내보내기",
"Filter": "필터",
"Focus map": "포커스 맵",
"Fog color": "안개 색상",
"Fog ground blend": "안개-지면 블렌드",
"Font faces": "폰트 파일",
"Function": "함수",
"Gallery Styles": "갤러리 스타일",
"General layout properties": "일반 레이아웃 속성",
@@ -76,6 +82,8 @@
"Glyphs URL": "글리프 URL",
"Help": "도움말",
"Hide": "숨기기",
"Horizon color": "지평선 색상",
"Horizon fog blend": "지평선-안개 블렌드",
"Icon layout properties": "아이콘 레이아웃 속성",
"Icon paint properties": "아이콘 페인트 속성",
"If the Map is in focused you can use the following shortcuts": "맵에 포커스가 맞춰진 경우 다음 단축키를 사용할 수 있습니다",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "전역 상태 변수가 정의되지 않았습니다. 스타일에서 재사용 가능한 값을 생성하려면 변수를 추가하세요.",
"Open": "열기",
"Open a local JSON style from your computer.": "컴퓨터에서 로컬 JSON 스타일을 엽니다.",
"OpenLayers (experimental)": "OpenLayers (실험적)",
"Open local Style": "로컬 스타일 열기",
"Open modal": "모달 열기",
"Open one of the publicly available styles to start from.": "공개 스타일 중 하나를 선택하여 시작하세요.",
"Open Style": "스타일 열기",
"OpenLayers (experimental)": "OpenLayers (실험적)",
"Options": "옵션",
"Output value": "값",
"Owner": "소유자",
@@ -154,6 +162,7 @@
"Remove variable": "변수 제거",
"Remove zoom level from stop": "기준점에서 줌 레벨 제거",
"Revert from expression": "표현식에서 되돌리기",
"Roll": "롤 각도",
"Save": "저장",
"Save as": "다른 이름으로 저장",
"Save Style": "스타일 저장",
@@ -164,6 +173,8 @@
"Shortcuts": "단축키",
"Shortcuts menu": "단축키 메뉴",
"Show": "표시",
"Sky color": "하늘 색상",
"Sky horizon blend": "하늘-지평선 블렌드",
"Source": "소스",
"Source ID": "소스 ID",
"Source Layer": "소스 레이어",
@@ -201,6 +212,5 @@
"Video URL": "비디오 URL",
"View": "보기",
"You've entered an old style filter.": "이전 스타일 필터를 입력했습니다.",
"Zoom": "줌",
"Drag and drop a style JSON file here or click to browse": "여기에 스타일 JSON 파일을 끌어다 놓거나 클릭하여 찾아보세요"
"Zoom": "줌"
}
+11 -1
View File
@@ -13,10 +13,12 @@
"Add Variable": "Değişken Ekle",
"any filter matches": "herhangi bir filtre eşleşirse",
"API key for Stadia Maps.": "Stadia Maps için API anahtarı.",
"Atmosphere blend": "Atmosfer karışımı",
"Base": "Temel",
"Bearing": "Yön",
"Cancel": "İptal",
"Center": "Merkez",
"Center altitude": "Merkez yüksekliği",
"Choose Public Source": "Herkese Açık Kaynak Seç",
"Choose the default Maputnik renderer for this style.": "Bu stil için varsayılan Maputnik işleyicisini seçin.",
"Click to close the editor": "Düzenleyiciyi kapatmak için tıklayın",
@@ -65,6 +67,9 @@
"Export modal": "Dışa aktarma modalı",
"Filter": "Filtre",
"Focus map": "Haritaya odaklan",
"Fog color": "Sis rengi",
"Fog ground blend": "Sis-zemin karışımı",
"Font faces": "Yazı tipi dosyaları",
"Function": "Fonksiyon",
"Gallery Styles": "Galeri Stilleri",
"General layout properties": "Genel yerleşim özellikleri",
@@ -77,6 +82,8 @@
"Glyphs URL": "Glif URL'si",
"Help": "Yardım",
"Hide": "Gizle",
"Horizon color": "Ufuk rengi",
"Horizon fog blend": "Ufuk-sis karışımı",
"Icon layout properties": "Simge yerleşim özellikleri",
"Icon paint properties": "Simge boyama özellikleri",
"If the Map is in focused you can use the following shortcuts": "Harita odaktaysa aşağıdaki kısayolları kullanabilirsiniz",
@@ -124,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "Genel durum değişkeni tanımlanmadı. Stilinizde yeniden kullanılabilir değerler oluşturmak için değişken ekleyin.",
"Open": "Aç",
"Open a local JSON style from your computer.": "Bilgisayarınızdan yerel bir JSON stili açın.",
"OpenLayers (experimental)": "OpenLayers (deneysel)",
"Open local Style": "Yerel Stili Aç",
"Open modal": "Modalı aç",
"Open one of the publicly available styles to start from.": "Başlamak için herkese açık stillerden birini açın.",
"Open Style": "Stili Aç",
"OpenLayers (experimental)": "OpenLayers (deneysel)",
"Options": "Seçenekler",
"Output value": "Çıkış değeri",
"Owner": "Sahip",
@@ -155,6 +162,7 @@
"Remove variable": "Değişkeni kaldır",
"Remove zoom level from stop": "Duraktan yakınlaştırma seviyesini kaldır",
"Revert from expression": "İfadeden geri dön",
"Roll": "Yuvarlanma",
"Save": "Kaydet",
"Save as": "Farklı kaydet",
"Save Style": "Stili Kaydet",
@@ -165,6 +173,8 @@
"Shortcuts": "Kısayollar",
"Shortcuts menu": "Kısayollar menüsü",
"Show": "Göster",
"Sky color": "Gökyüzü rengi",
"Sky horizon blend": "Gökyüzü-ufuk karışımı",
"Source": "Kaynak",
"Source ID": "Kaynak Kimliği",
"Source Layer": "Kaynak Katmanı",
+13 -3
View File
@@ -13,10 +13,12 @@
"Add Variable": "添加变量",
"any filter matches": "任何过滤器匹配",
"API key for Stadia Maps.": "Stadia Maps 的 API 密钥",
"Atmosphere blend": "大气混合",
"Base": "基础",
"Bearing": "方位",
"Cancel": "取消",
"Center": "中心",
"Center altitude": "中心海拔",
"Choose Public Source": "选择公共源",
"Choose the default Maputnik renderer for this style.": "为这种样式选择默认的Maputnik渲染器。",
"Click to close the editor": "点击关闭编辑器",
@@ -54,6 +56,7 @@
"Delete expression": "删除表达式",
"Delete filter block": "删除过滤器块",
"Deuteranopia filter": "绿色盲滤镜",
"Drag and drop a style JSON file here or click to browse": "将样式 JSON 文件拖放到此处或点击以浏览",
"Drag to resize the layer list": "拖动以调整图层列表大小",
"Drag to resize the sidebar": "拖动以调整侧边栏大小",
"Duplicate": "复制",
@@ -64,6 +67,9 @@
"Export modal": "导出模态框",
"Filter": "过滤器",
"Focus map": "聚焦地图",
"Fog color": "雾颜色",
"Fog ground blend": "雾与地面混合",
"Font faces": "字体文件",
"Function": "函数",
"Gallery Styles": "画廊样式",
"General layout properties": "常规布局属性",
@@ -76,6 +82,8 @@
"Glyphs URL": "字形URL",
"Help": "帮助",
"Hide": "隐藏",
"Horizon color": "地平线颜色",
"Horizon fog blend": "地平线与雾混合",
"Icon layout properties": "图标布局属性",
"Icon paint properties": "图标绘制属性",
"If the Map is in focused you can use the following shortcuts": "如果地图处于焦点状态,您可以使用以下快捷键",
@@ -123,11 +131,11 @@
"No global state variables defined. Add variables to create reusable values in your style.": "未定义全局状态变量。添加变量以在样式中创建可重用的值。",
"Open": "打开",
"Open a local JSON style from your computer.": "从您的计算机打开本地JSON样式。",
"OpenLayers (experimental)": "OpenLayers(实验性)",
"Open local Style": "打开本地样式",
"Open modal": "打开模态框",
"Open one of the publicly available styles to start from.": "打开一个公开可用的样式开始。",
"Open Style": "打开样式",
"OpenLayers (experimental)": "OpenLayers(实验性)",
"Options": "选项",
"Output value": "输出值",
"Owner": "所有者",
@@ -154,6 +162,7 @@
"Remove variable": "移除变量",
"Remove zoom level from stop": "从停靠点移除缩放级别",
"Revert from expression": "从表达式恢复",
"Roll": "翻滚角",
"Save": "保存",
"Save as": "另存为",
"Save Style": "保存样式",
@@ -164,6 +173,8 @@
"Shortcuts": "快捷键",
"Shortcuts menu": "快捷方式菜单",
"Show": "显示",
"Sky color": "天空颜色",
"Sky horizon blend": "天空与地平线混合",
"Source": "源",
"Source ID": "源ID",
"Source Layer": "源图层",
@@ -201,6 +212,5 @@
"Video URL": "视频URL",
"View": "视图",
"You've entered an old style filter.": "您输入了一个旧风格的过滤器。",
"Zoom": "缩放",
"Drag and drop a style JSON file here or click to browse": "将样式 JSON 文件拖放到此处或点击以浏览"
"Zoom": "缩放"
}