Compare commits
10 Commits
63eae15191
...
306ed2ae0e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
306ed2ae0e | ||
|
|
a7cfe36b2e | ||
|
|
f4879a9e8a | ||
|
|
c8e09fcd90 | ||
|
|
c5f20d323c | ||
|
|
e3dcdf2f41 | ||
|
|
82d8b5d61e | ||
|
|
47692656e4 | ||
|
|
b5bf06b37a | ||
|
|
bc3b1e5f7c |
@ -19,6 +19,24 @@ const attributesWithNamespace = {
|
||||
width: 'gpx_style:width',
|
||||
};
|
||||
|
||||
const floatPatterns = [
|
||||
/[-+]?\d*\.\d+$/, // decimal
|
||||
/[-+]?\d+$/, // integer
|
||||
];
|
||||
function safeParseFloat(value: string): number {
|
||||
const parsed = parseFloat(value);
|
||||
if (!isNaN(parsed)) {
|
||||
return parsed;
|
||||
}
|
||||
for (const pattern of floatPatterns) {
|
||||
const match = value.match(pattern);
|
||||
if (match) {
|
||||
return parseFloat(match[0]);
|
||||
}
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
export function parseGPX(gpxData: string): GPXFile {
|
||||
const parser = new XMLParser({
|
||||
ignoreAttributes: false,
|
||||
@ -38,7 +56,7 @@ export function parseGPX(gpxData: string): GPXFile {
|
||||
},
|
||||
attributeValueProcessor(attrName, attrValue, jPath) {
|
||||
if (attrName === 'lat' || attrName === 'lon') {
|
||||
return parseFloat(attrValue);
|
||||
return safeParseFloat(attrValue);
|
||||
}
|
||||
return attrValue;
|
||||
},
|
||||
@ -52,7 +70,7 @@ export function parseGPX(gpxData: string): GPXFile {
|
||||
tagValueProcessor(tagName, tagValue, jPath, hasAttributes, isLeafNode) {
|
||||
if (isLeafNode) {
|
||||
if (tagName === 'ele') {
|
||||
return parseFloat(tagValue);
|
||||
return safeParseFloat(tagValue);
|
||||
}
|
||||
|
||||
if (tagName === 'time') {
|
||||
@ -67,14 +85,14 @@ export function parseGPX(gpxData: string): GPXFile {
|
||||
tagName === 'gpx_style:opacity' ||
|
||||
tagName === 'gpx_style:width'
|
||||
) {
|
||||
return parseFloat(tagValue);
|
||||
return safeParseFloat(tagValue);
|
||||
}
|
||||
|
||||
if (tagName === 'gpxpx:PowerExtension') {
|
||||
// Finish the transformation of the simple <power> tag to the more complex <gpxpx:PowerExtension> tag
|
||||
// Note that this only targets the transformed <power> tag, since it must be a leaf node
|
||||
return {
|
||||
'gpxpx:PowerInWatts': parseFloat(tagValue),
|
||||
'gpxpx:PowerInWatts': safeParseFloat(tagValue),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
23
website/src/lib/components/gpx-layer/CopyCoordinates.svelte
Normal file
23
website/src/lib/components/gpx-layer/CopyCoordinates.svelte
Normal file
@ -0,0 +1,23 @@
|
||||
<script lang="ts">
|
||||
import { Button } from '$lib/components/ui/button';
|
||||
import { ClipboardCopy } from 'lucide-svelte';
|
||||
import { _ } from 'svelte-i18n';
|
||||
import type { Coordinates } from 'gpx';
|
||||
|
||||
export let coordinates: Coordinates;
|
||||
export let onCopy: () => void = () => {};
|
||||
</script>
|
||||
|
||||
<Button
|
||||
class="w-full px-2 py-1 h-8 justify-start {$$props.class}"
|
||||
variant="outline"
|
||||
on:click={() => {
|
||||
navigator.clipboard.writeText(
|
||||
`${coordinates.lat.toFixed(6)}, ${coordinates.lon.toFixed(6)}`
|
||||
);
|
||||
onCopy();
|
||||
}}
|
||||
>
|
||||
<ClipboardCopy size="16" class="mr-1" />
|
||||
{$_('menu.copy_coordinates')}
|
||||
</Button>
|
||||
@ -1,10 +1,10 @@
|
||||
<script lang="ts">
|
||||
import type { TrackPoint } from 'gpx';
|
||||
import type { PopupItem } from '$lib/components/MapPopup';
|
||||
import CopyCoordinates from '$lib/components/gpx-layer/CopyCoordinates.svelte';
|
||||
import * as Card from '$lib/components/ui/card';
|
||||
import { Button } from '$lib/components/ui/button';
|
||||
import WithUnits from '$lib/components/WithUnits.svelte';
|
||||
import { Compass, Mountain, Timer, ClipboardCopy } from 'lucide-svelte';
|
||||
import { Compass, Mountain, Timer } from 'lucide-svelte';
|
||||
import { df } from '$lib/utils';
|
||||
import { _ } from 'svelte-i18n';
|
||||
|
||||
@ -34,18 +34,10 @@
|
||||
{df.format(trackpoint.item.time)}
|
||||
</div>
|
||||
{/if}
|
||||
<Button
|
||||
class="w-full px-2 py-1 h-6 justify-start mt-0.5"
|
||||
variant="secondary"
|
||||
on:click={() => {
|
||||
navigator.clipboard.writeText(
|
||||
`${trackpoint.item.getLatitude().toFixed(6)}, ${trackpoint.item.getLongitude().toFixed(6)}`
|
||||
);
|
||||
trackpoint.hide?.();
|
||||
}}
|
||||
>
|
||||
<ClipboardCopy size="16" class="mr-1" />
|
||||
{$_('menu.copy_coordinates')}
|
||||
</Button>
|
||||
<CopyCoordinates
|
||||
coordinates={trackpoint.item.attributes}
|
||||
onCopy={() => trackpoint.hide?.()}
|
||||
class="mt-0.5"
|
||||
/>
|
||||
</Card.Content>
|
||||
</Card.Root>
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
import * as Card from '$lib/components/ui/card';
|
||||
import { Button } from '$lib/components/ui/button';
|
||||
import Shortcut from '$lib/components/Shortcut.svelte';
|
||||
import CopyCoordinates from '$lib/components/gpx-layer/CopyCoordinates.svelte';
|
||||
import { deleteWaypoint } from './GPXLayerPopup';
|
||||
import WithUnits from '$lib/components/WithUnits.svelte';
|
||||
import { Dot, ExternalLink, Trash2 } from 'lucide-svelte';
|
||||
@ -77,9 +78,11 @@
|
||||
<span class="whitespace-pre-wrap">{@html sanitize(waypoint.item.cmt)}</span>
|
||||
{/if}
|
||||
</ScrollArea>
|
||||
<div class="mt-2 flex flex-col gap-1">
|
||||
<CopyCoordinates coordinates={waypoint.item.attributes} />
|
||||
{#if $currentTool === Tool.WAYPOINT}
|
||||
<Button
|
||||
class="mt-2 w-full px-2 py-1 h-8 justify-start"
|
||||
class="w-full px-2 py-1 h-8 justify-start"
|
||||
variant="outline"
|
||||
on:click={() => deleteWaypoint(waypoint.fileId, waypoint.item._data.index)}
|
||||
>
|
||||
@ -88,6 +91,7 @@
|
||||
<Shortcut shift={true} click={true} />
|
||||
</Button>
|
||||
{/if}
|
||||
</div>
|
||||
</Card.Content>
|
||||
</Card.Root>
|
||||
|
||||
|
||||
@ -220,6 +220,7 @@ export class OverpassLayer {
|
||||
query: query,
|
||||
icon: `overpass-${query}`,
|
||||
tags: element.tags,
|
||||
type: element.type,
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -35,7 +35,8 @@
|
||||
<Button
|
||||
class="ml-auto p-1.5 h-8"
|
||||
variant="outline"
|
||||
href="https://www.openstreetmap.org/edit?editor=id&node={poi.item.id}"
|
||||
href="https://www.openstreetmap.org/edit?editor=id&{poi.item.type ??
|
||||
'node'}={poi.item.id}"
|
||||
target="_blank"
|
||||
>
|
||||
<PencilLine size="16" />
|
||||
|
||||
@ -69,14 +69,14 @@
|
||||
endDate = undefined;
|
||||
endTime = undefined;
|
||||
}
|
||||
if ($gpxStatistics.global.time.moving) {
|
||||
if ($gpxStatistics.global.time.moving && $gpxStatistics.global.speed.moving) {
|
||||
movingTime = $gpxStatistics.global.time.moving;
|
||||
setSpeed($gpxStatistics.global.speed.moving);
|
||||
} else if ($gpxStatistics.global.time.total && $gpxStatistics.global.speed.total) {
|
||||
movingTime = $gpxStatistics.global.time.total;
|
||||
setSpeed($gpxStatistics.global.speed.total);
|
||||
} else {
|
||||
movingTime = undefined;
|
||||
}
|
||||
if ($gpxStatistics.global.speed.moving) {
|
||||
setSpeed($gpxStatistics.global.speed.moving);
|
||||
} else {
|
||||
speed = undefined;
|
||||
}
|
||||
}
|
||||
@ -329,7 +329,7 @@
|
||||
let fileId = item.getFileId();
|
||||
dbUtils.applyToFile(fileId, (file) => {
|
||||
if (item instanceof ListFileItem) {
|
||||
if (artificial) {
|
||||
if (artificial || !$gpxStatistics.global.time.moving) {
|
||||
file.createArtificialTimestamps(
|
||||
getDate(startDate, startTime),
|
||||
movingTime
|
||||
@ -342,7 +342,7 @@
|
||||
);
|
||||
}
|
||||
} else if (item instanceof ListTrackItem) {
|
||||
if (artificial) {
|
||||
if (artificial || !$gpxStatistics.global.time.moving) {
|
||||
file.createArtificialTimestamps(
|
||||
getDate(startDate, startTime),
|
||||
movingTime,
|
||||
@ -357,7 +357,7 @@
|
||||
);
|
||||
}
|
||||
} else if (item instanceof ListTrackSegmentItem) {
|
||||
if (artificial) {
|
||||
if (artificial || !$gpxStatistics.global.time.moving) {
|
||||
file.createArtificialTimestamps(
|
||||
getDate(startDate, startTime),
|
||||
movingTime,
|
||||
|
||||
@ -59,7 +59,7 @@ async function getRoute(
|
||||
brouterProfile: string,
|
||||
privateRoads: boolean
|
||||
): Promise<TrackPoint[]> {
|
||||
let url = `https://routing.gpx.studio?lonlats=${points.map((point) => `${point.lon.toFixed(8)},${point.lat.toFixed(8)}`).join('|')}&profile=${brouterProfile + (privateRoads ? '-private' : '')}&format=geojson&alternativeidx=0`;
|
||||
let url = `https://brouter.gpx.studio?lonlats=${points.map((point) => `${point.lon.toFixed(8)},${point.lat.toFixed(8)}`).join('|')}&profile=${brouterProfile + (privateRoads ? '-private' : '')}&format=geojson&alternativeidx=0`;
|
||||
|
||||
let response = await fetch(url);
|
||||
|
||||
|
||||
@ -10,4 +10,4 @@ We also use APIs from <a href="https://mapbox.com" target="_blank">Mapbox</a> to
|
||||
Unfortunately, this is expensive.
|
||||
If you enjoy using this tool and find it valuable, please consider making a small donation to help keep the website free and ad-free.
|
||||
|
||||
Thank you very much for your support! ❤️
|
||||
Mange tak for din støtte! ❤️
|
||||
|
||||
@ -2,4 +2,4 @@ Mapbox is the company that provides some of the beautiful maps on this website.
|
||||
They also develop the <a href="https://github.com/mapbox/mapbox-gl-js" target="_blank">map engine</a> which powers **gpx.studio**.
|
||||
|
||||
We are incredibly fortunate and grateful to be part of their <a href="https://mapbox.com/community" target="_blank">Community</a> program, which supports nonprofits, educational institutions, and positive impact organizations.
|
||||
This partnership allows **gpx.studio** to benefit from Mapbox tools at discounted prices, greatly contributing to the financial viability of the project and enabling us to offer the best possible user experience.
|
||||
Dette partnerskab tillader **gpx. tudio-** at drage fordel af Mapbox værktøjer til nedsatte priser i høj grad bidrage til projektets finansielle levedygtighed og sætte os i stand til at tilbyde den bedst mulige brugeroplevelse.
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
import { Languages } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
## <Languages size="18" class="mr-1 inline-block align-baseline" /> Translation
|
||||
## <Languages size="18" class="mr-1 inline-block align-baseline" /> Oversættelse
|
||||
|
||||
The website is translated by volunteers using a collaborative translation platform.
|
||||
Hjemmesiden er oversat af frivillige ved hjælp af en kollaborativ oversættelsesplatform.
|
||||
You can contribute by adding or improving translations on our <a href="https://crowdin.com/project/gpxstudio" target="_blank">Crowdin project</a>.
|
||||
|
||||
If you would like to start translating into a new language, please <a href="#contact">get in touch</a>.
|
||||
|
||||
Any help is greatly appreciated!
|
||||
Enhver hjælp er værdsat!
|
||||
|
||||
@ -30,7 +30,7 @@ Change the language used in the interface.
|
||||
|
||||
You can contribute by adding or improving translations on our <a href="https://crowdin.com/project/gpxstudio" target="_blank">Crowdin project</a>.
|
||||
If you would like to start translating into a new language, please <a href="#contact">get in touch</a>.
|
||||
Any help is greatly appreciated!
|
||||
Enhver hjælp er værdsat!
|
||||
|
||||
</DocsNote>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: GPX file format
|
||||
title: GPX fájlformátum
|
||||
---
|
||||
|
||||
<script>
|
||||
|
||||
@ -9,7 +9,7 @@ title: Nevezetes helyek
|
||||
|
||||
# <MapPin size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||
|
||||
A [Points of Interest](../gpx) hozzáadható a GPX-fájlokhoz, hogy megjelölje az érdekes helyeket a térképen, és megjelenítse azokat GPS-eszközén.
|
||||
A [POI](../gpx) hozzáadható a GPX fájlokhoz, hogy megjelölje az érdekes helyeket a térképen, és megjelenítse azokat GPS-eszközén.
|
||||
|
||||
### Érdekes pont létrehozása
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Clean
|
||||
title: Wyczyść
|
||||
---
|
||||
|
||||
<script>
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
"embed_title": "El editor online de archivos GPX",
|
||||
"help_title": "ayuda",
|
||||
"404_title": "página no encontrada",
|
||||
"description": "Ver, editar y crear archivos GPX online con capacidades de planificación avanzada de rutas y herramientas de procesamiento de archivos, hermosos mapas y visualizaciones detalladas de datos."
|
||||
"description": "Mira, edita y crea archivos GPX online con planificación avanzada de rutas y herramientas de procesamiento de archivos, bonitos mapas y visualizaciones detalladas de datos."
|
||||
},
|
||||
"menu": {
|
||||
"new": "Nuevo",
|
||||
"new_file": "Nuevo archivo",
|
||||
"new_track": "Nueva pista",
|
||||
"new_track": "Nuevo recorrido",
|
||||
"new_segment": "Nuevo segmento",
|
||||
"open": "Abrir...",
|
||||
"duplicate": "Duplicar track",
|
||||
@ -22,7 +22,7 @@
|
||||
"export": "Exportar...",
|
||||
"export_all": "Exportar todo...",
|
||||
"export_options": "Opciones de exportación",
|
||||
"support_message": "El uso de la herramienta es gratuito, pero no así su mantenimiento. Por favor, considere apoyar este sitio web si lo usa a menudo. ¡Gracias!",
|
||||
"support_message": "El uso de la herramienta es gratuito, pero no así su mantenimiento. Por favor, considere apoyar este sitio web si lo usas a menudo. ¡Gracias!",
|
||||
"support_button": "Ayude a mantener gratuito este sitio web",
|
||||
"download_file": "Descargar archivo",
|
||||
"download_files": "Descargar archivos",
|
||||
@ -103,11 +103,11 @@
|
||||
},
|
||||
"start_loop_here": "Iniciar bucle aquí",
|
||||
"help_no_file": "Seleccione una traza para utilizar la herramienta de enrutamiento o haga clic en el mapa para empezar a crear una nueva ruta.",
|
||||
"help": "Haga clic en el mapa para añadir un nuevo punto ancla o arrastre los existentes para cambiar la ruta.",
|
||||
"help": "Haga clic en el mapa para añadir un nuevo punto de anclaje o arrastre los existentes para cambiar la ruta.",
|
||||
"activities": {
|
||||
"bike": "En bicicleta",
|
||||
"racing_bike": "Bicicleta de carretera",
|
||||
"gravel_bike": "Bicicleta gravel",
|
||||
"gravel_bike": "Bicicleta de grave",
|
||||
"mountain_bike": "Bicicleta de montaña",
|
||||
"foot": "Correr/Caminar",
|
||||
"motorcycle": "Motocicleta",
|
||||
@ -125,7 +125,7 @@
|
||||
"sett": "Baldosa",
|
||||
"metal": "Metal",
|
||||
"wood": "Madera",
|
||||
"compacted": "Grava compacta",
|
||||
"compacted": "Grava compactada",
|
||||
"fine_gravel": "Grava fina",
|
||||
"gravel": "Grava",
|
||||
"pebblestone": "Canto rodado",
|
||||
@ -136,7 +136,7 @@
|
||||
"mud": "Barro",
|
||||
"sand": "Arena",
|
||||
"grass": "Hierba",
|
||||
"grass_paver": "Adoquines de césped",
|
||||
"grass_paver": "Camino de hierba",
|
||||
"clay": "Arcilla",
|
||||
"stone": "Piedra"
|
||||
},
|
||||
@ -156,7 +156,7 @@
|
||||
"residential": "Vía residencial",
|
||||
"living_street": "Calle residencial",
|
||||
"service": "Vía de servicio",
|
||||
"track": "Pista",
|
||||
"track": "Camino",
|
||||
"footway": "Pasarela",
|
||||
"path": "Sendero",
|
||||
"pedestrian": "Peatonal",
|
||||
@ -181,9 +181,9 @@
|
||||
"hiking": "Senderismo",
|
||||
"mountain_hiking": "Senderismo de montaña",
|
||||
"demanding_mountain_hiking": "Senderismo de montaña exigente",
|
||||
"alpine_hiking": "Senderismo alpino",
|
||||
"demanding_alpine_hiking": "Senderismo alpino exigente",
|
||||
"difficult_alpine_hiking": "Senderismo alpino difícil"
|
||||
"alpine_hiking": "Alpinismo",
|
||||
"demanding_alpine_hiking": "Alpinismo exigente",
|
||||
"difficult_alpine_hiking": "Alpinismo difícil"
|
||||
},
|
||||
"mtb_scale": "Escala MTB",
|
||||
"error": {
|
||||
@ -212,22 +212,22 @@
|
||||
"help_invalid_selection": "Seleccione un único trazado para gestionar sus datos de tiempo."
|
||||
},
|
||||
"merge": {
|
||||
"merge_traces": "Conectar los trazados",
|
||||
"merge_contents": "Combinar los contenidos y mantener los trazados desconectados",
|
||||
"merge_traces": "Conectar las trazas",
|
||||
"merge_contents": "Combinar los contenidos y mantener las trazas desconectadas",
|
||||
"merge_selection": "Combinar selección",
|
||||
"remove_gaps": "Eliminar intervalos vacíos de tiempo entre trazas",
|
||||
"remove_gaps": "Eliminar intervalos de tiempo entre trazas",
|
||||
"tooltip": "Combinar elementos",
|
||||
"help_merge_traces": "Conectar los trazados seleccionados creará un único trazado continuo.",
|
||||
"help_cannot_merge_traces": "Su selección debe contener varios trazados para conectarlos.",
|
||||
"help_merge_traces": "Al conectar las trazas seleccionadas se creará una única traza continua.",
|
||||
"help_cannot_merge_traces": "Su selección debe contener varias trazas para conectarlos.",
|
||||
"help_merge_contents": "Combinar el contenido de los elementos seleccionados los agrupará dentro del primer elemento.",
|
||||
"help_cannot_merge_contents": "Su selección debe contener varios elementos para combinar sus contenidos.",
|
||||
"selection_tip": "Consejo: use {KEYBOARD_SHORTCUT} para añadir elementos a la selección."
|
||||
},
|
||||
"extract": {
|
||||
"tooltip": "Extraer contenidos en elementos separados",
|
||||
"tooltip": "Extrae contenidos en elementos separados",
|
||||
"button": "Extraer",
|
||||
"help": "Extraer los contenidos de los elementos seleccionados creará un elemento separado para cada uno.",
|
||||
"help_invalid_selection": "Su selección debe contener elementos con múltiples trazados para extraerlos."
|
||||
"help": "Al extraer los contenidos de los elementos seleccionados creará un elemento separado para cada uno.",
|
||||
"help_invalid_selection": "Su selección debe contener elementos con múltiples trazas para extraerlos."
|
||||
},
|
||||
"elevation": {
|
||||
"button": "Solicitar datos de desnivel",
|
||||
@ -251,17 +251,17 @@
|
||||
"number_of_points": "Cantidad de puntos GPS",
|
||||
"button": "Minimizar",
|
||||
"help": "Use la barra deslizante para elegir la cantidad de puntos GPS a conservar.",
|
||||
"help_no_selection": "Seleccione un trazo para reducir su cantidad de puntos GPS."
|
||||
"help_no_selection": "Seleccione una traza para reducir su cantidad de puntos GPS."
|
||||
},
|
||||
"clean": {
|
||||
"tooltip": "Limpiar puntos GPS y puntos de interés con una selección rectangular",
|
||||
"delete_trackpoints": "Eliminar puntos GPS",
|
||||
"delete_waypoints": "Eliminar puntos de interés",
|
||||
"delete_inside": "Eliminar interior de la selección",
|
||||
"delete_outside": "Eliminar exterior de la selección",
|
||||
"delete_inside": "Eliminar en el interior de la selección",
|
||||
"delete_outside": "Eliminar en el exterior de la selección",
|
||||
"button": "Eliminar track",
|
||||
"help": "Seleccione un área rectangular en el mapa para eliminar puntos GPS y puntos de interés.",
|
||||
"help_no_selection": "Seleccione un trazo para limpiar puntos GPS y puntos de interés."
|
||||
"help_no_selection": "Seleccione una traza para limpiar puntos GPS y puntos de interés."
|
||||
}
|
||||
},
|
||||
"layers": {
|
||||
@ -320,7 +320,7 @@
|
||||
"ordnanceSurvey": "Encuesta Ordnance",
|
||||
"norwayTopo": "Topografisk Norgeskart 4",
|
||||
"swedenTopo": "Lantmäteriet Topo",
|
||||
"swedenSatellite": "Satélite Lantmat",
|
||||
"swedenSatellite": "Satélite Lantmäteriet ",
|
||||
"finlandTopo": "Lantmäteriverket Terrängkarta",
|
||||
"bgMountains": "BGMountains",
|
||||
"usgs": "USGS",
|
||||
@ -333,17 +333,17 @@
|
||||
"swisstopoCyclingClosures": "swisstopo Rutas Ciclismo",
|
||||
"swisstopoMountainBike": "swisstopo MTB",
|
||||
"swisstopoMountainBikeClosures": "swisstopo Rutas MTB",
|
||||
"swisstopoSkiTouring": "swisstopo Ski Touring",
|
||||
"swisstopoSkiTouring": "swisstopo Esquí de Travesía ",
|
||||
"ignFrCadastre": "IGN Cadastre",
|
||||
"ignSlope": "IGN Pendiente",
|
||||
"ignSkiTouring": "IGN Ski Touring",
|
||||
"ignSkiTouring": "IGN Esquí de Travesía",
|
||||
"waymarked_trails": "Caminos marcados",
|
||||
"waymarkedTrailsHiking": "Senderismo",
|
||||
"waymarkedTrailsCycling": "Ciclismo",
|
||||
"waymarkedTrailsMTB": "MTB",
|
||||
"waymarkedTrailsSkating": "Patín",
|
||||
"waymarkedTrailsSkating": "Patinaje",
|
||||
"waymarkedTrailsHorseRiding": "Equitación",
|
||||
"waymarkedTrailsWinter": "Invierno",
|
||||
"waymarkedTrailsWinter": "Invernal",
|
||||
"points_of_interest": "Puntos de interés",
|
||||
"food": "Comida",
|
||||
"bakery": "Panadería",
|
||||
@ -357,7 +357,7 @@
|
||||
"motorized": "Coches y motos",
|
||||
"fuel-station": "Gasolinera",
|
||||
"parking": "Aparcamiento",
|
||||
"garage": "Taller",
|
||||
"garage": "Garaje",
|
||||
"barrier": "Barrera",
|
||||
"tourism": "Turismo",
|
||||
"attraction": "Atracción",
|
||||
@ -406,14 +406,14 @@
|
||||
"feet": "ft",
|
||||
"kilometers": "km",
|
||||
"miles": "mi",
|
||||
"nautical_miles": "nm",
|
||||
"nautical_miles": "mn",
|
||||
"celsius": "ºC",
|
||||
"fahrenheit": "ºF",
|
||||
"kilometers_per_hour": "km/h",
|
||||
"miles_per_hour": "millas/h",
|
||||
"minutes_per_kilometer": "min/km",
|
||||
"minutes_per_mile": "min/milla",
|
||||
"minutes_per_nautical_mile": "min/nm",
|
||||
"minutes_per_mile": "min/mi",
|
||||
"minutes_per_nautical_mile": "min/mn",
|
||||
"knots": "kn",
|
||||
"heartrate": "ppm",
|
||||
"cadence": "rpm",
|
||||
@ -430,7 +430,7 @@
|
||||
"waypoints": "Puntos de interés",
|
||||
"symbol": {
|
||||
"alert": "Alerta",
|
||||
"anchor": "Ancla",
|
||||
"anchor": "Anclaje",
|
||||
"bank": "Banco",
|
||||
"beach": "Playa",
|
||||
"bike_trail": "Sendero de bicicleta",
|
||||
@ -461,7 +461,7 @@
|
||||
"restricted_area": "Área Restringida",
|
||||
"restroom": "Baños",
|
||||
"road": "Carretera",
|
||||
"scenic_area": "Zona Pintoresca",
|
||||
"scenic_area": "Zona Panorámica",
|
||||
"shelter": "Refugio",
|
||||
"shopping_center": "Centro Comercial",
|
||||
"shower": "Ducha",
|
||||
@ -484,16 +484,16 @@
|
||||
"email": "Email",
|
||||
"contribute": "Contribuir",
|
||||
"supported_by": "con el apoyo de",
|
||||
"support_button": "Apoye gpx.studio en Ko-fi",
|
||||
"support_button": "Apoyar gpx.studio en Ko-fi",
|
||||
"route_planning": "Planificación de ruta",
|
||||
"route_planning_description": "Una interfaz intuitiva para crear itinerarios adaptados a cada deporte, basada en datos de OpenStreetMap.",
|
||||
"file_processing": "Procesamiento avanzado de archivos",
|
||||
"file_processing": "Procesamiento avanzado de archivo",
|
||||
"file_processing_description": "Un conjunto de herramientas para realizar todas las tareas comunes de procesamiento de archivos y que se pueden aplicar a varios archivos a la vez.",
|
||||
"maps": "Mapas globales y locales",
|
||||
"maps_description": "Una gran colección de mapas base, capas y puntos de interés para ayudarle a fabricar su próxima aventura al aire libre o visualizar su último logro.",
|
||||
"maps_description": "Una gran colección de mapas base, capas y puntos de interés para ayudarle a crear su próxima aventura al aire libre o visualizar su último logro.",
|
||||
"data_visualization": "Visualización de datos",
|
||||
"data_visualization_description": "Un perfil de elevación interactivo con estadísticas detalladas para analizar actividades registradas y futuros objetivos.",
|
||||
"identity": "Gratis, libre de anuncios y open source",
|
||||
"identity": "Gratis, sin anuncios y código abierto",
|
||||
"identity_description": "Este sitio web es de uso gratuito, sin anuncios y el código fuente está disponible públicamente en GitHub. Esto solo es posible gracias al increíble apoyo de la comunidad."
|
||||
},
|
||||
"docs": {
|
||||
@ -524,7 +524,7 @@
|
||||
"drive_ids": "IDs de archivo de Google Drive (separados por comas)",
|
||||
"basemap": "Mapa base",
|
||||
"height": "Altura",
|
||||
"fill_by": "Rellenar por",
|
||||
"fill_by": "Rellenado por",
|
||||
"none": "Ninguno",
|
||||
"show_controls": "Mostrar controles",
|
||||
"manual_camera": "Cámara manual",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"home_title": "edytor online plików GPX",
|
||||
"app_title": "",
|
||||
"app_title": "Aplikacja",
|
||||
"embed_title": "edytor online plików GPX",
|
||||
"help_title": "pomoc",
|
||||
"404_title": "nie odnaleziono strony",
|
||||
@ -148,44 +148,44 @@
|
||||
"trunk_link": "Link do głównej drogi",
|
||||
"primary": "Główna droga",
|
||||
"primary_link": "Link do głównej drogi",
|
||||
"secondary": "Secondary road",
|
||||
"secondary_link": "Secondary road link",
|
||||
"tertiary": "Tertiary road",
|
||||
"tertiary_link": "Tertiary road link",
|
||||
"unclassified": "Minor road",
|
||||
"residential": "Residential road",
|
||||
"living_street": "Living street",
|
||||
"service": "Service road",
|
||||
"track": "Track",
|
||||
"footway": "Footway",
|
||||
"path": "Path",
|
||||
"pedestrian": "Pedestrian",
|
||||
"cycleway": "Cycleway",
|
||||
"steps": "Steps",
|
||||
"road": "Road",
|
||||
"bridleway": "Horseriding path",
|
||||
"platform": "Platform",
|
||||
"raceway": "Racing circuit",
|
||||
"rest_area": "Rest area",
|
||||
"abandoned": "Abandoned",
|
||||
"services": "Services",
|
||||
"corridor": "Corridor",
|
||||
"bus_stop": "Bus stop",
|
||||
"busway": "Busway",
|
||||
"elevator": "Elevator",
|
||||
"via_ferrata": "Via ferrata",
|
||||
"proposed": "Road to be built",
|
||||
"construction": "Road under construction"
|
||||
"secondary": "Droga podporządkowana",
|
||||
"secondary_link": "Link do drogi podporządkowanej",
|
||||
"tertiary": "Droga trzeciorzędna",
|
||||
"tertiary_link": "Link do drogi trzeciorzędnej",
|
||||
"unclassified": "Mniejsza droga",
|
||||
"residential": "Droga dojazdowa",
|
||||
"living_street": "Ulica",
|
||||
"service": "Droga techniczna",
|
||||
"track": "Droga szutrowa",
|
||||
"footway": "Chodnik",
|
||||
"path": "Ścieżka",
|
||||
"pedestrian": "Pieszy",
|
||||
"cycleway": "Droga rowerowa",
|
||||
"steps": "Schody",
|
||||
"road": "Jezdnia",
|
||||
"bridleway": "Droga konna",
|
||||
"platform": "Peron",
|
||||
"raceway": "Tor wyścigowy",
|
||||
"rest_area": "Miejsce odpoczynku",
|
||||
"abandoned": "Porzucone",
|
||||
"services": "Usługi",
|
||||
"corridor": "Korytarz",
|
||||
"bus_stop": "Przystanek autobusowy",
|
||||
"busway": "Bus-pas",
|
||||
"elevator": "Winda",
|
||||
"via_ferrata": "Szlak wspinaczkowy z asekuracją",
|
||||
"proposed": "Planowana droga",
|
||||
"construction": "Droga w budowie"
|
||||
},
|
||||
"sac_scale": {
|
||||
"hiking": "Hiking",
|
||||
"mountain_hiking": "Mountain hiking",
|
||||
"demanding_mountain_hiking": "Demanding mountain hiking",
|
||||
"alpine_hiking": "Alpine hiking",
|
||||
"demanding_alpine_hiking": "Demanding alpine hiking",
|
||||
"difficult_alpine_hiking": "Difficult alpine hiking"
|
||||
"hiking": "Wędrówki",
|
||||
"mountain_hiking": "Wędrówka górska",
|
||||
"demanding_mountain_hiking": "Wymagająca górska wędrówka",
|
||||
"alpine_hiking": "Wspinaczka alpejska",
|
||||
"demanding_alpine_hiking": "Wymagająca wspinaczka alpejska",
|
||||
"difficult_alpine_hiking": "Trudna wspinaczka alpejska"
|
||||
},
|
||||
"mtb_scale": "MTB scale",
|
||||
"mtb_scale": "Skala MTB",
|
||||
"error": {
|
||||
"from": "Punkt początkowy jest zbyt daleko od najbliższej drogi",
|
||||
"via": "Punkt przelotowy jest zbyt daleko od najbliższej drogi",
|
||||
@ -198,7 +198,7 @@
|
||||
"crop": "Przytnij",
|
||||
"split_as": "Podziel ślad na",
|
||||
"help_invalid_selection": "Wybierz ślad do przycinania lub rozdzielenia.",
|
||||
"help": ".."
|
||||
"help": "Użyj suwaka, aby skrócić ślad lub podzielić go klikając na jeden ze znaczników lub na sam ślad."
|
||||
},
|
||||
"time": {
|
||||
"tooltip": "Zarządzaj danymi czasu",
|
||||
@ -215,13 +215,13 @@
|
||||
"merge_traces": "Połącz ślady",
|
||||
"merge_contents": "Scal zawartość, ale utrzymaj rozłączone ślady",
|
||||
"merge_selection": "Scal zaznaczenie",
|
||||
"remove_gaps": "Remove time gaps between traces",
|
||||
"remove_gaps": "Usuń przerwy czasowe między śladami",
|
||||
"tooltip": "Scal elementy razem",
|
||||
"help_merge_traces": "Połączenie zaznaczonych śladów stworzy pojedynczy ciągły ślad.",
|
||||
"help_cannot_merge_traces": "Wybór musi zawierać kilka śladów, aby je połączyć.",
|
||||
"help_merge_contents": "Scalanie zawartości zaznaczonych elementów zgrupuje całą zawartość wewnątrz pierwszego elementu.",
|
||||
"help_cannot_merge_contents": "Twój wybór musi zawierać kilka elementów, aby scalić ich zawartość.",
|
||||
"selection_tip": "Tip: use {KEYBOARD_SHORTCUT} to add items to the selection."
|
||||
"selection_tip": "Wskazówka: użyj {KEYBOARD_SHORTCUT} aby dodać elementy do wyboru."
|
||||
},
|
||||
"extract": {
|
||||
"tooltip": "Wyodrębnij zawartość do rozdzielenia elementów",
|
||||
@ -230,9 +230,9 @@
|
||||
"help_invalid_selection": "Twój wybór musi zawierać elementy z kilkoma śladami, aby je rozpakować."
|
||||
},
|
||||
"elevation": {
|
||||
"button": "Request elevation data",
|
||||
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapbox.",
|
||||
"help_no_selection": "Select a file item to request elevation data."
|
||||
"button": "Dodaj dane o wysokości terenu",
|
||||
"help": "Dodanie tych danych nadpisze wszystkie naniesione informacje o wysokościach danymi pobranymi z Mapbox. ",
|
||||
"help_no_selection": "Wybierz plik do wczytania danych o wysokości w terenie."
|
||||
},
|
||||
"waypoint": {
|
||||
"tooltip": "Twórz i edytuj punkty zainteresowania",
|
||||
@ -260,20 +260,20 @@
|
||||
"delete_inside": "Usuń wewnątrz zaznaczenia",
|
||||
"delete_outside": "Usuń na zewnątrz zaznaczenia",
|
||||
"button": "Usuń",
|
||||
"help": "Select a rectangle area on the map to remove GPS points and points of interest.",
|
||||
"help_no_selection": "Select a trace to clean GPS points and points of interest."
|
||||
"help": "Zaznacz prostokątnie obszar na mapie, z którego chcesz usunąć punkty GPS.",
|
||||
"help_no_selection": "Wybierz ślad, z którego chcesz usunąć punkty GPS."
|
||||
}
|
||||
},
|
||||
"layers": {
|
||||
"settings": "Ustawienia warstw",
|
||||
"settings_help": "Select the map layers you want to show in the interface, add custom ones, and adjust their settings.",
|
||||
"selection": "Layer selection",
|
||||
"settings_help": "Wybierz warstwy mapy, które chcesz pokazać w interfejsie, dodaj niestandardowe i dostosuj ich ustawienia.",
|
||||
"selection": "Wybór warstw",
|
||||
"custom_layers": {
|
||||
"title": "Custom layers",
|
||||
"new": "New custom layer",
|
||||
"edit": "Edit custom layer",
|
||||
"title": "Niestandardowe warstwy",
|
||||
"new": "Nowa warstwa niestandardowa",
|
||||
"edit": "Edytuj niestandardową warstwę",
|
||||
"urls": "URL(e)",
|
||||
"url_placeholder": "WMTS, WMS or Mapbox style JSON",
|
||||
"url_placeholder": "JSON w stylu WMTS, WMS lub Mapbox",
|
||||
"max_zoom": "Maksymalne powiększenie",
|
||||
"layer_type": "Rodzaj warstwy",
|
||||
"basemap": "Mapa bazowa",
|
||||
@ -281,7 +281,7 @@
|
||||
"create": "Utwórz warstwę",
|
||||
"update": "Zaktualizuj warstwę"
|
||||
},
|
||||
"opacity": "Overlay opacity",
|
||||
"opacity": "Przezroczystość nakładki",
|
||||
"label": {
|
||||
"basemaps": "Mapy bazowe",
|
||||
"overlays": "Nakładki",
|
||||
@ -299,8 +299,8 @@
|
||||
"switzerland": "Szwajcaria",
|
||||
"united_kingdom": "Wielka Brytania",
|
||||
"united_states": "Stany Zjednoczone",
|
||||
"mapboxOutdoors": "Mapbox Outdoors",
|
||||
"mapboxSatellite": "Mapbox Satellite",
|
||||
"mapboxOutdoors": "Teren (Mapbox)",
|
||||
"mapboxSatellite": "Satelita (Mapbox)",
|
||||
"openStreetMap": "OpenStreetMap",
|
||||
"openTopoMap": "OpenTopoMap",
|
||||
"openHikingMap": "OpenHikingMap",
|
||||
@ -314,9 +314,9 @@
|
||||
"ignFrPlan": "IGN Plan",
|
||||
"ignFrTopo": "IGN Topo",
|
||||
"ignFrScan25": "IGN SCAN25",
|
||||
"ignFrSatellite": "IGN Satellite",
|
||||
"ignFrSatellite": "Satelita (IGN)",
|
||||
"ignEs": "IGN Topo",
|
||||
"ignEsSatellite": "IGN Satellite",
|
||||
"ignEsSatellite": "Satelita (IGN)",
|
||||
"ordnanceSurvey": "Ordnance Survey",
|
||||
"norwayTopo": "Topografisk Norgeskart 4",
|
||||
"swedenTopo": "Lantmäteriet Topo",
|
||||
@ -337,15 +337,15 @@
|
||||
"ignFrCadastre": "IGN Cadastre",
|
||||
"ignSlope": "IGN Slope",
|
||||
"ignSkiTouring": "IGN Ski Touring",
|
||||
"waymarked_trails": "Waymarked Trails",
|
||||
"waymarkedTrailsHiking": "Hiking",
|
||||
"waymarked_trails": "Oznakowane szlaki",
|
||||
"waymarkedTrailsHiking": "Turystyczne",
|
||||
"waymarkedTrailsCycling": "Kolarstwo",
|
||||
"waymarkedTrailsMTB": "Rower górski",
|
||||
"waymarkedTrailsSkating": "Rolki",
|
||||
"waymarkedTrailsHorseRiding": "Jazda konna",
|
||||
"waymarkedTrailsWinter": "Zima",
|
||||
"points_of_interest": "Punkty zainteresowania",
|
||||
"food": "Odżywianie",
|
||||
"food": "Żywność",
|
||||
"bakery": "Piekarnia",
|
||||
"food-store": "Sklep z żywnością",
|
||||
"eat-and-drink": "Jedzenie i picie",
|
||||
@ -381,12 +381,12 @@
|
||||
}
|
||||
},
|
||||
"chart": {
|
||||
"settings": "Elevation profile settings"
|
||||
"settings": "Ustawienia profilu wysokościowego"
|
||||
},
|
||||
"quantities": {
|
||||
"distance": "Dystans",
|
||||
"elevation": "Przewyższenie",
|
||||
"elevation_gain_loss": "Elevation gain and loss",
|
||||
"elevation_gain_loss": "Przewyższenia",
|
||||
"temperature": "Temperatura",
|
||||
"speed": "Prędkość",
|
||||
"pace": "Tempo",
|
||||
@ -395,28 +395,28 @@
|
||||
"power": "Moc",
|
||||
"slope": "Nachylenie",
|
||||
"surface": "Powierzchnia",
|
||||
"highway": "Category",
|
||||
"highway": "Kategorie",
|
||||
"time": "Czas",
|
||||
"moving": "W ruchu",
|
||||
"total": "Łącznie",
|
||||
"osm_extensions": "OpenStreetMap data"
|
||||
"osm_extensions": "Dane OpenStreetMap"
|
||||
},
|
||||
"units": {
|
||||
"meters": "m",
|
||||
"feet": "ft",
|
||||
"kilometers": "km",
|
||||
"miles": "mi",
|
||||
"nautical_miles": "nm",
|
||||
"nautical_miles": "mile morskie",
|
||||
"celsius": "°C",
|
||||
"fahrenheit": "°F",
|
||||
"kilometers_per_hour": "km/h",
|
||||
"miles_per_hour": "mph",
|
||||
"miles_per_hour": "mil/h",
|
||||
"minutes_per_kilometer": "min/km",
|
||||
"minutes_per_mile": "min/mi",
|
||||
"minutes_per_nautical_mile": "min/nm",
|
||||
"knots": "kn",
|
||||
"heartrate": "bpm",
|
||||
"cadence": "rpm",
|
||||
"minutes_per_nautical_mile": "min/mil morskie",
|
||||
"knots": "węzły morskie",
|
||||
"heartrate": "uderz./min",
|
||||
"cadence": "obrot./min",
|
||||
"power": "W"
|
||||
},
|
||||
"gpx": {
|
||||
@ -432,98 +432,98 @@
|
||||
"alert": "Ostrzeżenie",
|
||||
"anchor": "Punkt stały",
|
||||
"bank": "Bank",
|
||||
"beach": "Beach",
|
||||
"bike_trail": "Bike Trail",
|
||||
"binoculars": "Binoculars",
|
||||
"bridge": "Bridge",
|
||||
"building": "Building",
|
||||
"beach": "Plaża",
|
||||
"bike_trail": "Ścieżka rowerowa",
|
||||
"binoculars": "Lornetki",
|
||||
"bridge": "Most",
|
||||
"building": "Budynek",
|
||||
"campground": "Kemping",
|
||||
"car": "Car",
|
||||
"car_repair": "Garage",
|
||||
"car": "Samochód",
|
||||
"car_repair": "Warsztat",
|
||||
"convenience_store": "Sklep spożywczy",
|
||||
"crossing": "Crossing",
|
||||
"department_store": "Department Store",
|
||||
"crossing": "Przejście",
|
||||
"department_store": "Dom Towarowy",
|
||||
"drinking_water": "Woda",
|
||||
"exit": "Exit",
|
||||
"lodge": "Hut",
|
||||
"lodging": "Accommodation",
|
||||
"forest": "Forest",
|
||||
"exit": "Wyjście",
|
||||
"lodge": "Chatka",
|
||||
"lodging": "Pokoje",
|
||||
"forest": "Las",
|
||||
"gas_station": "Stacja paliw",
|
||||
"ground_transportation": "Ground Transportation",
|
||||
"ground_transportation": "Transport lądowy",
|
||||
"hotel": "Hotel",
|
||||
"house": "House",
|
||||
"information": "Information",
|
||||
"house": "Dom",
|
||||
"information": "Informacja",
|
||||
"park": "Park",
|
||||
"parking_area": "Parking",
|
||||
"pharmacy": "Pharmacy",
|
||||
"picnic_area": "Picnic Area",
|
||||
"pharmacy": "Apteka",
|
||||
"picnic_area": "Strefa piknikowa",
|
||||
"restaurant": "Restauracja",
|
||||
"restricted_area": "Restricted Area",
|
||||
"restricted_area": "Obszar zastrzeżony",
|
||||
"restroom": "Toalety",
|
||||
"road": "Road",
|
||||
"scenic_area": "Scenic Area",
|
||||
"shelter": "Shelter",
|
||||
"shopping_center": "Shopping Center",
|
||||
"road": "Droga",
|
||||
"scenic_area": "Strefa piknikowa",
|
||||
"shelter": "Schronisko",
|
||||
"shopping_center": "Centrum handlowe",
|
||||
"shower": "Prysznic",
|
||||
"summit": "Summit",
|
||||
"telephone": "Telephone",
|
||||
"tunnel": "Tunnel",
|
||||
"water_source": "Water Source"
|
||||
"summit": "Szczyt",
|
||||
"telephone": "Telefon",
|
||||
"tunnel": "Tunel",
|
||||
"water_source": "Źródło wody"
|
||||
}
|
||||
},
|
||||
"homepage": {
|
||||
"website": "Website",
|
||||
"home": "Home",
|
||||
"app": "App",
|
||||
"contact": "Contact",
|
||||
"website": "Strona",
|
||||
"home": "Start",
|
||||
"app": "Aplikacja",
|
||||
"contact": "Kontakt",
|
||||
"reddit": "Reddit",
|
||||
"x": "X",
|
||||
"facebook": "Facebook",
|
||||
"github": "GitHub",
|
||||
"crowdin": "Crowdin",
|
||||
"email": "Email",
|
||||
"contribute": "Contribute",
|
||||
"supported_by": "supported by",
|
||||
"support_button": "Support gpx.studio on Ko-fi",
|
||||
"route_planning": "Route planning",
|
||||
"route_planning_description": "An intuitive interface to create itineraries tailored to each sport, based on OpenStreetMap data.",
|
||||
"file_processing": "Advanced file processing",
|
||||
"file_processing_description": "A suite of tools for performing all common file processing tasks, and which can be applied to multiple files at once.",
|
||||
"maps": "Global and local maps",
|
||||
"maps_description": "A large collection of basemaps, overlays and points of interest to help you craft your next outdoor adventure, or visualize your latest achievement.",
|
||||
"data_visualization": "Data visualization",
|
||||
"data_visualization_description": "An interactive elevation profile with detailed statistics to analyze recorded activities and future objectives.",
|
||||
"identity": "Free, ad-free and open source",
|
||||
"identity_description": "The website is free to use, without ads, and the source code is publicly available on GitHub. This is only possible thanks to the incredible support of the community."
|
||||
"contribute": "Wesprzyj",
|
||||
"supported_by": "wspierane przez",
|
||||
"support_button": "Wesprzyj gpx.studio na Ko-fi",
|
||||
"route_planning": "Planowanie trasy",
|
||||
"route_planning_description": "Intuicyjny interfejs do tworzenia tras dostosowanych do każdego sportu, na bazie danych OpenStreetMap.",
|
||||
"file_processing": "Rozbudowanie przetwarzanie plików",
|
||||
"file_processing_description": "Zestaw narzędzi do wykonywania akcji i innych operacji na wielu plikach jednocześnie.",
|
||||
"maps": "Globalne i lokalne mapy",
|
||||
"maps_description": "Duża kolekcja podstawowych map, nakładek i ulubionych punktów, które pomogą Ci stworzyć następną przygodę lub zwizualizować swoje ostatnie osiągnięcie.",
|
||||
"data_visualization": "Prezentacja danych",
|
||||
"data_visualization_description": "Interaktywny profil ukształtowania terenu wraz ze szczegółowymi danymi statystycznymi, służącymi do analizy odbytych wycieczek i przyszłych aktywności.",
|
||||
"identity": "Darmowa, wolna od reklam i w duchu open-source",
|
||||
"identity_description": "Ta strona jest darmowa w użyciu, bez reklam, a kod źródłowy jest publicznie dostępny na platformie GitHub. Jest to możliwe tylko dzięki niesamowitemu wsparciu społeczności."
|
||||
},
|
||||
"docs": {
|
||||
"translate": "Improve the translation on Crowdin",
|
||||
"answer_not_found": "Did not find what you were looking for?",
|
||||
"ask_on_reddit": "Ask the community on Reddit",
|
||||
"translate": "Ulepsz tłumaczenie na Crowdin",
|
||||
"answer_not_found": "Nie znalazłeś tego, czego szukałeś?",
|
||||
"ask_on_reddit": "Zapytaj społeczność na Reddit",
|
||||
"search": {
|
||||
"search": "Search",
|
||||
"clear": "Clear",
|
||||
"search": "Szukaj",
|
||||
"clear": "Wyczyść",
|
||||
"cancel": "Anuluj",
|
||||
"recent": "Recent searches",
|
||||
"no_recent": "No recent searches",
|
||||
"save": "Save this search",
|
||||
"remove": "Remove this search from history",
|
||||
"favorites": "Favorites",
|
||||
"remove_favorite": "Remove this search from favorites",
|
||||
"to_select": "to select",
|
||||
"recent": "Ostatnie wyszukiwania",
|
||||
"no_recent": "Brak ostatnich wyszukiwań",
|
||||
"save": "Zapisz w historii wyszukiwań",
|
||||
"remove": "Usuń to z historii wyszukiwań",
|
||||
"favorites": "Ulubione",
|
||||
"remove_favorite": "Usuń to wyszukiwanie z ulubionych",
|
||||
"to_select": "",
|
||||
"to_navigate": "to navigate",
|
||||
"to_close": "to close",
|
||||
"no_results": "No results for",
|
||||
"no_results_suggestion": "Try searching for"
|
||||
"no_results": "Brak wyników dla",
|
||||
"no_results_suggestion": "Spróbuj wyszukać"
|
||||
}
|
||||
},
|
||||
"embedding": {
|
||||
"title": "Create your own map",
|
||||
"mapbox_token": "Mapbox access token",
|
||||
"title": "Utwórz własną mapę",
|
||||
"mapbox_token": "Token dostępu do Mapbox",
|
||||
"file_urls": "Adres URL do pliku (rozdzielonego przecinkami)",
|
||||
"drive_ids": "ID pliku na Google Drive (rozdzielonego przecinkami)",
|
||||
"basemap": "Mapa bazowa",
|
||||
"height": "Height",
|
||||
"height": "Wysokość",
|
||||
"fill_by": "Wypełnij przez",
|
||||
"none": "Brak",
|
||||
"show_controls": "Pokazuj przyciski",
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
"elevation_profile": "Yükseklik profili",
|
||||
"tree_file_view": "Dosyalar",
|
||||
"switch_basemap": "Switch to previous basemap",
|
||||
"toggle_overlays": "Toggle overlays",
|
||||
"toggle_overlays": "Katmanları Aç/Kapa",
|
||||
"toggle_3d": "3B'yi aç/kapat",
|
||||
"settings": "Ayarlar",
|
||||
"distance_units": "Mesafe birimleri",
|
||||
@ -45,7 +45,7 @@
|
||||
"velocity_units": "Velocity units",
|
||||
"temperature_units": "Sıcaklık birimleri",
|
||||
"celsius": "Santigrat",
|
||||
"fahrenheit": "Fahrenheit",
|
||||
"fahrenheit": "Fahrenayt",
|
||||
"language": "Dil",
|
||||
"mode": "Tema",
|
||||
"system": "Sistem",
|
||||
@ -80,7 +80,7 @@
|
||||
"unhide": "Göster",
|
||||
"center": "Orta",
|
||||
"open_in": "Uygulamada Aç",
|
||||
"copy_coordinates": "Copy coordinates"
|
||||
"copy_coordinates": "Koordinatları kopyala"
|
||||
},
|
||||
"toolbar": {
|
||||
"routing": {
|
||||
@ -106,22 +106,22 @@
|
||||
"help": "Yeni bir istasyon noktası eklemek için haritaya tıklayın veya mevcut olanları sürükleyerek güzergahı değiştirin.",
|
||||
"activities": {
|
||||
"bike": "Bisiklet",
|
||||
"racing_bike": "Road bike",
|
||||
"racing_bike": "Yol Bisikleti",
|
||||
"gravel_bike": "Gravel bike",
|
||||
"mountain_bike": "Mountain bike",
|
||||
"foot": "Run/hike",
|
||||
"motorcycle": "Motorcycle",
|
||||
"mountain_bike": "Dağ bisikleti",
|
||||
"foot": "Koşu/yürüyüş",
|
||||
"motorcycle": "Motosiklet",
|
||||
"water": "Su",
|
||||
"railway": "Tren yolu"
|
||||
},
|
||||
"surface": {
|
||||
"unknown": "Bilinmiyor",
|
||||
"paved": "Paved",
|
||||
"unpaved": "Unpaved",
|
||||
"paved": "Asfaltlı",
|
||||
"unpaved": "Asfaltsız",
|
||||
"asphalt": "Asfalt",
|
||||
"concrete": "Concrete",
|
||||
"cobblestone": "Cobblestone",
|
||||
"paving_stones": "Paving stones",
|
||||
"concrete": "Beton",
|
||||
"cobblestone": "Mıcır",
|
||||
"paving_stones": "Döşeli Taş",
|
||||
"sett": "Sett",
|
||||
"metal": "Metal",
|
||||
"wood": "Odun",
|
||||
@ -130,22 +130,22 @@
|
||||
"gravel": "Çakıl",
|
||||
"pebblestone": "Çakıl taşı",
|
||||
"rock": "Kaya",
|
||||
"dirt": "Dirt",
|
||||
"dirt": "Toprak",
|
||||
"ground": "Toprak zemin",
|
||||
"earth": "Kara",
|
||||
"mud": "Mud",
|
||||
"sand": "Sand",
|
||||
"mud": "Çamur",
|
||||
"sand": "Kum",
|
||||
"grass": "Çimen",
|
||||
"grass_paver": "Grass paver",
|
||||
"clay": "Clay",
|
||||
"clay": "Kil",
|
||||
"stone": "Taş"
|
||||
},
|
||||
"highway": {
|
||||
"unknown": "Bilinmiyor",
|
||||
"motorway": "Otoyol",
|
||||
"motorway_link": "Highway link",
|
||||
"trunk": "Primary road",
|
||||
"trunk_link": "Primary road link",
|
||||
"motorway_link": "Anayol bağlantısı",
|
||||
"trunk": "Ana yol",
|
||||
"trunk_link": "Ana yol bağlantısı",
|
||||
"primary": "Ana yol",
|
||||
"primary_link": "Ana yol bağlantısı",
|
||||
"secondary": "İkincil yol",
|
||||
@ -156,32 +156,32 @@
|
||||
"residential": "Residential road",
|
||||
"living_street": "Living street",
|
||||
"service": "Service road",
|
||||
"track": "Track",
|
||||
"track": "Pist",
|
||||
"footway": "Footway",
|
||||
"path": "Path",
|
||||
"pedestrian": "Yaya",
|
||||
"cycleway": "Cycleway",
|
||||
"steps": "Adımlar",
|
||||
"road": "Yol",
|
||||
"bridleway": "Horseriding path",
|
||||
"bridleway": "Manej (At yolu)",
|
||||
"platform": "Platform",
|
||||
"raceway": "Racing circuit",
|
||||
"raceway": "Yarış pisti",
|
||||
"rest_area": "Dinlenme alanı",
|
||||
"abandoned": "Terk edilmiş",
|
||||
"services": "Hizmetler",
|
||||
"corridor": "Corridor",
|
||||
"corridor": "Koridor",
|
||||
"bus_stop": "Otobüs durağı",
|
||||
"busway": "Busway",
|
||||
"elevator": "Asansör",
|
||||
"via_ferrata": "Via ferrata",
|
||||
"proposed": "Road to be built",
|
||||
"construction": "Road under construction"
|
||||
"via_ferrata": "Via Ferrata",
|
||||
"proposed": "Yol yapılacak",
|
||||
"construction": "Yol bakımda"
|
||||
},
|
||||
"sac_scale": {
|
||||
"hiking": "Yürüyüş",
|
||||
"mountain_hiking": "Dağ yürüyüşü",
|
||||
"demanding_mountain_hiking": "Demanding mountain hiking",
|
||||
"alpine_hiking": "Alpine hiking",
|
||||
"alpine_hiking": "Alpin yürüyüş",
|
||||
"demanding_alpine_hiking": "Demanding alpine hiking",
|
||||
"difficult_alpine_hiking": "Difficult alpine hiking"
|
||||
},
|
||||
|
||||
@ -25,6 +25,6 @@ export async function load({ params }) {
|
||||
}
|
||||
|
||||
return {
|
||||
guideTitles
|
||||
guideTitles,
|
||||
};
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user